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

下载本文档

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

文档简介

1、福建省高等学校计算机等级测试二级C语言选择题试题库,案试题C1 .在C语言源程序中,以下表达正确的选项是.A. main函数必须位于义件的开头B.每行只能写一条语句C.程序中的一个语句可以写成多行D.每个语句的最后必须有点号C2.关于C语言的源程序的表达中,错误的选项是.A. C语后的源程序由函数构成B. main函数可以书写在自定义函数之后C.必须包含有输入语句D. 一行可以书写多个语句C3.关于C语言数据类型的表达,正确的选项是.A.枚举类型不是根本类型B.数组不是构造类型C.变量必须先定义后使用D.不允许使用空类型C4. C程序中main函数的位直.A.必须在取开女口B.必须在系统库函数

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

3、结构、分支结构、循环结构D.分支结构、循环结构、嵌套结构9 .对于C语言源程序,以下表达错误的选项是.A.可以有空语句B.函数之间是平等的,在一个函数内部不能定义其它函数C.程序调试时如果没有提示错误,就能得到正确结果D.注释可以出现在语句的前面10 .下面关于C语言用户标识符的描述,正确的选项是.A.不区分大小写B.用户标识符不能描述常量C.类型名也是用户标识符D.用户标识符可以作为变量名11 .以下是正确的变量名.A. 5fD B. ifC. f.5D. _f512.以下是正确的常量.A. E-5D B. 1E5.1C. 'a12'D. 32766L13.以下是正确的变量名

