2012年9月二级C笔试密押试卷_第1页
2012年9月二级C笔试密押试卷_第2页
2012年9月二级C笔试密押试卷_第3页
2012年9月二级C笔试密押试卷_第4页
2012年9月二级C笔试密押试卷_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2012 年 9 月二级 C 笔试密押试卷一、选择题(1)(10)、(20)(40)每题 2 分,(11)(20)每题 1 分,共 70分)在下列各题的 A)、B、C、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)以下叙述中错误的是( )。A) 算法正确的程序对于相同的输入一定有相同的结果B) 算法正确的程序可以没有输入C) 算法正确的程序可以没有输出D) 算法正确的程序最终一定会结束(1)C【解析】一个有效的算法程序必须有一个或一个以上的输出。(2)以下叙述中正确的是( )。A) 树与二叉树是线性结构B)栈与线性链表是非线性结构C) 队列是

2、非线性结构D) 线性表是线性结构(2)D【解析】线性表是一个线性结构。数据元素在线性表中的位置只取决于它们自己的序号。栈是限定在一端进行插入与删除的线性表。队列是指允许在一端进行插入、而在另一端进行删除的线性表。链式存储方式既可用于表示线性结构,也可用于表示非线性结构。树是一种简单的非线性结构。(3)下列叙述中错误的是( )。A)冒泡排序属于交换类排序B)快速排序属于选择类排序C)堆排序属于选择类排序D) 希尔排序属于插入排序(3)B【解析】冒泡排序和快速排序都属于交换类排序,堆排序属于选择类排序,希尔排序的基本思想是把记录按下标的一定增量分组,对每组记录使用插入排序,随增量的逐渐减小,所分成

3、的组包含的记录越来越多,到增量的值减小到1时,整个数据合成一组,构成一组有序记录,故其属于插入排序方法。所以答案应为B。(4)对象实现了数据和操作的结合,是指对数据和数据的操作进行( )。A)组合B)隐藏C)集成D) 封装(4)D【解析】对象是由数据及可以对这些数据施加的操作组成的统一体。对象的内部,即处理能力的实行和内部状态,对外是看不见的,这一特性称作对象的封装。(5)软件生命周期中花费时间最多的阶段是( )。A) 软件维护阶段B)软件编码阶段C)软件开发阶段D)软件定义阶段(5)A【解析】软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于

4、软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。(6)在数据流图中,(椭圆)代表( )。A)源点B)结束C)数据流D)加工(6)D【解析】数据流图主要图符元素有: 加工,用圆或椭圆表示,输入数据经过加工变换产生输出。 数据流,用箭头表示,沿箭头方向传送数据的通道。 存储文件,用双杠表示,处理过程中存放各种数据文件。 源、潭,用方框表示,系统和环境接口。(7)使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。A)程序的外部逻辑B)程序的复杂结构C)使用使用说明书D)程序的内部逻辑(7

5、)D【解析】白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。(8)在数据库系统中,用户所见数据模式为( )。A)逻辑模式B)存储模式C)内模式D)外模式(8)D【解析】 数据库管理系统的三级模式结构由外模式、模式和内模式组成。 外模式,或子模式,或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的一部分。内模式,或存储模式,或物理模式,是指

6、数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方式的描述。故本题答案为 D。(9)最常用的一种基本数据模型是关系数据模型,它的表示应采用( )。A)树状图B)网络格式C) 二维表D) 图表结构(9)C【解析】关系数据模型用统一的二维表结构表示实体及实体之间的联系(即关系)。(10)有三个关系 R、S 和T 如下:bCDa0k1b1n1SBCDf3h2a0k1n2x1s TBCDaoK1由关系 R 和S 通过运算得到关系 T,则所使用的运算为( )。A)合并B)交C)广义笛卡尔积D)连接(10)B【解析】关系 R 与 S 的并为由属于 R 或属于 S 的元组构成的集合组合;关系

