C语言练习题总汇
四、 单选题:
【顺序结构程序设计】
1.己知int k,m=1;执行语句k=-m++;k的值是( A )。(提示:负号与自加运算符同级,结合方向从右向左
A)-1    B) 0    C)1    D)2
2.若有定义int  x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。
A)5      B)20    C)40  D)无答案
3.若有定义:float  a=3.0,b=4.0,c=5.0;则表达式 1/2*(a+b+c)的值为( C )。
A)6.0    B)6    C)0.0  D)无答案
4.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。
int a=1234;
printf("%2d\n",a);
A)12    B)34  C)1234  D)提示出错,无结果
5.下列程序段的输出结果是(C)。
int a=1234;
float b=123.456;
double c=12345.54321;
printf("%2d,%3.2f,%4.1f",a,b,c);
A)无输出        B)12, 123.46, 12345.5  C)1234,123.46,12345.5  D)1234,123.45, 1234.5
6.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。
printf("%d,%d\n",x--++y);
A)8,5       B)7,5     C) 7,6  D) 8,6
7.以下程序的输出结果是( A )。
int  main()
{ int a=20,b=10;
  printf("%d,%%d\n",a+b,a-b);  }
A) 30,%d      B)30,10    C)30,%10    D)以上答案均不正确  (%%d中第一个%后面的表示字符)
8.下列程序的运行结果是(A)。
int  main()
{ float x=2.5
  int y;
  y=(int)x;
printf("continue语句执行过程x=%f,y=%d",x,y);  }
A) x=2.500000,y=2   B)x=2.5,y=2    C)x=2,y=2          D) x=2.500000,y=2.000000
9.以下程序的输出结果是(A)。
int main()
{ char c=z’;
  printf("%c",c-25);}
A)a     B)z    C)z-25    D)y    (字母共有26个,而z是最后一个)
10.下面程序的输出结果是(C)。
int  main( )
{ double d=3.2 ;
int  x=1.2, y ;
y=(x+3.8)/5.0 ;
    printf("%d\n",d*y);}
A) 3    B)  3.2    C)0      D)  3.07
11.下面程序的输出结果是( C )(提示:输出时无定界符)
int  main()
{ int  k=17;
printf("%d,%o,%x\n",k,k,k);}
A)17,17,17      B)17,021,0x11  C)17,21,11      D)17,0x11,021
12.下列程序执行后的输出结果是(C)。
int main()
{ char x =OxFFFF;
  printf("%d\n",x--);}
A)-32767   B)FFFE   C)-1    D)=-32768
13.printf("a\bre\'hi\'y\\\bou\n");的输出结果是(C)。
A)a\bre\'hi\'y\\\bou   B)a\bre\'hi\'y\bou
C)re'hi'you            D)abre'hi'y\bou
14.有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中错误的是(A)。
A)11<空格>12<回车>                            B)11,<空格>12<回车> 
C)11,12<回车>                                D)11,<回车>12<回车>
15.有以下程序段:
int m=0,n=0;
char c=‘a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10 <回车>,则输出结果是(A)。
A)10,A,10  B)16,a,10  C)10,a,0  D)10,A,0
16.若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值1,b赋值2,c赋值3,不正确的输入形式是(B)。
A) 1<空格>2<空格>3<回车 B)1,2,3<回车C)1<回车>2<空格>3<回车>  D)1<空格>2<回车>3<回车>
17.a, b,c被定义为int型变量,若从键盘给a, b,c输入数据,正确的输入语句是(D)
A)input a,b,c;  B)read("%d%d%d",&a,&b,&c);  C)scanf("%d%d%d",a,b,c);  D)scanf("%d%d%d",&a,&b,&c);
18.已知a,b,c为int型变量,若从键盘输入:1,2,3<回车>,使a的值为1,b的值为2,c的值为3,以下选项中正确的输入语句是(B)。
A)scanf("%2d,%2d,%2d",a,b,c);    B)scanf("%d,%d,%d",&a,&b,&c);
C)scanf("%d %d %d",&a,&b,&c);      D)scanf("i=%dj=%d,k=%d",&a,&b,&c);
19.执行下程序时输入:123<空格>456<空格>789<回车>,输出结果是( D )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。