4、.A. a.beeDB. -p11C. intD. p_1114.以下是正确的字符常量.单引号括起来A. "c"C B. '''C. 'WD. "32a"15.以下是不正确的字符串常量.双引号括起来A. 'abc'A B. "12'12"C. "0"D.""16.以下是错误的整型常量.A. -0xcdfB B. 018八进制数不能超过 8C. 0xeD. 01117.以下是正确的浮点数.A. e3/e前面必须有数字,指数必须为整数B B.

5、.62C. 2e4.5D. 123A 18.假设有说明语句:char c='95'那么变量c包含个字符.A. 1 ddd :表示1到3位八进制数所代表的字符B. 2 xhh表示1到2位十六进制数所代表的字符C. 3D.语法错误19.假设有定义:int a=2;那么正确的赋值表达式是().A. a-=(a*3)A B. double(-a) /(double)(-a)C. a*3D. a*4=320.语句x=(a=3,b=+a); 运行后,x、a、b的值依次为().A. 3,3,4/逗号运算符及逗号表达式C B. 4,4,3C. 4,4,4D. 3,4,321.语句a=(3/4)

6、+3%2;运行后,a的值为().A. 0B B. 1/注意除号/两边均为整型时,结果为整数(不含小数点)C. 2D. 322. char型变量存放的是().考查变量类型A A. ASCII代码值B.字符本身C.十进制代码值D.十六进制代码值23.假设有定义:int x,a;那么语句x=(a=3,a+1);运行后,x、a的值依次为().A. 3,3 /考查逗号表达式及逗号运算符B. 4,4C. 4,3D. 3,424 .假设有定义:int a;那么语句a=(3 * 4)+ 2 % 3;运行后,a的值为().A. 12B B. 14C. 11D. 1725 .假设有定义:int a,b; doub

7、le x,那么以下不符合 C语言语法的表达式是().A. x%(-3)/%两侧均应为整型数据A B. a+=-2C. a=b=2D.x=a+b26 .假设有定义:int x=2,y=3;float i;,那么以下符合 C语言语法的表达式是().A. x=x*3=2/x*3不是一个变量名B B. x=(y=1)C. i=float(x)/ 应改为 i=(float)xD. i%(-3)/%两侧均应为整型数据27.设double 型变量a,b,c,e均有值;对代数式3ae/bc,不正确的C语言表达式A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/b*c 改为 3*a*e/b/cD

8、. a*e/c/b*3 28.下面表达正确的选项是A. 2/3 与 2.0/3.0 等价B. (int)2.0/3 与 2/3 等价C. +5与6等价 /单独写+5是错误的,可以写成 a=+5D. 'A'与"A"等价 29.下面表达中,错误的选项是A.其算术运算对象不包含函数B. %模运算符的运算对象只能为整型量C.算术运算符的结合方向是“自左至右"D.自加和自减运算符的结合方向是“自右至左" 30.下面表达正确的选项是./+ -只能用于变量,而不能用于常量或表达式A.强制类型转换运算的优先级高于算术运算B.假设a和b是整型变量,a+b+

9、 是合法的C. 'A'*'B'是不合法的D. "A"+"B"是合法的 31.假设有定义:int k,i=2,j=4; 那么表达式k=+i*j- 的值是.A. 8B. 12/注意前缀 后缀的区别C. 6D. 932.设整型变量a为5,使b不为2的表达式是().A. b=(+a)/3C B. b=6-(-a)C. b=a%2/ 结果为 1D. b=a/233.假设有定义:int a=1,b=2,c=3; 那么语句+a|+b&&+c; 运行后b的值为().A. 1C B. 0C. 2/注意运算的不完全性D. 33

10、4.假设有定义:int i,j;那么表达式(i=2,j=5,i+,i+j+) 的值是().A. 7B B. 8C. 9D. 1035.假设有定义:int a,b;那么表达式(a=2,b=5,a*2,b+,a+b) 的值是().B A. 7B. 8C. 9D. 1036.假设有定义:int m=5,n=3;那么表达式(m+1,n+1,(-m)+(n-) 的值是().A. 6B. 7C. 8D. 937.int a;使用scanf()函数输入一个整数给变量a,正确的函数调用是().A. scanf("%d",a);B. scanf("%d",&a);

11、C. scanf("%f",&a);D. scanf("%lf",&a);38.double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是().A. scanf("%ld",&a);B. scanf("%d",&a);C. scanf("%7.2f",&a);/输入数据时不能规定精度D. scanf("%lf",&a);39. char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是().

12、A. scanf("%d",&a);B B. scanf("%lf",&a);字符型变量与整型等价,但不与浮点型等价C. scanf("%c",&a);D. scanf("%u",&a);40. putchar()函数的功能是向终端输出()./ char *str0; .;puts( str0);A.多个字符B B. 一个字符C. 一个实型变量值D. 一个整型变量表达式41. getchar()函数的功能是从终端输入().A. 一个整型变量值D B. 一个实型变量值C.多个字符D.

13、一个字符42 .假设有定义:int x=1234,y=123,z=12; 那么语句 printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为().A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1243 .已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);A假设要求a、c1、c2的值分别为10、A和B,正确的数据输入是().A. 10AB 输入数据

14、时,遇空格、回车、 TAB、及非法输入 或按规定的宽度结束B. 10 A BC. 10A BD. 10 AB44 .已有如下定义和输入语句:int a,b;那么输scanf("%d,%d",&a,&b);“格式限制字符串中除了格式说明还有其他字符,入时应在相应位置输入假设要求a、b的值分别为10和20 ,正确的数据输入是()A. 10 20B. 10,20C. a=10,b=20D. 10;2045 .以下程序的运行结果是().void main()int a=65;char c='A'D printf("%x,%d",a

15、,c);A. 65,aB. 41,aC. 65,65D. 41,6546 .下面表达中,不是结构化程序设计中的三种根本结构之一.A.数据结构A B.选择结构C.循环结构D.顺序结构47 .下面表达中,不是结构化程序设计三种根本结构的共同特点.A.先判断后执行AB.单入口,单出口C.程序中没有执行不到的语句D.无死循环48 .结构化程序设计不包括.A.最优化A B.自顶而下,逐步细化C.模块化设计D.结构化编码49 .以下运算符中优先级最高的是.A. >D B. |C. &&D. +初等运算符 单目 算术 关系 逻辑不含!赋值 逗号50.假设有定义:int x=3,y=4;

16、那么表达式!x|y的值为.AA. 1B. OC. 3D. 4A51.假设后定义:int i=7,j=8;那么表达式i>=j|i<j 的值为().A. 1B.变量i的值C. 0D.变量j的值cC52.假设希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假".那么不能满足要求的表达式是().A. a%2=1B. !(a%2=0)C. !(a%2)D. a%253.假设有定义:int x=3,y=4,z=5;那么值为0的表达式是().A. 'x'&&'y'D B.x<=y

17、C. x|y+z&&y-zD. !(x<y)&&!z|1)/考查运算符优先级54 .假设有定义:int a=5,b=2,c=1; 那么表达式 a-b<c|b=c 的值是().A A. 0B. 1C. 2D. -155 .double a=5.2;那么正确的赋值表达式是().A. a+=a-=(a=4)*(a=3)A B. a=a*3=2C. a%3D. a=double(-3)56.char a='R'那么正确的赋值表达式是().A. a=(a+)%4A B. a+2=3C. a+=256-D. a=''078'

18、;57.int a='R'那么正确的表达式是().A. a%10A B. a=int(3e2)C. 2*a=a+D. a=a+a=a+3 与C同属一类错误58.设单精度型变量f、g的值均为2.0,使f为4.0的表达式是().A. f+=gA B. f-=g+2C. f*=g-6D. f/=g*1059.假设有定义:float x=3.5;int z=8;那么表达式x+z%3/4 的值为().A. 3.75B B. 3.5C. 3D. 460.假设有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 那么表达式(x=a>b)&&(y=c>d

19、) 的值为().A. 0AB. 1C. 5D. 661. 假设 有定义: int a=2,b=3; float x=3.5,y=2.5; 那么 表达式(float)(a+b)/2+(int)x%(int)y 的值是()./(float)(a+b)/2=2.5A. 3.5B. 3.0C. 2.5D. 2.062.假设有定义:int b=7; float a=2.5,c=4.7;那么表达式 a+(b/2*(int)(a+c)/2)%4 的值是().A. 2.5 /(b/2*(int)(a+c)/2)=10注意运算顺序B. 3.5C. 4.5D. 5.563.假设有定义:int a=6,b=2;ch

20、ar c1='a',c2='b'那么表达式 a+b%5+c2-c1 的值是 ().A. 7CB. 8C. 9D.表达式错误64 .以下的if语句中,x的值一定被重新赋值的是().A. if(x=y) x+=y;B. if(x>y && x!=y );/注意if语句后的空语句;x+=y;C. if(x!=y)B scanf("%d",&x);elsescanf("%d",&y);D. if(x<y)x+;y+;65 . C语言对if嵌套语句的规定:else总是与()配对.A.第一个

21、ifB B.之前最近的且尚未配对的ifC.缩进位置相同的ifD.之前最近的if66 .对于整型变量x,下述if语句()与赋值语句:x=x%2=0?1:0;不等价.B A. if (x%2!=0) x=0; else x=1;B. if (x%2) x=1; else x=0;C. if (x%2=0) x=1; else x=0;D. if (x%2=1) x=0; else x=1;67.假设有定义:int x=1,y=2,z=4;那么以下程序段运行后 z的值为().if(x>y) z=x+y;else z=x-y;B A. 3B. -1C. 4D.不确定68.假设有定义:int a=

22、1,b=2,c=3;那么执行以下程序段后a,b,c的值分别为().if (a<b)c=a;a=b;b=c;D A. a=1,b=2,c=3B. a=2,b=3,c=1C. a=2,b=3,c=3D. a=2,b=1,c=1D 69.以下程序段运行后变量a的值为().nt x=6,y=5;nt a;a=(-x=y+)?x:y+1;A. 0B. 1C. 6D. 570.以下程序的运行结果是().注意分支中有无break的区别void main()int n='e'switch(n-)default: printf("error ");case 'a

23、':case 'b': printf("good "); break;case 'c': printf("pass ");case 'd': printf("warn ");A. errorB. goodC. error goodD. warnr C71.以下程序的运行结果是().void main()(int n='c'switch(n+)(default: printf("error "); break;case 'a':c

24、ase 'b': printf("good "); break;case 'c': printf("pass ");case 'd': printf("warn ");A. passB. warnC. pass warnD. errorD72.以下程序的运行结果是().void main()int n=5;if(n+>=6)printf("%dn",n);elseprintf("%dn",+n);)A. 4B. 5C. 6D. 7B73.设有

25、整型变量x,下述语句()不会出现死循环.A. for(;x+=1);B. for(;(x=getchar()!='n');C. while(1) x+;D. for(x=10;x-);B74.对于整型变量x,与while(!x)等价的是().A. while(x!=0)B. while(x=0)C. while(x!=1)D. while(x)A75.对于整型变量x和y,语句for(x=0,y=0;(y!=123)&&(x<4);x+)y+;中的y+ ; 被执行().A. 4次B. 0次C.123 次D. 3次B76.在c语百中 while 循环和do-w

26、hile 循环的主要区别是.A. do-while 循环体内可以使用 break语句,while循环体内不能使用 break语句B. do-while的循环体至少无条件执什-次,while的循环体不是C. do-while 循环体内可以使用 continue 语句,while循环体内不能使用continue语句D. while的循环体至少无条件执什-次,do-while的循环体不是77.以下程序段运行后,循环体运行的次数为.int i=10,x;for ;i<10;i+ x=x+i;B A. 10B. 0C. 1D.无限78.以下程序段运行后变量n的值为.int i=1,n=1;D fo

27、r ;i<3;i+continue;n=n+i;A. 4B. 3C. 2D. 1B79.以下程序的运行结果是().void main()(int sum = 0, item = 0;while(item < 5)(item+;sum += item;if(sum=5)break;printf("%dn",sum);A. 10B. 15C. 5D. 6C80.以下程序的运行结果是().void main()(int sum = 0, item = 0;while(item < 5)(item+;sum += item;if(sum>=6)break;)

28、printf("%dn",sum);)A. 10B. 15C. 6D. 781 .以下程序的运行结果是().void main()(B int sum = 0, item = 0;while(item < 5)(item+;if(item = 2)continue;sum += item;printf("%dn",sum);A. 10B. 13C. 15D. 182 .以下数组定义中,正确的选项是.A. int a5=0;A B. int a=0 1 2; / int a=0 ,1,2;注意元素与元素之间加逗号C. int a5=0; / int

29、a5=0;D. int a; /必须指明数组大小83.以下数组定义中,正确的选项是.A. int a10;A B. int n=10,an; /下标必须是常量表达式C. int N=10;int aN;D. int n;scanf"%d",&n; int an;E. .int a10;那么对a数组元素引用不正确的选项是.AA. a10/10个元素的数组下标范围从0到9,故此题越界B. a3+5C. a10-10引用数组元素时,下标可以是整型常量或整型表达式D. a585.假设有定义:int a3=0,1,2;那么 a1的值为.A. 0B B. 1C. 2D. 386

30、.假设有定义:int a5=1,2,3,4,5;那么语句 a1=a3+a2+2-a3-1; 运行后 a1的 值为.A. 6AB. 5C. 1D. 287.以下能对一维数组a进行正确初始化的语句是.A. int a5=(0,0,0,0,0);D B. int a5=0; /注意使用大括号C. int a5=1,2,3,4,5,6,7; / 多余 2 个D. int a=0; /定义一个只有一个元素的一维数组,指为 088 .下面程序段的运行结果是().D int i=0,a=3,4,5,4,3;doai+;while(a+i<5);for(i=0;i<5;i+) printf(&qu

31、ot;%d ",ai);A. 4 5 6 5 4B. 3 4 5 4 3C. 4 5 5 5 4D. 4 5 5 4 389 .下面程序段的运行结果是().int i=0,a尸7,5,7,3,8,3;doai+=2;while(a+i>5);C for(i=0;i<6;i+) printf("%d ",ai);A. 9 7 9 5 10 5B. 9 5 9 3 10 3C. 9 5 7 3 8 3D. 7 5 7 3 8 390 .下面程序段的运行结果是().A int i=0,a=1,2,3,4,5;doai+=10;while(a+i>2);

32、for(i=0;i<5;i+)printf("%d ",ai);A. 11 2 3 4 5B. 1 2 3 4 5C. 11 12 13 14 15D.11 12 3 4 591 .设有如下程序段:nt a33=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+)s=s+aij;c C那么执行该程序段后,s的值是().A. 0B. 1C. 2D. 392 .有如下定义int a3=1 ,2, 3, 4, 5, 6, 7, 8; 考查二维数组的初始化B那么数组a的行数是().A. 2B. 3C.

33、4D.无法确定的93 .以下数组定义中,正确的选项是().A. int a23=1,2,3,4,5,6,7; 多余 1 个D B. int a=1,2,3,4,5,6,7,8,9;第二维长度不能省C. int a2=1,2,3,4,5,6;D. int a4=6;94.假设有定义:int a34=1,2,0,1,2,3; 那么 a11的值为().A. 0A B. 1,2C. 1D. 395.假设有定义:int a33;那么表达式&a21卜a的值为.A. 7/&a21卜a代表两者之间的元素个数,类似指向同种类型的指针相减A B. 8C. 6D. 996.假设有定义:int i=0

34、,x=0;inta33=1,2,3,4,5,6,7,8,9;那么以下程序段运行后x 的值为.for (;i<3;i+)x+=ai2-i;A. 0B. 12C. 15D. 1897.假设有定义int a23;那么对数组元素的非法引用是.A. a01/2D B. a11C. a4-40D. a03cC98.以下数组定义中,正确的选项是().A. int a2=1,2,3,4,5;B. int a2=0,;C. int a22=1,2,3;D. int a=1,2,3,4;D99. 1t义 int a3=1,2,3,4,5,6,7,8,9; 那么表达式 sizeof(a)/sizeof(a0)

35、的值为().A. 3B. 4C. 5D. 9A100.设有以卜变量定义:char str1="string",str28,*str3,*str4="string"()是正确的.A. strcpy(str1,"China");B. str2="China"C. strcpy(*str3,"China");D. strcpy(str40,"China");D101.有如下定义:char str6= 'a','b',''0',

36、'd','e','f;那么语句:printf("%s",str);的输出结果是().A. abB. abdefC. ab0D. abC102.设有如下数组定义:char str8= "FuJian"那么分配给数组str的存储空间是()个字节.A. 6B. 7C. 8D. 9103.假设有定义:char a="abcdef"charb="xyz"那么以下程序段运行后屏幕输出为().strcpy(a,b);printf("%c",a2);A. cB. zC.

37、0D. d104.以下程序段运行后屏幕输出为().char a="abc0mis"printf("%d",strlen(a);C A. 5B. 8C. 3D. 4105.假设有定义:int a=2;那么语句 a=strcmp("miss","miss"); 运行后 a 的值为().A. 1相等返回0 ,字符串1字符串2,返回一个正整数,否那么返回负整数B B. 0 /strcmp(str1,str2)C. -1D. 2106 .以下程序段运行后屏幕输出为().char str="abcd" 注意

38、代表一个反斜杠字符 Bprintf("%d",strlen(str);A. 4B. 5C. 6D. 7107 .以下程序段运行后屏幕输出为().char str80;strcpy(str,"hello");printf("%d",strlen(str);A. 5B. 6C. 7D. 80108 .假设有定义:char str16="abcdm",*ps,*str2="abcdef"()是正确的.A. strcpy(str1,str2);B.表达式strcmp(str1,str2) 的值大于0C.

39、 str1=str2;D.表达式strlen(str1)的值为6109.设有如下函数定义:int fun(char *str)char *p=str;while (*p != '0') p+;return (p-str);那么以下语句执行后的输出结果是().返回字符串个数printf("%dn",fun("Student");A. 7B. 8C. 9D. 10110 .以下程序的运行结果是.nt fun(int array44)int j;for( j=0;j<4;j+) printf("%2d",array2j

40、);printf("n");main()int a44=0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0;fun(a);A. 2 0 0 5B. 1 0 0 4C. 0 1 2 0D. 0 4 5 0111 .如下fun函数的类型是().fun(float x)Cdouble y; int z ;y=xz=(int)y ;return(z);)A. voidB. doubleC. intD. float112 .以下程序运行后屏幕输出为().#include<stdio.h>int f(int x,int y)return(x+y);)main()

41、int a=2,b=3,c;c=f(a,b);printf("%d+%d=%dn",a,b,c);)A. 0B. 2+3=5C. 2+3=0D. 3+2=5113 .以下程序运行后屏幕输出为().考查全局变量与局部变量的区别及范围#include<stdio.h>int a=2,b=3;int max(int a,int b)int c;c=a>b?a:b;return(c);D main()int a=4;printf("%d",max(a,b);A. 2,3B. 2C. 3D. 4114 .以下程序运行后屏幕输出为().B #inc

42、lude<stdio.h>void f(int i) /两个函数中的a不一样(int a=2;a=i+;printf("%d,",a);)main()(int a=1,c=3;f(c);a=c+;printf("%d",a);)A. 4,3B. 3,3C. 4,5D. 3,5115 .假设有如下函数定义:注意静态变量的使用int fun()(Dstatic int k=0;return +k;)以下程序段运行后屏幕输出为(int i;for(i=1;i<=5;i+)fun();printf("%d",fun();A.

43、 0B. 1C. 5D. 6.116.卜面程序的输出结果是.#include <stdio.h>int global=100;fun()int global=5;Dreturn +global;void main()printf("%dn",fun();A. 100B. 101C. 5D. 6117.以下关于C语言函数的描述中,正确的选项是.A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用都可以嵌套D.函数的定义和函数的调用都不可以嵌套118.假设有以下宏定义,#define MODx,y x

44、%y那么执行以下程序段后,z的值是.int z,a=15,b=100;D z=MODb,a;A. 100B. 15C. 11D. 10119.以下表达中,正确的选项是.A. #define PRICE= 30 定义了与30等价的符号常量 PRICEB B.预编译处理命令行都必须以# "开头C.宏名只能包含大写字母和数字字符可以包括小写字母A.宏展开不占用运行时间,只占用编译时间B.预编译处理命令行必须以分号结束C. 一个源程序只能有一个预编译处理命令行D.使用带参数的宏定义时,应该说明每个参数的数据类型121 .以下的表达中不正确的选项是.A.宏展开不占用运行时间,只占用编译时间B.

45、宏名无类型C.宏名必须用大写字母表示D.预处理命令行都必须以 #号开始122 .假设有定义:#define PI 3,那么表达式PI*2*2的值为.A. 12A B. 4C. 3D.不确定123 .以下程序运行后,屏幕输出为().#define MIN(a,b) (a)<(b)?(a):(b)main()int x=2,y=3,z;z=2*MIN(x,y);printf("%d",z);A. 2B. 3C. 4D. 6124 .下面程序的输出结果是.#include <stdio.h>#define SQR(x) (x*x)void main()int a

46、,b=3;a=SQR(b+2);printf("n%d",a);A. 11B. 25C.不定值D.产生错误125 .下面程序的输出结果是().#include <stdio.h># define ONE 1# define TWO ONE+1# define THREE TWO+1void main()(printf("%dn",THREE-ONE);)A.产生错误B. 1C. 2D. 3126.以下表达中正确的选项是().A.预处理命令行必须位于C源程序的起始位置B B.在C语言中,预处理命令行都以"#"开头C.每个C程

47、序必须在开头包含预处理命令行:#include<stdio.h>D. C语言的预处理不能实现宏定义和条件编译的功能127 .设有以下语句,那么()是对a数组元素的不正确引用,其中04<10.int a10=0,1,2,3,4,5,6,7,8,9,*p=a;A. ap-a DB. *(&ai)C. piD. *(*(a+i)128 .对于基类型相同的两个指针变量之间,不能进行的运算是().A. <CB.=C. +D.-129.执行以下程序段的输出结果是().int a=10,*p=&a;printf("%d",+*p);B A. 10B

48、. 11C.变量a的地址D.变量a的地址+ 1130.以下程序段运行后*(p+3)的值为().char a="good"char *p;p=a;AA. 'd'B. ''0'C.存放'd'的地址D. 'o'131.以下程序段运行后*(+p)的值为().char a5="work"char *p;Cp=a;A. 'w'B.存放'w'的地址C. 'o'D.存放'o'的地址132.假设有定义:int *p,a=4; p=&

49、;a;那么以下均代表地址的是().A. a,pB B. &a,pC. &a,*pD. a,*p133.假设有说明语句:double *p,a;那么能通过scanf语句正确给输入项读入数据的程 序段是().A. *p=&a;scanf("%lf",p); DB. *p=&a;scanf("%lf",*p);C. p=&a;scanf("%lf",*p);D. p=&a;scanf("%lf",p);134.在16位编译系统上,假设有定义int a尸10,20,30,*p

50、=&a;当执行p+;后以下表达错误的选项是().A. p向高地址移了一个字节AB. p与a+1等价C.语句 printf("%d",*p); 输出 20D. p指向数组元素a1135.下面语句正确的选项是().B A. int *p; *p=20;B. char *s="abcdef" printf("%sn",s);C. char str="abcd" str+; / 数组名/、能改变D. char str='a','b','c'printf("%s",str);/%s 输出字符串,必须以 0 '结束D136.假设有以下程序段,且 0MV4, 0可3,那么不能正确访问a数组元素的是().int i,j,(*p)3;int a3=123,4,5,6,7,8,9,10,11,12;p = a;A. *(*(a+i)+j)B. pi jC. (*(p+i)jD. pi+jB137.假设函数fun的函数头为:int fun(int i, int j)且函数指针变量p定义如下:int(*p)(int i, int j);

温馨提示

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

评论

0/150

提交评论