7、R 与 S 的笛卡尔积是一个 6 元关系,元素的个数是 23=6,由 R 与 S 的有序组组合而成;自然连接是连接的一个特例,要求两个关系有公共域,通过公共域的相等值进行连接。(11)以下叙述中正确的是()。 A)在C语言中,预处理命令行都以#开头B)预处理命令行必须放在C源程序的第一行C)每个C程序必须在开头包含预处理命令行:#includeD)C语言的预处理不能实现条件编译的功能(11)A【解析】本题考查的是预处理命令。 选项B正确,原因是这部分语句与C程序其他部分的语句是有区别的,所以在每个预处理语句之前都有一个#符号以示区别。C提供三种预处理语句:(1)宏替换,(2)文件包含,(3)条

8、件编译。如果一个文件中要引用另外一个文件时才需要在开头包含预处理命令行:#include。 故本题答案为A。(12)下列定义变量的语句中错误的是()。A)inti;B)double int_;C)chara;D)float cup$;(12)D【解析】 本题考查的是C数据类型及其定义。 C语言中用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符,C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。选项D中含有$,故不符合标识符的定义。 故本题答案为D。(13)以下正确的字符串常量是()。A)B)opqrstC)thank you

9、D)abc(13)D【解析】本题的考查点是字符串常量。 字符串常量是由一对双引号括起的字符序列。例如:CHINA, program,C$12.5 等都是合法的字符串常量。选项 A 中双引号内使用了两个转义符,即后一个双引号也作为字符串的内容了,故此字符串中还缺少用于表示字符串结束的引号,所以选项 A 的表示法错误;选项 B、C 均没有用双引号括起来,所以并不是字符串;选项 D 是正确的表示法。 故本题答案为 D。(14)设有语句 char a=010;,则变量 a( )。A)包含 1 个字符B)包含 2 个字符C)包含 3 个字符D)该语句不正确(14)A【解析】本题考查的是字符型数据。 01

10、0表示的是 ASCII 码等于 10 的那个字符,所以在字符变量中存储的只是一个字符。故本题答案为 A。(15)已有定义:char c;,程序前面已在命令中包含 ctype.h 文件。不能用于判断 c 中的字符是否为大写字母的表达式是( )。A)isupper(c)B)A=c=ZC)A=c&c=ZD)c=(z-32)&(a-32)5) printf(%dn,x); else printf(%dn,x-); 则输出是( )。A)3B)4C)5D)6(19)C【解析】本题的考查点是 if 条件的判断。 根据 C 语言的语法,x+是在使用 x 之后,再将 x 的值加 1,在 if 语句中,x 的值为

11、 4,条件不成立,执行 else 后面的语句,因为 x 的值已经加 1,为 5,所以打印结果为 5。 故本题答案为 C。(20)有如下程序:main()int x=12,y; if(x0) y=0; else if(x10)y=1/x; else y=1; printf(%dn,y);该程序输出结果是( )。A)6B)12C)0D)1(20)D【解析】 本题考查的是 ifelse 语句的使用。x=12,符合第三个 if 语句的条件,所以执行 y=1 语句。 本题答案为 D。(21)下面程序的输出是()。main( ) char *s=; int i1=0,i2=0,i3=0,i4=0,k; f

12、or (k=0;sk;k+) switch(sk) default:i4+; case1:i1+; case3:i3+; case2:i2+; printf(i1=%d,i2=%d,i3=%d,i4=%dn,i1,i2,i3,i4);A)i1=4,i2=3,i3=2,i4=1B)i1=4,i2=2,i3=1,i4=3C)i1=5,i2=8,i3=6,i4=1D)i1=2,i2=3,i3=1,i4=6(21)C【解析】本题的考查点是 switch()语句。 当 switch 后面括弧内的表达式的值与某一个 case 后面的常量的表达式的值相等时,就执行此 case 后面的语句,若所有的 case

