2. 以下选项中,能用作数据常量的是( )。 A)115L B)0118 C)1.5e1.5 D)o115 本题答案为:A
3. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )。 A)连接符 B)大写字母 C)数字字符 D)下划线 本题答案为:A
4. 现有格式化输入语句:scanf(\"x=%d ,sum y=%d,line z=%dL\,已知在
输入数据后,x、y、z 的值分别是12、34、45,则下列选项中是正确的输入格式的是( )。
A)12,34,45 B)x=12,y=34,z=45 5. 若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )。 A)i=a%11; B)i=(a+k)<=(i+k); C)a=a++,i++; D)i=!a; 本题答案为:A 6. 设有定义:int a; float b;,执行 scanf(\"%2d%f\语句时,若从键盘输入876 543.0<回车>,a和b的值分别是( )。 A)876和543.000000 B)87和6.000000 C)87和543.000000 D)76和543.000000 本题答案为:B 7. 设有定义:int x=2;,以下表达式中,值不为6的是( )。 A)2*x, x+=2 B)x++,2*x C)x*=(1+x) D)x*=x+1 本题答案为:A 8. 若变量已正确定义为int型,要通过语句scanf(\"%d,%d,%d\给a赋值1、 给b赋值2、给c赋值3,以下 输入形式中错误的是( )。(u代表一个空格符) A)uuu1,2,3<回车> B)1u2u3<回车> C)1,uuu2,uuu3<回车> D)1,2,3<回车> 本题答案为:B 9. 若有定义语句:int x=10; ,则表达式x-=x+x的值为( )。 A)-10 B)-20 C)0 D)10 本题答案为:A 10. 以下选项中,能用作用户标识符的是( )。 A)_0_ B)8_8 C)void D)unsigned 本题答案为:A 11. 设变量已正确定义并赋值,以下正确的表达式是( )。 A)x=y+z+5, ++y B)int(15.8%5) C)x=y*5=x+z D)x=25%5.0 本题答案为:A 12. 以下4 个选项中,不能看成一条语句的是( )。 A); B)a=5,b=2.5,c=3.6; C)if(a<5); D)if(b!=5) x=2; y=6; 本题答案为:D 13. 以下选项中,合法的一组C语言数值常量是( )。 A)12. 0Xa23 4.5e0 B)028 .5e-3 -0xf C).177 4e1.5 0abc D)0x8A 10,000 3.e5 本题答案为:A 14. 有以下程序 #include { int s,t,A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(\"%d,%dn\ } 在VC6平台上编译运行,程序运行后的输出结果是( )。 A)4,8 B)4,4 C)2,4 D)10,6 本题答案为:A 15. 有以下程序段 #include int j; float y; char name[50]; scanf(\"%2d%f%s\ 当执行上述程序段,从键盘上输入55566 7777abc后,y的值为( )。 A)566.0 B)55566.0 C)7777.0 D)566777.0 本题答案为:A 16. 有以下程序 #include x=y=1; z=x++,y++,++y; printf(\"%d,%d,%dn\ } 程序运行后的输出结果是( )。 A)2,3,1 B)2,3,2 C)2,3,3 D)2,2,1 本题答案为:A 17. 有以下程序 #include printf(\"%d,\ printf(\"%dn\ } 程序运行后的输出结果是( )。 A)1,2 B)1,0 C)3,2 D)0,0 本题答案为:A 18. 有以下程序 #include { int a1,a2; char c1,c2; scanf(\"%d%c%d%c\ printf(\"%d,%c,%d,%c\ } 若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输入格式是( )。 A)12a34b B)12ㄩaㄩ34ㄩb 19. 下列程序的运行结果是( )。 #include \"stdio. h\" main( ) { int x=-9,y=5,z=8; if(x printf(\"%dn\ A)6 B)7 C)8 D)9 本题答案为:D 20. 若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是( )。 A)switch(a+b) { case 1: printf(\"*n\"); case 2+1: printf(\"**n\"); } B)switch((int)x); { case 1: printf(\"*n\"); case 2: printf(\"**n\"); } C)switch(x) { case 1.0: printf(\"*n\"); case 2.0: printf(\"**n\"); } D)switch(a+b) { case 1: printf(\"*n\"); case c: printf(\"**n\"); } 本题答案为:A 21. 以下程序的输出结果是( )。 #include { int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf(\"%dn\ A)1 B)2 C)3 D)4 本题答案为:A 22. 有如下程序 main( ) { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/ x; else y=1.0; printf(\"%fn\ 该程序的输出结果是( )。 A)0.000000 B)0.250000 C)0.500000 D)1.000000 本题答案为:C 23. 有以下程序 #include #include { int x=1, y=0, a=0, b=0; switch( x ) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf(\"a=%d, b=%dn\} 程序的运行结果是( )。 A)a=2,b=1 B)a=2,b=2 C)a=1,b=1 D)a=1,b=0 本题答案为:A 25. 有以下程序段 int a, b, c; a=10; b=50; c=a; if (a>b) a=b, b=c; c=a; printf(\"a=%d b=%d c=%dn\ 程序的输出结果是( )。 A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50 本题答案为:A 26. 有以下程序 #include { int x=1, y=2, z=3; if (x>y) if (y D)1 本题答案为:D 27. 有以下程序段 #include a=10; b=50; c=30; if (a>b) a=b, b=c; c=a; printf(\"a=%d b=%d c=%dn\ } 程序的输出结果是( )。 A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50 本题答案为:A 28. 下列条件语句中,功能与其他语句不同的是( )。 A)if(a) printf(\"%dn\B)if(a==0) printf(\"%dn\C)if(a!=0) printf(\"%dn\D)if(a==0) printf(\"%dn\本题答案为:D 29. 若整型变量a、b、c、d中的值依次为1、4、3、2,则条件表达式a的值是( )。 A)1 B)2 C)3 D)4 本题答案为:A 30. 下列叙述中正确的是( )。 A)在switch语句中,不一定使用break语句 B)在switch语句中必须使用default C)break语句必须与switch语句中的case配对使用 D)break语句只能用于switch语句 本题答案为:A 31. 若执行下面的程序时,从键盘输入5 和2,则输出结果是( main( ) { int a,b,k; scanf(\"%d,%d\ k=a; if(a)。B)3 C)2 D)0 本题答案为:C 119. 若变量已正确定义,有以下程序段 int a=3, b=5, c=7; if (a>b) a=b; c=a; if (c!=a) c=b; printf(\"%d,%d,%dn\ 其输出结果是( )。 A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 本题答案为:B 32. 若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中 的条件表达式(x-y) 等价的是( )。 A)(x-y<0||x-y>0) B)(x-y<0) C)(x-y>0) D)(x-y==0) 本题答案为:A 33. 若变量已正确定义,在if(W) printf(\"%dn\" ,k ); 中,以下不可替代W的是( )。 A)a<>b+c B)ch=getchar( ) C)a==b+c D)a++ 本题答案为:A 34. 如下程序的输出结果是( ) #include { float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(\"%fn\ } A)0.000000 B)0.250000 C)0.500000 D)1.000000 本题答案为:C 35. 请阅读以下程序 #include main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; } case 2: a++,b++;break; } printf(\" a=%d,b=%dn\ } 上面程序的输出结果是( )。 A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2 本题答案为:A 36. 有以下程序段 int k=0,a=1,b=2,c=3; k=ac ? c:k; 执行该程序段后,k的值是( )。 A)3 B)2 C)1 D)0 本题答案为:B 37. 有以下程序 #include { int x=1, y=0, a=0, b=0; switch (x) { case 1: switch (y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++; } printf(\"a=%d,b=%dn\ } 程序的运行结果是( )。 A)a=1, b=0 B)a=2, b=2 C)a=1, b=1 D)a=2, b=1 本题答案为:D 38. 设变量a、b、c、d 和y 都已正确定义并赋值。若有以下if 语句: if(a该语句所表示的含义是( )。 A)y=0 a39. 以下程序段中与语句k=a>b?(b>c?1:0):0; 功能等价的是( )。 A)if((a>b)&&(b>c)) k=1; else k=0; B)if((a>b)||(b>c)) k=1; else k=0; C)if(a<=b) k=0; else if(b<=c) k=1; D)if(a>b) k=1; else if(b>c) k=1; else k=0; 本题答案为:A 40. 以下选项中不属于字符常量的是( )。 A)'C' B)\"C\" C)'\\xCC' D)'\\072' 本题答案为:B 41. 以下程序段中的变量已正确定义 for( i=0;i<4;i++,i++ ) for( k=1;k<3;k++ );printf(\"*\" ); 程序段的输出结果是( )。 A)* B)**** C)** D)******** 本题答案为:A 42. 设变量均已正确定义,若要通过scanf(\"%d%c%d%c\语句为 变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是( )。(注:□代表空格字符) A)10□X□20□Y<回车> B)10□X20□Y<回车> C)10□X<回车> 20□Y<回车> D)10X<回车> 20Y<回车> 本题答案为:D 43. 下面程序的运行结果是( #include for(i=1;i<5;i++) { if(i%3==0) break; printf(\"%d \ A)123 B)12 C)23 D)12345 本题答案为:B )。44. 有以下程序 main( ) {int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(\"%dn\ 程序执行后的输出结果是( )。 A)自然数1~9的累加和 B)自然数1~10的累加和 C)自然数1~9中奇数之和 D)自然数1~10中偶数之和 本题答案为:D 45. 有定义语句:char s[10];,若要从终端给s 输入5 个字符,错误的输入语句是( )。 A)gets(&s[0]); B)scanf(\"%s\C)gets(s); D)scanf(\"%s\本题答案为:D 46. 有以下程序 main( ) { int i,s=1; for (i=1;i<50;i++) if(! (i%5)&&! (i%3))s+=i; printf(\"%dn\ 程序的输出结果是( )。 A)409 B)277 C)1 D)91 本题答案为:D 47. 已知字符'A'的ASCII 码值是65,字符变量cl 的值是'A',c2 的值是'D'。执行语句 printf(\"%d,%d\后,输出结果是( )。 A)A, B B)A 68 C)65,66 D)65,68 本题答案为:C 48. 有以下程序 #include if(y%3==0) printf(\"%d\ 程序的运行结果是( )。 A)741 B)963 C)852 D)875421 本题答案为:C 49. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( )。 A)for(i=1, p=1;i<=5;i++) p*=i; B)for(i=1;i<=5;i++){ p=1;p*=i;} C)i=1;p=1;while(i<=5){ p*=i;i++;} D)i=1;p=1;do{p*=i;i++;} while(i<=5) 本题答案为:B 50. 若变量已正确定义,以下while循环不断输出读入的字符,当读入回车符时结束循环, 正确的程序段是( )。 A)while(ch=getchar( )=='\\N')putchar(ch); B)while(ch=getchar( )=='\\n')putchar(ch); C)while(ch=getchar( )!=='\\N')putchar(ch); D)while(ch=getchar( )!=='\\n')putchar(ch); 本题答案为:D 51. 有以下程序: main( ) { char k; int i; for(i=1;i<3;i++) {scanf(\"%c\ switch(k) { case '0': printf(\"another\\n\"); case '1': printf(\"number\\n\"); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( )。 A)another number B)another number another C)another number number D)number number 本题答案为:C 52. 若有说明语句:char c='\\72';,则变量c( )。 A)包含1 个字符 B)包含2 个字符 C)包含3 个字符 D)说明不合法,c 的值不确定 本题答案为:A 53. 有以下程序 main( ) {int i; for(i=1;i<=40;i++) { if(i++%5==0) if(++i%8==0) printf(\"%d\ } printf(\"n\");} 执行后的输出结果是( )。 A)5 B)24 C)32 D)40 本题答案为:C 54. 有以下程序 #include { if (i%3==1) if (i%5==2) { printf(\"*%d\ i++; } while (i!=0); printf(\"n\");} 程序的运行结果是( )。 A)*7 B)*3*5 C)*5 D)*2*6 本题答案为:A 55. 以下选项中不能作为C语言合法常量的是( )。 A)'cd' B)0.1e+6 C)\"\\a\" D)'\\011' 本题答案为:A 56. 运行下面程序时,从键盘输入字母H,则输出结果是( )。 #include {case 'H':printf(\"Hello!\\n\"); case 'G':printf(\"Good morning!\\n\"); default:printf(\"Bye_Bye!\\n\"); } } A)Hello! B)Hello!Good Moring! C)Hello!Good morning!Bye_Bye! D)Hello!Bye_Bye! 本题答案为:C 57. 下列选项中属于不合法C 语言的字符串常量的是( )。 A)\")1\" B)'2y1' C)\"\\n\\n\" D)\"ABCD\\x6d\" 本题答案为:B 58. 有以下程序 #include if(y%3==0) printf(\"%d\ 程序的运行结果是( )。 A)741 B)963 C)852 D)875421 本题答案为:C 59. 下列选项可以正确表示字符型常量的是( )。 A)'\\r' B)\"a\" C)\"\\7\" D)296 本题答案为:A 60. 有以下程序段 #include for( i=0;i<8;i++ ) { n = rand( ) % 5; switch(n) { case 1: case 3:printf(\"%d n\ case 2: case 4:printf(\"%d n\ case 0:exit(0); } printf(\"%d n\ } 以下关于程序段执行情况的叙述,正确的是( )。 A)当产生的随机数n为0时结束程序运行 B)当产生的随机数n为4时结束循环操作 C)当产生的随机数n为1和2时不做任何操作 D)for循环语句固定执行8次 本题答案为:A 61. 以下不能将s所指字符串正确复制到t所指存储空间的是( )。 A)do{*t++=*s++;} while(*s); B)for(i=0;t[i]=s[i];i++); C)while(*t=*s){t++;s++;} D)for(i=0,j=0;t[i++]=s[j++];); 本题答案为:A 62. 数字字符0的ASCII值为48,若有以下程序: main( ) { char a='1',b='2'; printf(\"%c,\ printf(\"%d\\n\ } 程序运行后的输出结果是( )。 A)3,2 B)50,2 C)2,2 D)2,50 本题答案为:C 63. 有以下程序 #include printf(\"m=%dn\ } 程序运行后的输出结果是()。 A)m=6 B)m=2 C)m=4 D)m=5 本题答案为:A . 已有定义:char c;,程序前面已在命令行中包含ctype. h 文件,不能用于判断c 中的字 符是否为大写字母的表达式是( )。 A)isupper(c) B)'A'<=c<='Z' C)'A'<=c&&c<='Z' D)c<=('z'-32)&&('a'-32)<=c 本题答案为:B 65. 有以下程序 main( ) { int i, j, x=0; for(i=0;i<2;i++) { x++; for( j=0;j<=3;j++) { if(j%2) continue; x++;} x++;} printf(\"x=%dn\ 程序执行后的输出结果是( )。 A)x=4 B)x=8 C)x=6 D)x=12 本题答案为:B 66. 有以下for语句: for(int x=0,y=10;(y>0)&&(x<4);x++,y--){}; 则下面叙述中正确的是( )。 A)是无限循环 B)循环次数不定 C)循环执行4次 D)循环执行3次 本题答案为:C 67. 有以下程序: #include { char a,b,c,d; scanf(\"%c%c\ c=getchar(); d=getchar(); printf(\"%c%c%c%c\\n\ } 当执行程序时,按下列方式输入数据(从第1列开始, 则输出结果是( )。 A)1234 B)12 C)12 3 D)12 34 本题答案为:C 68. 以下不构成无限循环的语句或语句组是( )。 A)n=0; do {++n;} while(n<=0); B)n=0; while(1) { n++;} C)n=10; while(n);{n--;} D)for(n=0,i=1;;i++) n+=i; 本题答案为:A 69. 有以下程序 #include {inta[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2) {case 0: switch(a[i]%2) { case 0:a[i]++;break; case 1:a[i]--; }break; case 1:a[i]=0; } for(i=0;i<4;i++) printf(\"%d \ } 程序运行后的输出结果是( )。 A)3 0 4 0 B)2 0 5 0 C)3 3 4 4 D)0 3 0 4 本题答案为:A 70. 以下不合法的字符常量是( )。 A)'\\018' B)'\\\"' C)'\\\\' D)'\\xcc' 本题答案为:A 71. 有以下程序: main( ) { char a='a',b; printf(\"%c,\ printf(\"%c\\n\ } 程序运行后的输出结果是( )。 A)b,b B)b,c C)a,b D)a,c 本题答案为:A 72. 有以下程序 main( ) {int i; for(i=0;i<3;i++) switch(i) { case 0: printf (\"%d\ case 2: printf(\"%d\ default: printf(\"%d\ }} 程序运行后的输出结果是( )。 A)022111 B)021021 C)000122 D)012 本题答案为:C 73. 有以下程序 #include 程序的运行结果是( )。 A)852 B)963 C)741 D)875421 本题答案为:A 74. 有以下程序: #include { char c1,c2,c3,c4,c5,c6; scanf(\"%c%c%c%c\ c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(\"%c%c\\n\ } 程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是( )。 A)1267 B)1256 C)1278 D)1245 本题答案为:D 75. 有以下程序: #include while((c=getchar( ))! ='\\n') { switch(c-'2') { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; } } printf(\"\\n\"); } 从第一列开始输入以下数据(↙代表一个回车符)。 27 43↙ 程序的输出结果是( )。 A)66877 B)6766 C)6677877 D)6688766 本题答案为:A 76. 有以下程序 #include for(k=1;k<3;k++) switch(k) { default:c+=k; case 2: c++;break; case 4: c+=2;break; } printf(\"%dn\ } 程序运行后的输出结果是()。 A)3 B)5 C)7 D)9 本题答案为:A 77. 以下程序的输出结果是( )。 main( ) { int a,i;a=0; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5;} }printf(\"%dn\ A)31 B)13 C)10 D)20 本题答案为:A 78. 有如下程序 main( ) {int i; for(i=0;i<3;i++) switch(i) { case 0:printf(\"%d\ case 2:printf(\"%d\ default: printf(\"%d\ }} 程序运行后的输出结果是( )。 A)022111 B)021021 C)000122 D)01122 本题答案为:D 79. 当运行以下程序时,从键盘输入AhaMA(空格)Aha ( )。 #include { char s[80],c='a'; int i=0; scanf(\"%s\ while(s[i]! ='\\0') { if(s[i]= =c)s[i]=s[i]-32; else if(s[i]= =c-32)s[i]=s[i]+32; i++; } puts(s); } A)ahAMa B)AbAMa C)AhAMa[空格]ahA D)ahAMa[空格]ahA 本题答案为:A 80. 有以下程序 main( ) {int i; for(i=1;i<=40;i++) {if(i++%5==0) if(++i%8==0) printf(\"%d \ } printf(\"n\");} 执行后的输出结果是( )。 A)5 B)24 C)32 D)40 本题答案为:C 81. 有以下程序: #include { char c1='1',c2='2'; c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2); } 当运行时输入a<回车>后,以下叙述正确的是( )。 A)变量c1被赋予字符a,c2被赋予回车符 B)程序将等待用户输入第2个字符 C)变量c1被赋予字符a,c2中仍是原有字符2 D)变量c1被赋予字符a,c2中将无确定值 本题答案为:A 82. 设变量已正确定义,则以下能正确计算f=n!的程序段是( )。 A)f=0; for(i=1;i<=n;i++) f*=i; B)f=1; for(i=1;i for(i=n;i>=2;i--) f*=i; 本题答案为:D 83. 有定义语句:char s[10];,若要从终端给s 输入5 个字符,错误的输入语句是( )。 A)gets(&s[0]); B)scanf(\"%s\C)gets(s); D)scanf(\"%s\本题答案为:D 84. 以下选项中不属于字符常量的是( )。 A) C B)\"C\" C) xCC D) 072 本题答案为:B 85. 有以下程序 #include while((c=getchar( ))! = n ) { switch(c- 2 ) { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; } } printf(\"n\"); } 从第一列开始输入以下数据(↙代表一个回车符)。 27 43↙ 程序的输出结果是( )。 A)66877 B)6766 C)6677877 D)6688766 本题答案为:A 86. 运行下面程序时,从键盘输入字母H,则输出结果是( #include { case H :printf(\"Hello!n\"); case G :printf(\"Good morning!n\"); default:printf(\"Bye_Bye!n\"); }} A)Hello! )。 B)Hello!Good Moring! C)Hello!Good morning!Bye_Bye! D)Hello!Bye_Bye! 本题答案为:C 87. 有以下程序 #include scanf(\"%c%c\ c=getchar( );d=getchar( ); printf(\"%c%c%c%cn\ } 当执行程序时,按下列方式输入数据(从第1列开始, 则输出结果是()。 A)12 3 B)12 C)1234 D)12 34 本题答案为:A 88. 当运行以下程序时,从键盘输入AhaMA(空格)Aha 是( )。 #include { char s[80],c= a int i=0; scanf(\"%s\ while(s[i]! = 0 ) { if(s[i]= =c) s[i]=s[i]-32; else if(s[i]= =c-32) s[i]=s[i]+32; i++; } puts(s); } A)ahAMa B)AbAMa C)AhAMa[空格]ahA D)ahAMa[空格]ahA 本题答案为:A . 下列选项中属于不合法C 语言的字符串常量的是( )。 A)\"1\" B) 2y1 C)\"nn\" D)\"ABCDx6d\" 本题答案为:B 90. 以下不合法的字符常量是( )。 A) 018 B) \" C) D) xcc 本题答案为:A 91. 有以下程序 #include { char a,b,c,d; scanf(\"%c%c\ c=getchar();d=getchar(); printf(\"%c%c%c%cn\ 当执行程序时,按下列方式输入数据(从第1列开始, 则输出结果是( )。 A)1234 B)12 C)12 3 D)12 34 本题答案为:C 92. 有以下程序 #include { char c1,c2,c3,c4,c5,c6; scanf(\"%c%c%c%c\ c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(\"%c%cn\ 程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是( )。 A)1267 B)1256 C)1278 D)1245 本题答案为:D 93. 有以下程序 #include printf( \"%c,%dn\ } 已知字母A的ASCII码为65,程序运行后的输出结果是( )。 A)E,68 B)D,69 C)E,D D)输出无定值 本题答案为:A 94. 以下程序中调用scanf 函数给变量a 输入数值的方法是错误的,其错误原因是( )。 main( ) { int *p,*q,a,b; p=&a; printf(\"input a:\"); scanf(\"%d\ A)*p 表示的是指针变量p 的地址 B)*p 表示的是变量a 的值,而不是变量a 的地址 C)*p 表示的是指针变量p 的值 D)*p 只能用来说明p 是一个指针变量 本题答案为:B 95. 有以下程序 #include { if (x!=y) return( (x+y) /2 ); else return( x ); } main( ) { int a=4, b=5, c=6; printf( \"%dn\" , fun(2*a, fun( b, c ))); } 程序运行后的输出结果是( )。 A)6 B)3 C)8 D)12 本题答案为:A 96. 有以下函数 intfun(char*x, char*y) {intn=0; while((*x==*y) && *x!= 0 ) {x++;y++;n++;} returnn ; } 函数的功能是()。 A)统计x和y所指字符串中最前面连续相同的字符个数 B)查找x和y所指字符串中是否有 0 C)将y所指字符串赋给x所指存储空间 D)统计x和y所指字符串中相同的字符个数 本题答案为:A 97. 若程序中定义了以下函数: double myadd(double a,double b) { return (a+b);} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是( )。 A)double myadd(double a,b); B)double myadd(double,double); C)double myadd(double b,double a); D)double myadd(double x,double y); 本题答案为:A 98. 以下程序的输出结果是( )。 #include t=a; a=b; b=t; } main( ) { int i=3, j=5, *p=&i, *q=&j; swap(p, q); printf(\"%d %d\\n\ } A)2 3 B)3 4 C)3 5 D)4 5 本题答案为:C 99. 有以下程序 #include { int c[10]={1,2,3,4,5,6,7,8,9,0}, i; for (i=0; i<10; i+=2) fun(c[i], c[i+1]); for (i=0; i<10; i++) printf(\"%d,\ printf(\"n\");} 程序的运行结果是( )。 A)1,2,3,4,5,6,7,8,9,0, B)2,1,4,3,6,5,8,7,0,9, C)0,9,8,7,6,5,4,3,2,1, D)0,1,2,3,4,5,6,7,8,9, 本题答案为:A 100. 设有如下函数定义 #include 若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。 A)3 B)2 C)4 D)5 本题答案为:A 101. 有以下程序 char fun(char x , char y) { if(x { int a= 9 ,b= 8 ,c= 7 ; printf(\"%cn\ 程序的执行结果是( )。 A)函数调用出错 B)8 C)9 D)7 本题答案为:D 102. 已定义以下函数: int fun( int *p) { return *p; } fun函数返回值是( )。 A)不确定的值 B)一个整数 C)形参p中存放的值 D)形参p的地址值 本题答案为:B 103. 有以下程序 #include { int n=1,m; m=f(f(f(n))); printf(\"%dn\ } int f(int x) { return x*2; } 程序运行后的输出结果是( )。 A)8 B)2 C)4 D)1 本题答案为:A 104. 有以下函数 int fun(char*s) {char*t=s; while(*t++); return(t-s); } 该函数的功能是( )。 A)计算s所指字符串占用内存字节的个数 B)比较两个字符串的大小 C)计算s所指字符串的长度 D)将s所指字符串复制到字符串t中 本题答案为:C 105. 有以下程序 void f(int v , int w) { int t; t=v;v=w;w=t;} main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(\"%d,%d,%dn\ 执行后输出结果是( )。 A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,1 本题答案为:C 106. 以下程序的运行结果是( )。 int k=0; void fun(int m) {m+=k;k+=m;printf(\"m=%d k=%d \ main( ) { int i=4; fun(i++); printf(\"i=%d k=%dn\ A)m=4 k=5 i=5 k=5 B)m=4 k=4 i=5 k=5 C)m=4 k=4 i=4 k=5 D)m=4 k=5 i=4 k=5 本题答案为:B 107. 下面的函数调用语句中func函数的实参个数是( func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8))); A)3 B)4 C)5 D)8 本题答案为:A 108. 若有以下函数首部: int fun(double x[10], int *n) 则下面针对此函数的函数声明语句中正确的是( )。 A)int fun(double x, int *n); B)int fun(double, int); C)int fun(double *x, int n); D)int fun(double *, int *); 本题答案为:D )。 109. 设函数fun的定义形式为: void fun(char ch, float x){ }… 则以下对函数fun的调用语句中,正确的是( )。 A)fun(\"123\; B)t=fun( D ,16.5); C)fun( 65 ,2.8); D)fun(32,32); 本题答案为:D 110. 下列函数的运行结果是( main( ) { int i=2,p; int j,k; j=i;k=++i;p=f(j,k); printf(\"%d\ int f(int a,int b) { int c; if(a>b) c=1; else if(a= =b) c=0; else c=-1; return(c); } A)-1 B)1 )。C)2 D)编译出错,无法运行 本题答案为:A 111. 有以下程序 #include { int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c)); printf(\"%dn\ } 程序运行后的输出结果是( )。 A)9 B)10 C)8 D)7 本题答案为:A 112. 有以下函数: int aaa(char *s) { char *t=s; while(*t++); t--; return(t-s); } 以下关于aaa函数的功能的叙述正确的是( )。 A)求字符串s的长度 B)比较两个串的大小 C)将串s复制到串t D)求字符串s所占字节数 本题答案为:A 113. 设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是 ( )。 A)float *p=&x; B)int *p=(float)x; C)float p=&x; D)float *p=1024; 本题答案为:A 114. 有以下程序 #include { int n,*p=NULL; *p=&n; printf(\"Input n:\"); scanf(\"%d\ } 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是( )。 A)int n,*p=NULL; B)*p=&n; C)scanf(\"%d\ D)printf(\"%dn\本题答案为:A 115. 若有说明语句:double *p,a;,则能通过scanf语句正确给输入项读入数据的程序 段是( )。 A)*p=&a; scanf(\"%lf\B)*p=&a; scanf(\"%f\C)p=&a; scanf(\"%lf\D)p=&a; scanf(\"%lf\本题答案为:D 116. 有以下程序 main( ) { int a=7,b=8,*p,*q,*r; p=&a; q=&b; r=p; p=q; q=r; printf(\"%d,%d,%d,%dn\ 程序运行后的输出结果是( )。 A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7 本题答案为:C 117. 以下叙述中错误的是( )。 A)可以给指针变量赋一个整数作为地址值 B)函数可以返回地址值 C)改变函数形参的值,不会改变对应实参的值 D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL 本题答案为:A 118. 设有定义:int a, *pa=&a;,以下scanf语句中能正确为变量a读入数据的是( )。 A)scanf(\"%d\B)scanf(\"%d\C)scanf(\"%d\D)scanf(\"%d\本题答案为:A 119. 以下数组定义中错误的是( )。 A)int x[2][3]={{1,2},{3,4},{5,6}}; B)int x[][3]={0}; C)int x[][3]={{1,2,3},{4,5,6}}; D)int x[2][3]={1,2,3,4,5,6}; 本题答案为:A 120. 已有定义:int i,a[10],*p; ,则合法的赋值语句是( )。 A)p=100; B)p=a[5] C)p=a[2]+2 D)p=a+2; 本题答案为:D 121. 若有定义:int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。 A)*(*w+3) B)*(w+1)[4] C)*(*(w+1)) D)*(&w[0][0]+1) 本题答案为:B 122. 有以下程序
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务