• 94.00 KB
  • 2022-04-22 11:47:17 发布

c语言备考习题及部分答案.doc

  • 6页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'一、判断题 1. 格式字符%md中的m不能为负。( ×   )2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。( )3. printf("%d",sizeof(1234));其结果是4。( ×  )  4. 在C语言中,任何一个表达式的最后加上一个分号就构成一个合法的语句。( )  5. 下面程序执行结果是32768。(×  )  main( )    {int a,b;    printf("%dn",b=(a=32767,a+1));}二、单选题  1. 下述程序的输出结果是(B )  #include   void main()  {int a,b,c=241;   a=c/100%9;   b=-1&&-1;   printf("%d,%d",a,b);  }  2. 若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(D )A)scanf("x%d y=%d",&x,&y);  a=getch();b=getch();c=getch();B)scanf("x=%d%d",&x,&y);  a=getch();b=getch();c=getch();C)scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c);D)scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c,&c); 3. 已有定义double d,f;数据的输入方式为:3.45 1.2根据定义和数据的输入方式,输入函数调用语句的正确形式为(A )A)scanf("%lf%lf",&d,&f)B)scanf("%f%f",&d,&f)C)scanf("3.2f%3.1f",&d,&f)D)scanf("%3.2lf%3.1lf",&d,&f)  4. 如下程序:#include      void main()         { int m,n,k;        m=(n=4)+(k=10-7);        printf(“m=%dn”,m);       }             运行后m的值为( C )。  (A)4     (B)3       (C)7      (D)145. 下面程序的输出是(C  )。     #include      void main()      { int x=10,y=3;        printf(“%dn”,y=x/y);      }    (A)0      (B)1      (C)3      (D)不确定的值 6. 下面程序运行情况是( D )。  #include   void main()   { int x=3,y=0,z=0;     if (x=y+z)      printf(“****”);    else       printf(“####”);    }  (A)有语法错0不能通过编译  (B)输出****  (C)可以通过编译,但不能通过连接,因而不能运行  (D)输出####  7. 结构化程序的三种基本结构是(A  )。(A)顺序结构、选择结构、循环结构   (B)递归结构、循环结构、转移结构(C)嵌套结构、递归结构、顺序结构   (D)循环结构、转移结构、顺序结构  8. 以下程序的输出结果是( B )。#include main() { int i=010,j=10;  printf("%d,%d",++i,j--); }(A) 11,10   (B) 9,10   (C) 010,9   (D) 10,9  9. 运行完下列程序后,在屏幕上的内容是( D )。main () { int a=0;   a+=(a=12);    printf ("%dn",a); }  10. 语句printf("s=%-5.3s","computer");的输出结果是(B  )。A) s= com B)s=com  C)s= ter D)s=ter   11. 下面程序的输出是(C)                                              main(  )                                                            {int x=10,y=3;                                                    printf(“%dn”,y=x/y); }  A)0  B)1   C)3    D)不确定的值  12. 执行下面程序中输出语句后,a的值是( C  ) 。 main(  )                                            {inta;                                                    printf(“%dn”,(a=3*5,a*4,a5));   }  A)65    B)20    C)15    D)10  13. 下列程序的输出结果是(A  )。  main( )   {int a=-1,b=1,c;    c=(a++<=0)&&!(b--<=0));    printf("%d,%d,%d",a,b,c);        } A)0,0,1     B)-1,1,1     C)0,1,0     D)0,0,0  14. 以下程序运行后,m的值为( C   ) 。   #include             void main( )     { int m,n,k;       m=(n=4)+(k=10-7);       printf("m=%dn",m);              }    A)4     B)3     C)7     D)14  15. 下面程序的输出结果是( D  )。  main( )  {int x=10;   printf("%dn",~x);       }    A)9   B)-9   C)11   D)-11  16. 以下程序的输出结果是( D )。  main( )   {int x=10,y=10;   printf("%d,%dn",x--,--y); }  A)10,10   B)9,9   C)9,10    D)10,9A.  B.  C.  D.  17. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式 (B  )。A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错0信息   18. putchar函数可以向终端输出一个DA) 整型变量表达式值    B) 实型变量值 C) 字符串         D) 字符或字符型变量值  19. 根据定义和数据的插入方式,输入语句的正确形式为( B )。已有定义:float f1,f2;数据的输入方式:4.52        3.5A)scanf("%f,%f",&f1,&f2);B)scanf("%f%f",&f1,&f2);C)scanf("%3.2f %2.1f",&f1,&f2);D)scanf("%3.2f%2.1f",&f1,&f2);  20. 已知ch是字符型变量,下面不正确的赋值语句是( A )。A)ch=""a+b""  B) ch=""O"";  C)ch=""7""+""9"";  D)ch=5+9;21. 假设int a=4; 以下不正确的语句是(A )。  A)a+1=4;      B){a+++ +4;a/=4}      C) ;     D)printf("a+1=4");  22. 如下程序的执行结果是( B     )。   main()      { int x=023;         printf("%dn",--x);       }A) 17      B) 18       C) 23         D) 2423. 以下程序的输出结果是( D  ) 。   main( )    {char x=040;     printf("%dn",x=x<<1); }    A)100    B)80    C)120    D)64 24. 假如一个整型变量的最大允许值为32767,那么运行如下程序后屏幕上会输出的结果是(B  )main()  {int a,b;     a=32767;     b=a+1;     printf(“%d,%d”,a,b);     }A) 32767,32768    B) 32767,-32768    C) 32767,0   D) 运行时报错  25. 已知字母A的ASCII码为十进制的65,下面程序的输出是Cmain() { char ch1,ch2;      ch1=""A""+""5""-""3"";       ch2=""A""+""6""-""3"";       printf("%d,%cn",ch1,ch2);      } A) 67,D    B) B,C      C) C,D    D) 不确定的值26. 请读程序片段:int i=65536; printf("%dn",i);上面程序片段的输出结果是(  B )。A) 65536     B) 0     C) 有语法错0,无输出结果   D) -127. 在下列程序段中:     int x, y ;  scanf("%3d*2d%d",&x,&y);    若输入的数据为:12345678,则x、y的值分别为(B      )。A) 123,456      B)123,678  C)12345 678  D)无法得到正确的值  28. 有如下程序,输入数据12 345后,y的值是(B )。   #include     main()      {int x;         float y;       scanf("%3d%f",&x,&y);       } (A)12.000000  (B)345.000000  (C)12345.000000 (D)0.000000  29. 有如下程序,若要求a1,a2,c1,c2的值分别为10,20,A,B,正确的数据输入是(D )    main()     {int a1,a2;     char c1,c2;     scanf("%d%d",&a1,&a2);     scanf("%c%c",&c1,&c2);     }  (A)1020AB    (B)10 20AB      (C)10 20 AB     (D)10 20AB  30. 下列语句的输出为(A )。  int x=-1;  printf("%d,%u,%o",x,x,x);A) -1,65535,177777    B)-1,-1,-1C) -1,32767,-177777    D)-1,32768,177777  31. 若有定义int a=3; 则执行完printf("%d",-a--);语句后,a 的值为(B  )。A)-3    B)2    C)-2    D)3  32. 以下程序的输出结果是( C )。int x=3,y=4;void main( ) { int x,y=5;  x=y++;  printf("%d",x);   }A)3    B) 4    C) 5      D) 633. 设有如下定义:int x=10,y=3,z; 则语句:      z=(x%y,x/y));                 printf(“%dn”,Z);   的输出结果是(D  )  A)1       B)0       C)4       D)3  34. 以下程序的输出结果是 ( D ) .  main(  )   { int a=3;     printf("%dn",(a+a-=a*a) ); }        A) -6    B)12     C) 0      D) –12 35. 设有定义:int x=1,y=-1;则语句:    printf("%dn",(x--&++y); 的输出结果是(B  ). A)1  B)0    C)-1     D)2 36. 设有如下定义: int x=10,y=3,z; 则语句:  printf("%dn",z=x%y,x/y));  的输出结果是( D )。                                                        A)1      B)0      C)4        D)3   37. 下列程序的输出结果是( A  ) main(  )  { double d=3.2;                                                      int x,y;     x=1.2;       y=(x+3.8)/5.0;      printf("%d n", d*y);   }                                                          A) 3   B) 3.2    C) 0     D) 3.07   38. 已知E的ASCII码是69,则执行以下语句的结果是( A )。     printf("%c",""D""-""8""+""5""); A)66   B)A    C)B    D)E  39. 执行下面程序后,n的值为(  C ) 。 main(  )       {int n,a=2,b=3,c=4;      n=(ab)?b:c;    n=(nb)?b:c; }                                                                A)5    B)4     C)3     D) 2  44. 以下程序的运行结果为( C   )。  main( )   {unsigned a=3,b=10;    printf("%dn",a<<2|b>>1); } A)3    B)10   C) 13    D)14  45. 以下程序的运行结果为(A )。  main( )    {int x=17,y=26;    printf("%d",y/=(x%=6));}    A)5    B)8     C)2    D)26  46. 以下程序的输出是( B  ).    main( )     {int a,b,d=241;     a=d/100%9;     b=(-1)&&(-1);     printf("%d,%dn",a,b);} A)6,1   B)2,1    C)6,0    D)2,047. 下列程序段的输出结果是(A)。 int x=1 , y=1 , z; z=1||++x&&y--; printf("n%d,%d,%d",x,y,z);A) 1,1,1    B) 2,0,1  C)2,1,1   D)2,0,0  48. 下列程序的运行结果是(B  ).  #include  main( )    {unsigned a,b,c;     a=0x255; b=a<<4;      x=(~b)&0xff ; printf("%f",x);}                                                        A)0x55     B)0xaf     C)0x50     D)0xda  49. 若有定义int a=25,b=14,c=19;则以下三目运算符构成的语句的执行结果是( B   )   a++<=25&&b--<=2&&c++ ? pritnf("%d,%d,%dn",a,b,c):printf("%d,%d,%dn",a,b,c);  A)25,14,19       B)26,13,19       C)25,13,19       D)26,14,19一、多选题1.结构化程序设计思想应该包括( ABCD )。(A)使用顺序、分支、循环三种基本结构;(B)限制使用goto语句;(C)应该使用自顶向下、逐步求精的方法;(D)应该使用模块化的方法;(E)编码过程中,变量名的命名只要程序员自己明白就可以了;2.  2. 对于scanf()函数,下列说法正确的是(ABD   )。A)如果相邻格式符之间没有数据分隔,则对应的输入数据之间可用空格、回车分隔。B)输入数据时不能指定精度。C)在用格式说明符"%c"输入单个字符时,空格字符和转义字符是无效字符,即不能被输入。D)遇到空格、或者回车时,系统认为一个数据输入结束。3.  3. 已知ch是字符型变量,下面正确的赋值语句是(BC )。A)ch=""123"";    B) ch=""xff"";  C)ch=""t"";  D)ch="";4.  4. 若有定义int a,b; float x;,则以下不正确的赋值语句是(ACD   )。A)a=1,b=2,  B)b++;  C)a=b=5  D)b=int(x);四、填空题  1. 在C语言中没有固有的输入和输出语句,但是用C语言编写的程序可以用函数调用的形式来实现输入、输出,这些函数由( 标准I/O库/系统    )提供。2. 语句printf("%d",(a=2)&&(b= -2)); 的输出结果是____1________。  3. 执行以下程序段后,a 的值是______1____.   int a; a=-2*4%-5/2;五、阅读程序  1. 下列程序的运行结果是 ( 3 2 1).  main()   {int x=1;    {int x=2;    {int x=3;     printf("%d",x);    }     printf("%d",x);    }    printf("%d",x);   }'