13、 中的常量表达式的值都没有与表达式的值匹配的,就执行 default 后面的语句。本题中,for 循环的条件是 s 数组的数组元素值,只要将数组的值一一带入程序逐步求解即可。 本题答案为 C。(22)以下程序的输出结果是()。 main() int i=4; while(i-)printf(%d,-i); A)4 2B)2 0C)4 3 2D)3 2 0(22)B【解析】本题的考查点是 while 语句的判断。 i-是先使用后运算,-i 是先运算后使用。i=4 时,执行 i-后,i 变为 3,执行-i后,i 变为 2,所以,第一次输出时,i 为 2;同上过程,第二次输出时,i 为 0。 故本题

14、答案为 B。(23)下面函数 : int fun1(char*x) char *y=x; while(*y+); return(y-x-1); 的功能是( )。A)求字符串的长度B)字符串的比较C)字符串的复制D)字符串的连接(23)A【解析】本题的考查点是 while()循环语句。这个函数的功能是求字符串的长度,需要注意的是,在返回长度时一定记住要减一,否则计算出的串长度将会多一。故本题答案是 A。(24)若变量已正确定义,有以下程序段:i=0;do printf(%d, ,i); while(i+);printf(%dn,i);其输出结果是()。A)1,1B)2,1C)0,1D)程序进入无

15、限循环(24)C【解析】本题的考查点是 do.while 循环语句。 本题先执行 do 后面的循环体,即输出 i 的值 0,然后判断 while 的表达式是否为真,由于i+是先判断 i 的值,再自身加 1,所以,while 表达式值为假,则退出循环,执行最后一个 printf 语句,输出此时的 i 的值 1。 故本题答案为 C。(25)下面程序 : int aa33=2,4,6; main() int i,*p=&aa00; for (i=0;i2;i+) if(i=0) aaii+1=*p+1; else +p; printf(%d,*p); 的输出是( )。A)30B)23C)25D)26

16、(25)B【解析】本题的考查点是 for 循环语句。 观察题目,可以发现,*p=&aa00语句实际是将数组 aa 的首地址赋给了指针变量 p,将 i 的值带入 for 循环中,i=0 时,aa01=3,*p=2;i=1 时,执行+p 语句,*p=3。 故本题答案为 B。(26)下面程序: main() int x=100, a=6, b=8, i=5, j=0; if(ab) if(b!=15) if(!i) x=1; else if(j) x=10; x=7; printf(%dn,x); 的输出是( )。A)7B)0C)10D)无返回值(26)A【解析】本题的考查点是判断语句的循环嵌套。

17、第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断.如此循环,再打印输出语句的前一行,程序给变量 x 赋了值,为 7,所以,无论前期如何变化,最后的 x 值依然为 7。 故本题答案为 A。(27)若有以下说明:int a12= 8,9,10,11,12;则值为 9 的表达式是( )。A)a4B)a3C)a2D)a1(27)D【解析】本题的考查点是数组元素的引用。数值为 9 实际上就是 a1, 故本题答案为 D。(28)不能把字符串:GOOD!赋给数组 b 的语句是()。A)char b10=G,O,O,D, !;B)char b10=g,o,o,d, !;C)char b10

18、;strcpy(b,GOOD!);D)char b10=GOOD!;(28)B【解析】本题的考查点是给数组赋值。 在 C 语言中,大写字母和小写字母被认为是两个不同的字符,因此,GOOD!和good!是两个不同的字符串。 故本题答案为 B。(29)以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出请将程序补充完整( )。main() int x10,a9,i; for(i=0;i10;i+) scanf(%d,&xi); for( _; i10;i+) ai-1=xi+xi-1 ; for(i=0;i9;i+ ) printf(%d,ai ) ; printf(n )

