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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务