C语言练习题答案_第1页
C语言练习题答案_第2页
C语言练习题答案_第3页
C语言练习题答案_第4页
C语言练习题答案_第5页
已阅读5页,还剩74页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、WOR格式福建省咼等学校计算机等级考试C语言)选择题试题库(二级答 试题左I案1. 在C语言源程序中,以下叙述正确的是)。(A.main函数必须位于文件的开头CB.每行只能写一条语句C. 程序中的一个语句可以写成多行D. 每个语句的最后必须有点号2. 关于C语言的源程序的叙述中,错误的是()。CB.main函数可以书写在自定义函数之后C.必须包含有输入语句D. 一行可以书写多个语句3. 关于C语言数据类型的叙述,正确的是()。A. 枚举类型不是基本类型CB.数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4. C程序中main函数的位置()。A. 必须在最开始CB.必须在系统库

2、函数后面C. 可以在自定义函数后面D. 必须在最后5. C语言的函数体由()括起来。B B.C. D. /*/6. 关于C语言的叙述中,不正确的是()。D.注释说明只能位于一条语句的后面7. 以下叙述不正确的是()。A. C程序的执行总是从 main函数开始D B. 一个C源程序必须包含一个main函数C. C语言程序的基本组成单位是函数D. 在编译C程序源程序时,可发现注释中的拼写错误8. 结构化程序设计的三种基本结构是()。A.函数结构、分支结构、判断结构CB.函数结构、嵌套结构、平行结构C.顺序结构、分支结构、循环结构|D.分支结构、循环结构、嵌套结构C 9.对于C语言源程序,以下叙述错

3、误的是()A. 可以有空语句B. 函数之间是平等的,在一个函数内部不能定义其它函数C. 程序调试时如果没有提示错误,就能得到正确结果10.D. 注释可以出现在语句的前面FC语言用户标识符的描述,正确的是()。A. 不区分大小写DB.用户标识符不能描述常量C. 类型名也是用户标识符D. 用户标识符可以作为变量名11. 以下()是正确的变量名。D B.ifC. f.5D. _f512. 以下()是正确的常量。D B.1E5.1C.'a12'D.32766L13. 以下()是正确的变量名。DB.-p11C. int=D. p_1114. 以下()是正确的字符常量。单引号括起来C B.

4、'''C. 'W'D. "32a"15. 以下()是不正确的字符串常量。双引号括起来2"C."0HD.""16.以下()是错误的整型常量A.-OxcdfB/八进制数不能超过8B.018C.OxeD.011Be前面必须有数字,指数必须为整数A. 'abc'A. e3B. .62专业资料整理C. 2e4.5D. 12318. 若有说明语句:charc='95' 则变量c包含()个字符。A B.2xhh表示1到2位十六进制数所代表的字符C. 3D. 语法错误19. 若有

5、定义:inta=2;则正确的赋值表达式是()。A. a-=(a*3)A B.double(-a)(double)(-a)C. a*3D. a*4=3=20. 语句x=(a=3,b=+a);运行后,x、a、b的值依次为()。A. 3,3,4/逗号运算符及逗号表达式CB. 4,4,3C. 4,4,4D. 3,4,321. 语句a=(3/4)+3%2;运行后,a的值为()。A.0B B.1/注意除号/两边均为整型时,结果为整数(不含小数点)C. 2=D. 322. char型变量存放的是()。/考查变量类型A.ASCII代码值AB.字符本身C. 十进制代码值D. 十六进制代码值23. 若有定义:in

6、tx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()。C B.4,4C. 4,3D. 3,424. 若有定义:inta;则语句a=(3*4)+2%3;运行后,a的值为()。A.12B B.14C. 11D. 17)25. 若有定义:inta,b;doublex ,则以下不符合C语言语法的表达式是(。A.x%(-3)/%两侧均应为整型数据A B.a+=-2C. a=b=2D. x=a+b=26. 若有定义:intx=2,y=3;floati; ,则以下符)B 合C语言语法的表达式是(。A.x=x*3=2x*3 不是一个变量名B. x=(y=1)C. i=float(x) 应改为

7、i=(float)xD. i%(-3)/%两侧均应为整型数据27. 设double型变量a,b,c,e 均有值;对代数式(3ae)/(bc),不正确的C语言表达式是()A. a/b/c*e*3B. 3*a*e/b/C c沢c.3*a*e/b*改为c/ 3*a*e/b/cD.a*e/c/b*328. 下面叙述正确的是()。A. 2/3 与2.0/3.0等价B. (int)2.0B /3与2/3等价C. +5与6等价 /单独写+5是错误的,可以写成 a=+5D. 'A'与"A"等价29. 下面叙述中,错误的是()。A.其算术运算对象不包含函数AB.%(模运算符)

8、的运算对象只能为整型量C. 算术运算符的结合方向是"自左至右"D. 自加和自减运算符的结合方向是"自右至左"30. 下面叙述正确的是()。/+-只能用于变量,而不能用于常量或表达式A.强制类型转换运算的优先级高于算术运算A B.若a和b是整型变量,(a+b)+是合法的C. 'A'*'B'是不合法的D. "A"+"B"是合法的31. 若有定义:intk,i=2,j=4;则表达式k=(+i)*(j-) 的值是()。A.8B B.12/注意前缀后缀的区别C. 6D. 932 -设整型变量=

9、a为5,使b不为2的表达式是()。A. b=(+a)/3CB.b=6-(-a)C. b=a%2/ 结果为 1D. b=a/233. 若有定义:inta=1,b=2,c=3; 则语句+a|+b&&+c;运行后b的值为()。A.1C B.0C. 2/注意运算的不完全性D. 3若有定义:inti,j; 则表达式'34. (i=2,j=5,i+,i+j+)的值是()。A.7B. 8C. 9D. 1035. 若有定义:inta,b;则表达式(a=2,b=5,a*2,b+,a+b) 的值是()。A.7B B.8C. 9D. 1036. 若有定义:intm=5,n=3;则表达式(m+

10、1,n+1,(-m)+(n-) 的值是()。A.6B B.7C. 8D. 9已知inta;使用scanf()函数输入一个整数给变)37. 量a,正确的函数调用是(。A.scanf("%d",a);B B.scanf("%d",&a);C. scanf("%f", &a);D. scanf("%lf",&a);已知doublea;使用scanf()函数输入一个数值给变38. 量a,正确的函数调用是(。A.scanf("%ld", &a);D B.scanf(&quo

11、t;%d",&a);C. scanf("%7.2f",&a);输入数据时不能规定精度D. scanf("%lf",&a);已知chara;使用scanf()函数输入一个字符给变 a,不正确的函数调用是)39. 量(。B B.scanf("%lf",&a);/字符型变量与整型等价,但不与浮点型等价.scanf( %c ,&a);D. scanf("%,&a);40. putchar()函数的功能是向终端输出()。char*strO;?.;puts(strO);A.多个字

12、符B B. 一个字符C. 一个实型变量值D. 一个整型变量表达式41. getchar()函数的功能是从终端输入()。A. 一个整型变量值D B. 一个实型变量值C. 多个字符D. 一个字符42. 若有定义:intx=1234,y=123,z=12;则语句 printf("%4d+%3d+%2d",x,y,z); 运行后的输出结果为()。A. 123412312DB. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1243. 已有如下定义和输入语句,Ainta;charc1,c2;scanf("

13、%d%c%c", &a,& c1, &c2);若要求a、c1、c2的值分别为A.10AB/输入数据时,遇空格、回车、B.1OAB44.已有如下定义和输入语句:inta,b;scanf("%d,%d", &a,&b);若要 a、b的值分别 求 为A.1020B.10,20C.a=10,b=20D.10;2010、A和B,正确的数据输入是()。TAB及非法输入或按规定的宽度结束/ “格式控制”字符串中除了格式说明还有其他字符,则输入 /时应在相应位置输入 10和20,正确的数据输入是(45.以下程序的运行结果是(voidmain

14、()inta=65;charc='A'printf("%x,%d",a,c);A. 65,aB. 41,aC. 65,65D. 41,6546. 下面叙述中,()不是结构化程序设计中的三种基本结构之一。A. 数据结构B. 选择结构C. 循环结构D. 顺序结构47. 下面叙述中,()不是结构化程序设计三种基本结构的共同特点。A. 先判断后执行B. 单入口,单出口C. 程序中没有执行不到的语句D. 无死循环48. 结构化程序设计不包括(A.最优化B. 自顶而下,逐步细化C. 模块化设计D. 结构化编码49.以下运算符中优先级最高的是(A.>B. |C. &

15、amp;&/初等运算符()D.+若有定50.义:intx=3,y=4;A.1B.OC. 3D. 4单目算术关系逻辑(不含!)赋值逗号则表达式!x|y 的值为()。51.若有定义:inti=7,j=8;则表达式i >=j|i<j 的值为(A.1B.变量i的值C. 0D.变量j的值52.若希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假"° 则不能满足要求的表达式是()°A.a%2=1B. !(a%2=0)C. !(a%2)D.a%253.若有定义:intx=3,y=4,z=5; 则值为0的表

16、达式是(A.'x'&&'y'B.xv=yC. x|y+z&&y-zD. !(x<y)&& !z|1) /考查运算符优先级54.若有定义:inta=5,b=2,c=1;(A.0B.1C.2D.-1则表达式a-b<c|b=c 的值是55.已知doublea=5.2;-则正确的赋值表达式是(A. a+=a-=(a=4)*(a=3)AB.a=a*3=2C.a%3D.a=double(-3)56.已知chara='R'则正确的赋值表达式是(A.a=(a+)%4B.a+2=3C.a+=256-D.a

17、='078'57.已知inta='R'则正确的表达式是()。A.a%10B. a=int(3e2)C. 2*a=a+D.a=a+a=a+3与C同属一类错误58.设单精度型变量f、g的值均为A. f+=gAB.f-=g+2C. f*=g-6D. f/=g*102.0,使f为4.0的表达式是()。B59.若有定义:floatx=3.5;intz=8;A. 3.75B. 3.5C. 3则表达式x+z%3/4的值为()。AD.4若有定60.义:inta=1,b=2,c=3,d=4,x=5,y=6;A. 0B. 1C. 5则表达式(x=a>b)&&(

18、y=c>d)的值为()。AD.6若有定义:61. inta=2,b=3;floatx=3.5,y=2.5;是()。(float)(a+b)/2=2.5A. 3.5B. 3.0则表达式(float)(a+b)/2+(int)x%(int)y的值CC. 2.5D. 2.062.若有定义:intb=7;floata=2.5,c=4.7;B.3.5则表达式a+(b/2*(int)(a+c)/2)%4的值是()。C. 4.5D. 5.563.若有定义:inta=6,b=2;charc仁'a',c2='b'则表达式 a+b%5+c2-c1(A.7的值是 )。CBB.

19、8C. 9D. 表达式错误64.以下的if语句中,x的值一定被重新赋值的是()。A. if(x=y)x+=y;B. if(x>y&&x!=y);/注意 if语句后的空语句;x+=y;C. if(x!=y)scanf("%d", &x);1 else-scanf("%d",& y);D. if(xvy)x+;y+;)配对B 65.C语言对if嵌套语句的规定:else总是与(A. 第一个ifB. 之前最近的且尚未配对的ifC. 缩进位置相同的ifD. 之前最近的if66.对于整型变量x,下述if语句()与赋值语句: x=

20、x%2=0?1:0;不等价。A. if(x%2!=0)x=0;elsex=1;B. if(x%2)x=1;elsex=0;C. if(x%2=0)x=1;elsex=0;D. if(x%2=1)x=0;elsex=1;67.若有定义:intx=1,y=2,z=4;则以下程序段运行后if(x>y)z=x+y;elsez=x-y;z的值为()。A.3B.-1C.4D.不确定a,b,c的值分别为)°68. 若有定义:inta=1,b=2,c=3;则执行以下程序段后if(a<b) c=a;a=b;b=c;A. a=1,b=2,c=3B. a=2,b=3,c=1C. a=2,b=3

21、,c=3D.a=2,b=1,c=169. 以下程序段运行后变量a的值为()。intx=6,y=5; inta;a=(-x=y+)?x:y+1;A. 0B. 1C.6)。/注意分支中有break的区无别D. 570. 以下程序的运行结果是(voidmain()intn='e'switch(n-)default:printf("error");case'a':case'b':printf("good");br eak;case'c':printf("pass");case&#

22、39;d':printf("warn");A. errorB. goodC. errorgoodD. warn71. 以下程序的运行结果是(voidmain()intn='c'switch(n+)default:printf("error");break;case'a':Ccase'b':printf("good");break;case'c':printf("pass");case'd':printf("warn&q

23、uot;);A. passB. warnC. passwarnD. error72. 以下程序的运行结果是(voidmain()intn=5;if(n+>=6)printf("%dn",n);elseDprintf("%dn",+n);A. 4B. 5C. 6不会出现死循环D. 773. 设有整型变量x,下述语句B B.for(;(x=getchar()!='n');C. whilex+;D. for(x=10;x-);等价的是()74. 对于整型变量 x,与while(!x)B. while(x=0)C. while(x!=1)D

24、. while(x)75. 对于整型变量x和y,语句for(x=0,y=0;(y!=123)&&(x<4);x+)y+;中的“ y+; ”被执行()。A. 4次B. 0次C. 123 次D. 3次76. 在c语言中while循环和do-while 循环的主要区别是()。break 语句continueA. do-while循环体内可以使用 break语句,while循环体内不能使用B. do-while的循环体至少无条件执行一次,while 的循环体不是语句C. do-while循环体内可以使用 continue 语句,while循环体内不能使用D. while的循环体至

25、少无条件执行一次,do-while的循环体不是77. 以下程序段运行后,循环体运行的次数为()。inti=10,x;for(;i<10;i+)x=x+i;A. 10B. 0C. 1 D. 无限78. 以下程序段运行后变量n的值为()。inti=1,n=1;for(;i<3;i+)continue;n=n+i;A. 4B. 3C. 2D. 179. 以下程序的运行结果是()。voidmain()intsum=0,item=0;while(item<5)item+;sum+=item;if(sum=5)break;printf("%dn",sum);=A. 1

26、0B. 15C. 5D. 680. 以下程序的运行结果是 (voidmain() intsum=0,item=0;while(item<5)item+;sum+=item;if(sum>=6)break;printf("%dn",sum);A. 10B. 15C. 6D. 781.以下程序的运行结果是 (voidmain() intsum=0,item=0;while(item<5)item+;if(item=2)continue;sum+=item;printf("%dn",sum);C. inta5=0;/inta5=0;A.10B

27、.13D. inta;必须指明数组大小83. 下列数组定义中,正确的是(C.15D.1 82.下列数组定义中,正确的是(A. inta5=0;B. inta=012;/in ta=0,1, 2;)°)° 注意元素与元素之间加逗号A. inta1O;AB. intn=1O,an; /下标必须是常量表达式C. intN=1O;intaN;D. intn;scanf("%d",&n);intan;84. 已知inta10; 则对a数组元素引用不正确的是()。A. a1010个元素的数组下标范围从0到9,故此题越界A B.a3+5C. a10-10/引用

28、数组元素时,下标可以是整型常量或整型表达式D. a585. 若有定义:inta3=0,1,2;贝U a1的值为()。A. 0B B.1C. 2D.386. 若有定则语句 a1=a3+a2+2-a3-a1的值义:inta5=1,2,3,4,5;1;运行后 为()。A. 6AB. 5!c.1D. 287. 以下能对一维数组a进行正确初始化的语句是()。A. inta5=(0,0,0,0,0);B. inta5=0;注意使用大括D 号C. inta5=1,2,3,4,5,6,7;多余 2 个D. inta=0;/定义一个只有一个元素的一维数组,指为088. 下面程序段的运行结果是()。inti=0,

29、a=3,4,5,4,3;doai+;while(a+i<5);D for(i=0;i<5;i+)printf("%d",ai);A. 45654B. 34543C. 45554D. 4554389. 下面程序段的运行结果是()。inti=0,a=7,5,7,3,8,3;doai+=2;while(a+i>5);Cfor(i=0;i<6;i+)printf("%d",ai);A. 9795105B. 9593103C.957383D.75738390. 下面程序段的运行结果是()。inti=0,a=1,2,3,4,5;doai+=1

30、0;while(a+i>2);A for(i=0;i<5;i+)printf("%d",ai);A. 112345B. 12345C. 1112131415D. 111234591. 设有如下程序段:inta33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i<3;i+)for(j=0;j<i;j+)Cs=s+aij;则执行该程序段后,s的值是()。A. 0B. 1C. 2D. 392. 有如下定义inta3=1,2,3,4,5,6,7,8;/ 考查二维数组的初始化则数组a的行数是()。B A.2B. 3C. 4D. 无法确定

31、的93. 以下数组定义中,正确的是()。A. inta23=1,2,3,4,5,6,7;/ 多余 1 个D B.inta=1,2,3,4,5,6,7,8,9;/ 第二维长度不能省C. inta2=1,2,3,4,5,6;D. inta4=6;的值为()94. 若有定义:inta34=1,2,0,1,2,3;则 a11A. 0A B.1,2C. 1D. 395. 若有定义:inta33;则表达式&a21-a 的值为()A. 7AB. 8C. 6&a21-a代表两者之间的元素个数,类似指向同种类型的指针相减D.996. 若有定义:inti=0,x=0;inta33=1,2,3,4,

32、5,6,7,8,9;则以下程序段运行后x 的值为()。for(;i<3;i+)x+=ai2-i;C A.0B. 12C. 15D. 1897. 若有定义inta23;则对数组元素的非法引用是( )。A. a01/2D B.a11C. a4-40D. a0398. 以下数组定义中,正确的是()。A. inta2=1,2,3,4,5;C B.inta2=0,;C. inta22=1,2,3;D. inta=1,2,3,4;99. 若有定义 inta3=1,2,3,4,5,6,7,8,9;则表达式 sizeof(a)/sizeof(a0)的值为()。A. 3DB. 4C. 5D. 9100.

33、设有以下变量定义:charstr1="string",str28,*str3,*str4="string"()是正确的。A A.strcpy(str1,"China");B. str2="China"C. strcpy(*str3,"China");D. strcpy(str40,"China");101. 有如下定义:charstr ='a','b','O','d','e','f;则语句

34、:printf("%s",str);D 的输出结果是()。A. abB. abdefC. ab0D. ab102. 设有如下数组定义:Ccharstr8="FuJian"则分配给数组str的存储空间是()个字节A. 6B. 7C. 8D. 9103. 若有定义:chara="abcdef:charb="xyz"则以下程序段运行后屏幕输出)。为(strcpy(a,b);B printf("%c",a2);A. cB. z' C0D.d104. 以下程序段运行后屏幕输出为()。chara="

35、abc0mis"Cprintf("%d",strlen(a);A. 5B. 8C. 3D. 4105. 若有定义:inta=2;则语句 a=strcmp("miss","miss"); 运行后 a 的值为()。A. 1/相等返回0,字符串1字符串2,返回一个正整数,否则返回负整数B B.0/strcmp(str1,str2)C. -1D. 2106. 以下程序段运行后屏幕输出为()。charstr="abcd"注意代表一个反斜杠字符printf("%d",strlen(str);B A

36、.4B. 5C. 6D. 7107. 以下程序段运行后屏幕输出为()。charstr80;strcpy(str,"hello");printf("%d",strlen(str);A. 5AB. 6C. 7D. 80108. 若有定义:charstr16="abcdm",*ps,*str2="abcdef:()是正确的。A. strcpy(str1,str2);B. 表达式 strcmp(str1,str2) 的值大于B 0C. str1=str2;的值为6D. 表达式 strlen(strl)109. 设有如下函数定义:Ai

37、ntfun(char*str)/返回字符串个数char*p=str; while(*p!='O')p+; return(p-str);则以下语句执行后的输出结果是)。(printf("%dn",fun("Student");A. 7B. 8C. 9 D. 10110. 以下程序的运行结果是()。intfun(intarray44)intj;for(j=0;j<4;j+)printf("%2d",arr ay2j);printf("n");main()Ainta44=0,1,2,0,1,0,0,

38、4,2,0,0,5,0,4,5,0; fun(a);A. 2005B. 1004C. 0120D. 0450111. 如下fun函数的类型是()。fun(floatx)doubley;intz;y=x*x;z=(int)y;C return(z);=A. voidB. doubleC. intD. float112. 以下程序运行后屏幕输出为)。(#include<stdio.h>intf(intx,inty)B return(x+y);main()inta=2,b=3,c;c=f(a,b);printf("%d+%d=%dn",a,b,c);A. 0B. 2+

39、3=5C. 2+3=0D. 3+2=5113. 以下程序运行后屏幕输出为()。/考查全局变量与局部变量的区别及范围#include<stdio.h>inta=2,b=3;intmax(inta,intb)intc;c=a>b?a:b;return(c);main()inta=4;printf("%d",max(a,b);A. 2,3B. 2C. 3D. 4114. 以下程序运行后屏幕输出为()。#include<stdio.h>voidf(inti)/两个函数中的a不一样inta=2;a=i+;printf("%d,",a)

40、; main()inta=1,c=3; f(c);a=c+; printf("%d",a);A. 4,3B. 3,3C. 4,5D. 3,5115. 若有如下函数定义:/注意静态变量的使用intfun()staticintk=O;return+k;以下程序段运行后屏幕输出为)。(Dinti;for(i=1;i<=5;i+)fu n();printf("%d",fun();A. 0B. 1C. 5D. 6)。116. 下面程序的输出结果是(#include<stdio.h>intglobal=100;fun()D intglobal=5;

41、return+global;voidmain()printf("%dn",fun();A. 100B. 101C. 5D. 6117. 下列关于C语言函数的描述中,正确的是()。A. 函数的定义可以嵌套,但函数的调用不可以嵌套B B.函数的定义不可以嵌套,但函数的调用可以嵌套C. 函数的定义和函数的调用都可以嵌套D. 函数的定义和函数的调用都不可以嵌套118. 若有以下宏定义,#defineMOD(x,y)x%y则执行以下程序段后,z的值是()。intz,a=15,b=100;D z=MOD(b,a);A. 100B. 15C. 11D. 10119. 以下叙述中,正确的是

42、()。A. “ #definePRICE=30 ”定义了与30等价的符号常量PRICEBB.预编译处理命令行都必须以“#开”头C. 宏名只能包含大写字母和数字字符/可以包括小写字母D. 在程序的一行上可以书写几个有效的宏定义120. 以下叙述中,正确的是()。A.宏展开不占用运行时间,只占用编译时间AB.预编译处理命令行必须以分号结束C. 一个源程序只能有一个预编译处理命令行D. 使用带参数的宏定义时,应该说明每个参数的数据类型121. 以下的叙述中不正确的是()。A.宏展开不占用运行时间,只占用编译时间C B.宏名无类型C. 宏名必须用大写字母表示D. 预处理命令行都必须以 #号开始122.

43、 若有定义:#definePI3,则表达式 PI*2*2的值为()A.12AB.4C. 3IJD.不确定123. 以下程序运行后,屏幕输出为()。#defineMIN(a,b)(a)v(b)?(a):(b)main()in tx=2,y=3,z;z=2*MIN(x,y);Cprintf("%d",z);A. 2B. 3C. 4D. 6124. 下面程序的输出结果是()。#include<stdio.h>#defineSQR(x)(x*x)voidmain()inta,b=3;A a=SQR(b+2);printf("n%d",a);A. 11

44、B. 25C. 不定值D. 产生错误125. 下面程序的输出结果是()。#include<stdio.h>#defineONE1#defineTWOONE+1#defineTHREETWO+1voidmain()C printf("%dn",THREE-O NE);A. 产生错误B. 1C. 2D. 3126. 以下叙述中正确的是( )°A. 预处理命令行必须位于C源程序的起始位置B B.在C语言中,预处理命令行都以"#"开头C. 每个C程序必须在开头包含预处理命令行:#include<stdio.h>D. C语言的预处

45、理不能实现宏定义和条件编译的功能0< i v127. 设有以下语句,则()是对a数组元素的不正确引用,其中10。inta10=0,1,2,3,4,5,6,7,8,9,*p=a;A. ap-aDB. *(&ai)C. piD. *(*(a+i)128. 对于基类型相同的两个指针变量之间,不能进行的运算是()°A. <C B.=C. +D. -129. 执行以下程序段的输出结果是(inta=10,*p=&a;printf("%d",+*p);B A.10B. 11C. 变量a的地址D. 变量a的地址+1130. 以下程序段运行后*(p+3)

46、的值为()°chara="good"char*p;p=a;AA. 'd'B. '0'C. 存放'd'的地址D. 'o'131.以下程序段运行后*(+p)的值为()chara5="work"char*p;p=a;A.'w'B.存放'w'的地址C.'o'D.存放'o'的地址132.若有定义:int*p,a=4;p=&a;则以下均代表地址的是(A.a,pB.&a,pC.&a,*pD.a,*p133.若

47、有说明语句:double*p,a;则能通过scanf语句正确给输入项读入数据的程 序段是()。A.*p=&a;scanf("%lf",p);B. *p=&a;scanf("%lf",*p);C. p=&a;scanf("%lf",*p);D.p=&a;scanf("%lf",p);134. 在16位编译系统上,若有定义inta=10,20,30,*p错误的是()。=&a;A. p向高地址移了一个字节B. p与a+1等价C. 语句 printf("%d",*

48、p);D. p指向数组元素a1135. 下面语句正确的是(A.int*p;*p=20;输出20B.char*s="abcdef"printf("%sn",s);数组名不能改变当执 p+;后下列叙述 行C. charstr="abcd"str+;D. charstr='a','b','c'printf("%s",str);s 输出字符串,必须以'0 '结束136.若有以下程序段,且OW i v 4, 0<j v 3,则不能正确访问 a数组元素的是(

49、inti,j,(*p)3;inta3=1,2,3,4,5,6,7,8,9,10,11,12;p=a;A.*(*(a+i)+j)B.pijC.(*(p+i)jD.pi+j137.若函数fun的函数头为:intfun(inti,intj)且函数指针变量'0 '结束P定义如下:int(*p)(inti,intj);则要使指 p指向函 fu的赋值语句是)。针数 n (A. p=*fun;B. p=fun;C. p=fun(i,j);D. p=&fun;138. 设有如下变量定义:charaa3='a','b','c','d

50、','e','f; char(*p)3=aa;则以下程序段的运行结果是()。P+;Dprintf("%c",*p);A. aB. bC. cD. d139. 以下程序段运行后x的值为()inta=1,2,3,4,5,6,7,8;inti,x,*p;x=1;p=&a2;D for(i=0;i<3;i+)x*=*(p+i);A. 不确定B. 24C. 120D. 60140. 以下程序段运行后x的值为()inta=1,2,3,b=4,2,5;int*p,*q;inti,x;p=a;q=b;for(i=0;i<3;i+)Bif(

51、*(p+i)=*(q+i)x=*(p+i)*2;A. 2B. 4C. 6D. 不确定141. 以下程序段运行后x的值为()inta9=1,2,3,4,5,6,3,8,9;int*p,*q;C inti,x;p=&a0;q=&a8;for(i=0;i<3;i+)if(*(P+i)=*(q-i)x=*(p+i)*2;A. 2B. 4C. 6D. 不确定142. 下面程序的输出结果是()。#include<stdio.h>voidmain()inti;char*s="abc"for(i=0;i<3;i+)printf("%sn&q

52、uot;,s+i);A. abcA bccB. cbcabcC. abccbcD. aababc143. 下面程序的输出结果是()。#include<stdio.h>voidmain()char*str="12345",*ps=str+4;A printf("%cn",ps-4);A. 1B. 2C. 3D. 错误-144.以下程序执行时,输入12345<回车,输出为:#include<stdio.h>#defineN5Avoidmain()intaN;in t*p=a;while(p<a+N)scanf("%d",p+);while(p>a)printf("%d",*(-p);A. 54321B. 12345C. 23451D. 43215145. 设有以下

温馨提示

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

最新文档

评论

0/150

提交评论