19、;A)i=0B)i=1C)i=i+1D)i= i-1(29)B【解析】本题考查的是一维字符数组的引用。本题中变量i表示数组的下标,外循环i首先赋初值0,根据题目的要求是求依次相邻两个元素的和,所以应该填i=1。(30)有以下程序:#include void fun(char *t, char *s)while(*t!=0) t+; while(t+=*s+)!=0);main()char ss10= acc,aa10= bbxxyy; fun(ss,aa);printf(%s,%sn,ss,aa);程序的运行结果是( )。A)accxyy,bbxxyyB)acc,bbxxyyC)accxxyy

20、,bbxxyyD)accbbxxyy,bbxxyy(30)D【解析】本题考查的是数组对字符串的引用。 本题 fun 函数中第一个 while 循环是找到字符串 t 的结束字符,第二个 while 循环的功能是将字符串 s 中的各字符依次存入到字符串 t 的尾部,由于数组 ss 与指针变量t 指向同一存储单元,所以输出的 ss 的字符串为accbbxxyy,字符串 aa 的内容不变,即bbxxyy。 故本题答案为 D。(31)设有以下语句:char str1=string,str25,*str3 =string,*str4; 则下列选项中,( )不是对库函数 strcpy 的正确调用,此库函数用

21、来复制字符串。A)strcpy(str1,GOOD1);B)strcpy(str2,GOOD2);C)strcpy(str3,GOOD 3);D)strcpy(str4,GOOD 4);(31)D【解析】本题的考查点是 strcpy()函数的应用。观察程序可以发现,除了 str4 其他的字符数组或字符指针都在声明时分配了内存空间,使用没有分配内存的指针是十分危险的,所以在给 str4 赋值之前必须为它分配内存,选项 D 中在没有为 str4 分配内存的情况下为其赋值必然是不正确。故本题答案为 D。(32)指针 s 所指字符串的长度为()。char*s=t8china ;A)10B)9C)8D)

22、以上选项均不正确(32)C【解析】本题的考查点是字符串长度的计算。 观察题目,t 表示的一个 TAB,长度为 1,8 表示的一个字符长度为 1,china的长度为 5,代表的是一个符,长度为 1,所以整个字符串的长度应当为 1+1+5+1=8。 故本题答案为 C。(33)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。A)函数的实参和形参占同一存储单元B)形参只是形式上的存在,不占存储单元C)函数的形参和实参分别占用不同的存储单元D)名称相同的实参和形参占同一存储单元(33)C【解析】本题的考查点是函数形参和实参。 在内存中,实参单元与形参单元是不同的单元。形参变量只有

23、在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。 故本题答案为 C。(34)下面程序:void prtv(int *x) printf(%dn,+*x); main() int a=20; prtv(&a); 的输出是( )。A)21B)22C)20D)25(34)A【解析】本题的考查点是指针变量作为函数参数。 观察程序,可

24、以发现,函数 prtv()的作用是将地址等于 x 的内存单元中值加 1,因为我们在主函数中是将变量 a 的地址作为实参传递给了 prtv()函数,所以,函数 prtv()将地址等于变量 a 的地址的那个内存单元中的值加 1,打印结果自然就是 20+1=21 了。 故本题答案为 A。(35)设有以下语句,其中对数组元素 a 不正确的引用是:()(其中 0i10) int a5= 5,6,7,8,9,*p=a;A)ap-aB)*(&ai)C)piD)*(*(a+i)(35)D【解析】本题的考查点是通过指针引用数组元素,观察程序可知,a 实际上就是数组 a 的首地址,所以*(a+i)表示的就是数组

25、a 中的第 i 个元素的值,进而我们可以知道 *(*(a+i)必然不是对 a 数组元素的正确引用。故本题答案为 D。(36)下面程序的输出是()。 char s=ABCD; main() char *p; for(p=s;ps+4;p+) printf(%sn,*p); ABCDAD ABCD BCDBCABC CDCBAB DDAAA)B)C)D)(36)A【解析】本题的考查点是指向字符串的指针变量。 在 for 循环语句中,指针 p 已经指向数组 s 的第一个元素,当 p+时,p 将指向数组的下一个元素,依此原理,屏幕的输出即为。 故本题答案为 A。(37)设有说明 int(*p)i;,其

26、中的标识符 p 是(A)i 个指向变量的指针B)指向 i 个整型变量的函数指针C)具有 i 个指针元素的一维指针数组,每个元素都只能指向整型变量D)一个指向具有 i 个整型元素的一维数组的指针(37)D【解析】本题的考查点是指针数组的应用。 根据 C 语言的语法规定可知,int(*p)i中的标识符 p 是一个指向具有 i 个整型元素的一维数组的指针。 故本题答案为 D。(38)若程序中有宏定义行:#define S 100 则以下叙述中正确的是( )。A)宏定义行中定义了标识符 S 的值为整数 100B)对 C 源程序进行编译时用 100 替换标识符 SC)在编译程序对 C 源程序进行预处理时

27、用 100 替换标识符 SD)在运行时用 100 替换标识符 S(38)C【解析】本题的考查点是宏定义。 无参宏的宏名后不带参数。其定义的一般形式为:#define 标识符 字符串 其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。例如:#define S100 它的作用是指定标识符 S 来代替常数 100。在编写源程序时,所有的 100 都可由 S 代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用 100 去置换所有的宏名 S,然后再进行编译。 故本题答案为 C。(3

28、9)若程序中有以下的说明和定义()。struct student char a;char b; int c;struct student s1,s2;则会发生的情况是:A)编译时出现错误B)程序将顺序编译、连接、执行C)能顺利的进行编译D)能顺序通过编译、连接,执行时出错(39)A【解析】 本题的考查点是结构体变量的定义。 按题目给出的定义编译时会出现以下错误:Too many type in declaration infuncitonmain,是因为右花括号后面缺少了一个分号。 故本题答案为 A。(40)有如下定义: struct personchar name9; int age; st

29、ruct person class10 = John,17, Paul,19, Mary,18, Adam,16,;根据上述定义,能输出字母M的语句是()。 A)printf(%cn,0);B)printf(%cn,1);C)printf(%cn,1);D)printf(%cn,0);(40)D【解析】本题考查的是结构体数组的定义。本题定义了一个数组class,其元素为struct person类型数据,数组有10个元素,初始化了前4个元素,即class0到class4。由于数组下标是从0开始的,所以选项A

30、输出字母A;选项B输出字母d;选项C输出字母a;选项D输出字母M。 故本题答案为D。二、填空题 请将每个空的正确答案写在答题卡序号的横线上,答在试卷上不得分。(1)算法的基本特征是可行性、 、有穷性和拥有足够的情报。【1】(1)【1】确定性【解析】算法是指解题方案的准确而完整的描述。它有4个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。(2)设一棵完全二叉树共有1000个结点,则在该二叉树中有【2】个叶子结点。(2)【2】500【解析】所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。 具有n个结点的完全二叉树,其父结点数为int(100

31、0/2),而叶子结点数等于总结点数减去父结点数。本题n=1000,故父结点数等于int(1000/2)=500,叶子结点数等于1000-500=500。(3)数据模型按不同的应用层次分为三种类型,它们是概念数据模型、逻辑数据模型和【3】模型。(3)【3】物理数据【解析】数据模型按不同的应用层次分成三种类型,包括概念数据模型、逻辑数据模型、物理数据模型。概念模型主要有:E-R模型、扩充的E-R模型、面向对象模型及谓词模型等。逻辑数据模型主要有:层次模型、网状模型、关系模型、面向对象模型等。(4)RS 用基本的关系代数运算可以表示为【4】。(4)【4】R(RS)【解析】关系 R 与 S 经交运算后

32、所得到的关系是由那些既在 R 内又在 S 内的有序组所组成,记为 RS。交运算可由基本运算推导而得:RSR(RS)。(5)数据库的逻辑模型设计阶段的主要任务是将E-R图转换成【5】。(5)【5】关系模型【解析】数据库的逻辑设计的任务是将概念模型进一步转化成相应的数据模型。而E-R图是主要的概念模型,关系模型是目前使用最多的数据模型,因此数据库的逻辑设计主要工作是将E-R图转换成指定RDBMS中的关系模式。(6)设变量a和b已正确定义并赋初值。请写出与a-=a+b+c等价的赋值表达式【6】。(6)【6】a=-bc【解析】本题的考查点是赋值表达式的运用。a-=a+b+c相当于a=a-(a+b+c)

33、,去掉括号,即相当于a=-b-c.(7)下列程序运行时,若输入1abcedf2df 输出结果为【7】。#include main()char a=0,ch; while(ch=getchar()!=n) if(a%2!=0&(ch=a&ch=z) ch=ch-a+A; a+;putchar(ch); printf(n);(7)【7】1AbCeDf2dF【解析】本题的考查点是getchar()以及if语句的使用。 本题的执行过程是先从键盘上获得一个字符判断是不是换行符,如果不是则继续执行循环体,再判断字符变量a是否是偶数以及是否是小写字母,如果a不是偶数且输入的字符为小写字母则将其转换成大写字母

34、, 接着执行a+;语句,变量a自增1,输出字符,因此本题的输出结果为1AbCeDf2dF。(a相当于用来记录当前的顺序,即是第偶数个字符还是第奇数个字符) 字符位数:0 1 2 3 4 5 6 7 8 9 输入字符:1 a b c e d f 2 d f 输出字符:1 A b C e D f 2 d F(8)以下程序运行后的输出结果是【8】。#include main()int x=5; printf(%d ,0x5); printf(%dn,0x & x5);(8)【8】1 0【解析】本题的考查点是关系运算符。 由于同级的关系运算符是自左至右的结合方向,所以关系表达式0x5是先运算0x得 1

35、,再执行关系运算15,得 1。由于关系运算符的优先级高于逻辑运算符,所以表达式0x & x5是先运算0x得 1,再运算x5得 0,最后1&0得 0,所以最终输出 1 0。(9)请将以下程序中的函数声明语句补充完整。#include int 【9】;main()int x,y,(*p) (); scanf(%d%d,&x,&y); p=max; printf(%dn,(*p)(x,y);int max(int m,int n)return(mn?m:n);(9)【9】max(int m,int n)或max(int,int)或max(int x,int y)【解析】本题的考查点是函数定义的语法。

36、 在C语言中,除了主函数外,对于用户定义的函数遵循先定义,后使用的规则,若把函数定义放在调用之后,应该在调用之前对函数进行说明(或称为函数原型说明)。 函数的说明形式为: 类型名 函数名(参数类型1,参数类型2,) 本题是通过max()函数来求出a和b中较大的数,由于max()函数的位置在main()函数之后,想要在main()函数中调用max()函数,就必须先在main()函数之前对max()函数进行说明,因为当在所有函数外部、被调用之前说明函数时,在对函数进行说明的语句后面所有位置上都可以对该函数进行调用。由于声明的作用是把函数的名字、函数类型以及形参的类型、个数和顺序通知编译系统,以便在

37、调用该函数时系统按此进行对照检查,所以在函数声明中可以不写形参名,而只写形参类型,也可以写任意的参数名,因为编译系统不检查参数名。因此,在横线上应该填上被调函数的说明语句即max(int m,int n)或其等效形式。(10)有以下程序,程序执行后,输出结果是【10】 。#include void fun(int *a)a0=a1;main()int a10=10,9,8,7,6,5,4,3,2,1,i; for(i=2;i=0;i- ) fun(&ai); for(i=0;i10;i+) printf(%d,ai); printf(n);(10)【10】或【解析】本题主要考查函数的调用. 第一次调用把数组元素a2的地址赋给a,此时a1即是原数组的a3等于7,再执行赋值语句a0=a1,则a0和a1中的值都是7,然后再把这个值返回给a2;同样的第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即a0、a1、a2和a3的值都为7,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论