int main(void) int a=0; a+=(a=8): printf("%d\n",a); return 0; 9.设有定义"f1oatx=123.4567;",则执行"printf("%fn",(int)(x*100+0.5)/100.0),"语句后 的输出结果是 0 10.以下程序的输出结果是 int main(void) int a,b,c; a=25,b=025,c=0x25: printf("%d %d%d n",a b,c); return 0; 参考答案 一.选择题 1.B 2.A 3.C 4.B 5.A 6.D 7.A 8.A 9.B 10.B 11.D 12.D 13.A 14.C 15.D 16.C 17.C 18.A 19.C 20.D 二.填空题 1.1.0 2.1 3.a=a-(a+b) 4.11110000 5.3.000000 6.1111111111111011 7.32767 8.16 9.123.460000 10.252137 习题三顺序结构 一.选择题 1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须 相同。如果格式说明的个数小于输出项的个数,多余的输出项将():如果格式说明的 6
6 int main(void) { int a=0; a+=(a=8); printf("%d\n",a); return 0; } 9. 设有定义"float x=123.4567;",则执行" printf("%f\n",(int)(x*100+0.5)/100.0);"语句后 的输出结果是 。 10. 以下程序的输出结果是 。 int main(void) { int a,b,c; a=25; b=025; c=0x25; printf("%d %d %d\n",a,b,c); return 0; } 参 考 答 案 一. 选择题 1.B 2.A 3.C 4.B 5.A 6.D 7.A 8.A 9.B 10.B 11.D 12.D 13.A 14.C 15.D 16.C 17.C 18.A 19.C 20.D 二. 填空题 1.1.0 2.1 3.a=a-(a+b) 4.11110000 5.3.000000 6.1111111111111011 7.32767 8.16 9.123.460000 10.25 21 37 习题三 顺序结构 一. 选择题 1. C 语言中调用 printf 进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须 相同。如果格式说明的个数小于输出项的个数,多余的输出项将( );如果格式说明的
个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。 A.不予输出 B.输出空格 C照样输出 D.输出不定值或0 2.在scaf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型 不匹配,系统( A.不予接收 B.并不给出出错信息,但不可能得出正确信息数据 C能接受正确输入 D.给出出错信息,不予接收输入 3.下列说法正确的是( )。 A.输入项可以是一个实型常量,如scanf("%f",4.8): B.只有格式控制,没有输入项也能进行正确输入,如scanf"a=%d,b=%d"): C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f: D.当输入数据时,必须指明变量的地址,如scanf("%f",&f): 4.以下程序的输出结果是()。 void main() { inti=010j=l0,k=0x10: printf("%d,%d,%dn",ijk); } A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16 5.以下程序的输出结果是()。 void main()】 { int i=011,j=11,k=0x11; printf("%d,%d,%dn",ij,k); } A.9,11,17 B.9,11,11 C.11,11,11 D.11,11,16 6.以下程序的输出结果是()。 #include<stdio.h> void main ( printf("%d\n",NULL):} A.不确定的值(因变量无定义) B.0 c.-1 D.1 7.以下程序的输出结果是()。 void main ( { char cl='6',c2='0' >
7 个数多于输出项的个数,则对于多余的格式将输出不定值(或 0)。 A.不予输出 B.输出空格 C.照样输出 D.输出不定值或0 2. 在 scanf 函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型 不匹配,系统( )。 A.不予接收 B.并不给出出错信息,但不可能得出正确信息数据 C.能接受正确输入 D.给出出错信息,不予接收输入 3. 下列说法正确的是( )。 A.输入项可以是一个实型常量,如 scanf("%f",4.8); B.只有格式控制,没有输入项也能进行正确输入,如 scanf("a=%d,b=%d"); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf("%5.3f",&f); D.当输入数据时,必须指明变量的地址,如 scanf("%f",&f); 4. 以下程序的输出结果是( )。 void main ( ) { int i=010,j=10,k=0x10; printf("%d,%d,%d\n",i,j,k); } A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16 5. 以下程序的输出结果是( )。 void main ( ) { int i=011,j=11,k=0x11; printf("%d,%d,%d\n",i,j,k); } A.9,11,17 B.9,11,11 C.11,11,11 D.11,11,16 6. 以下程序的输出结果是( )。 #include<stdio.h> void main ( ) { printf("%d\n",NULL);} A.不确定的值(因变量无定义) B.0 C.-1 D.1 7. 以下程序的输出结果是( )。 void main ( ) { char c1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2); } A因输出格式不合法,输出出错信息 B.6,0,6,102 C.6,0,7,6 D.6,0,5,7 8.设有如下定义 intx=10,y=3,z, 则语句 printf("%d\n",z-(x%y,x/y)); 的输出结果是( )。 A.3 B.0 C.4 D.1 9.设有如下定义 int x=10,y=5,z 则语句 printf("%d\n",z=(x+=y,x/y)); 的输出结果是( )。 A.1 B.0 C.4 D.3 10.写出下面程序的输出结果( )。 void main ( int x; x=-3+4*5-6;printf"%d",x); x=3+4%5-6;printf("%d",x): x=-3*4%6/5;printf("%d"x): x=(7+6)%5/2;printf("%d",x); } A.11101 B.11-321 C.12-321 D.11121 11.写出下面程序的输出结果()。 void main ( { int x,y,Z x-y=1; z=x++-1;printf("%d,%d\t",x,z); z+=-x+++(++y);printf("%d,%d",x,z); A.2,03,0 B.2,13,0 C.2,02,1 D.2.10.1 12.写出下面程序的输出结果()。 void main ( intij;
8 printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2); } A.因输出格式不合法,输出出错信息 B.6,0,6,102 C.6,0,7,6 D.6,0,5,7 8. 设有如下定义 int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。 A.3 B.0 C.4 D.1 9. 设有如下定义 int x=10,y=5,z; 则语句 printf("%d\n",z=(x+=y,x/y)); 的输出结果是( )。 A.1 B.0 C.4 D.3 10. 写出下面程序的输出结果( )。 void main ( ) { int x; x=-3+4*5-6;printf("%d",x); x=3+4%5-6;printf("%d",x); x=-3*4%6/5;printf("%d",x); x=(7+6)%5/2;printf("%d",x); } A.11 1 0 1 B.11 -3 2 1 C.12 -3 2 1 D.11 1 2 1 11. 写出下面程序的输出结果( )。 void main ( ) { int x,y,z; x=y=1; z=x++-1;printf("%d,%d\t",x,z); z+=-x++ +(++y);printf("%d,%d",x,z); } A.2,0 3,0 B.2,1 3,0 C.2,0 2,1 D.2,1 0,1 12. 写出下面程序的输出结果( )。 void main ( ) { int i,j;
i=20;j=(++i)+i;printf("%d",j); i=13;printf("%d %d"+i); A.4214,13 B.4114.14 C.421313 D.421314 13.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长 度大于4,则按原字符长从左向右全部输出:如果字符串长度小于4,则输出方式为( )。 A.从左起输出该字符串,右补空格 B.按原字符长从左向右全部输出 C右对齐输出该字符,左补空格 D.输出错误信息 14.根据定义和数据的输入方式,输入语句的正确形式为( 己有定义:float al,.a2: 数据的输入方式:4.523 3.52 A.scanf(%f%f”,&al,&a2)月 B.scanf("f,%f",al,a2); C.scanf%4.3f,%3.2f”,&al,&a2) D.scanf("%4.3f%3.2f",al,a2); 15.下列程序的输出结果是( int main(void) intk=11; printf("k=%d,k=%o,k=%x\n"k.k.k); return0; A.k=11,k=12.k=11 B.k=11,k=13,k=13 C.k=Il,k=013,k=Oxb D.k=11,k=13,k=b l6.假定w、x、y、z、m均为int型变量,则运行如下程序段后,m的值是( )。 w=1;X=2,y=3,Z=4 m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:Z; A.4 B.3 C.2 D.1 17.已知字符a的ASC十进制代码为97,则执行下列程序段后的输出结果是( ) char ch:int k ch='a';k=12: printf("%c,%d,",ch,chk). printf("k=%d\n",k); A.因变量类型与格式描述符的类型不匹配输出无定值 B.输出项与格式描述符个数不符,输出为零值或不定值 C.a,97,12k=12 D.a97,k=12 18.下列程序的输出结果是()。 int main(void) 9
9 i=20;j=(++i)+i;printf("%d",j); i=13;printf("%d %d",i++,i); } A.42 14,13 B.41 14,14 C.42 13 13 D.42 13 14 13. printf 函数中用到格式符"%4s",其中数字 4 表示输出的字符串站用 4 列。如果字符串长 度大于 4,则按原字符长从左向右全部输出;如果字符串长度小于 4,则输出方式为( )。 A.从左起输出该字符串,右补空格 B.按原字符长从左向右全部输出 C.右对齐输出该字符,左补空格 D.输出错误信息 14. 根据定义和数据的输入方式,输入语句的正确形式为( )。 已有定义:float a1, a2; 数据的输入方式:4.523 3.52 A.scanf(“%f %f ”, &a1,&a2); B.scanf(“%f ,%f ”, a1, a2); C.scanf(“%4.3f ,%3.2f ”, &a1,&a2); D.scanf(“%4.3f %3.2f ”, a1,a2); 15. 下列程序的输出结果是( )。 int main(void) { intk=11; printf("k=%d,k=%o,k=%x\n",k,k,k); return 0; } A. k=11,k=12,k=11 B. k=11,k=13,k=13 C. k=ll,k=013,k=Oxb D. k=11,k=13,k=b 16. 假定w、x、y、z、m均为int型变量,则运行如下程序段后,m的值是( )。 w=1; x=2; y=3; z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; A. 4 B. 3 C. 2 D. 1 17. 已知字符a的ASCII十进制代码为97,则执行下列程序段后的输出结果是( )。 char ch:int k: ch='a'; k=12; printf("%c, %d,",ch,ch,k); printf("k=%d\n",k); A. 因变量类型与格式描述符的类型不匹配输出无定值 B. 输出项与格式描述符个数不符,输出为零值或不定值 C. a,97,12k=12 D. a,97,k=12 18. 下列程序的输出结果是( )。 int main(void)
char a=4; printf("%d\n",a=a<<l);return 0;) A.40 B.16 C.8 D.4 19.若有以下定义"char cl=b',c2=e,",则语句"print"%d,%cln",c2-cl,c2-'a+'A'),"的输出结 果是( )。 A.2,M B.3,E C.2,E D.格式控制不一致,结果不确定 20.假定从键盘输入23456<回车>,下面程序的输出结果是()。 void main() int m,n; scanf("%2d%3d",&m,&n): printf("m=%d n=%d\n",m,n); } A.m=23n=45 B.m=234n=56 C.m=23n=456 D.语句有错误 二.填空题 l.putchar函数的作用是 2.printf是C语言提供的标准输出函数,它的作用是 3.printfi函数的“格式控制”包括两部分,它们是 4.对不同类型的语句有不同的格式字符。例如: 格式字符是用来输出十进制整 数, 格式字符是用来输出一个字符, 格式字符是用来输出一个字符 串。 5.%-ms表示如果串长 m,则在m列范围内,字符串向 靠, 补空格。 6.如果要输出字符“&”,则应该在“格式控制”字符串中用 表示。 7.getchar函数的作用是 8.符号“&”是 运算符,&a是指 9.scanf函数中的“格式控制”后面应当是 而不是 10.C语言中的空语句就是 11.复合语句是由一对 括起来的若干语句组成。 12.下面程序的输出结果是 #include<stdio.h> void main ( { int x=2.y.z: x*=3+2;printf("%d\n",x); x*=y=z=4;printf("%d\n",x); x=y=zprintf("%d\n",x); 10
10 { char a=4; printf("%d\n", a=a<<l); return 0; } A. 40 B. 16 C. 8 D. 4 19. 若有以下定义" char cl ='b',c2='e';",则语句"printf("%d, %c\n",c2-c 1,c2-'a'+'A');"的输出结 果是( )。 A. 2,M B. 3,E C. 2,E D. 格式控制不一致,结果不确定 20. 假定从键盘输入23456< 回车 >,下面程序的输出结果是( )。 void main ( ) { int m,n; scanf("%2d%3d", &m,&n); printf("m=%d n=%d\n",m,n); } A.m=23 n=45 B.m=234 n=56 C.m=23 n=456 D.语句有错误 二. 填空题 1. putchar函数的作用是 。 2. printf是C语言提供的标准输出函数,它的作用是 。 3. printf函数的“格式控制”包括两部分,它们是 和 。 4. 对不同类型的语句有不同的格式字符。例如: 格式字符是用来输出十进制整 数, 格式字符是用来输出一个字符, 格式字符是用来输出一个字符 串。 5. %-ms表示如果串长 m,则在m列范围内,字符串向 靠, 补空格。 6. 如果要输出字符“&”,则应该在“格式控制”字符串中用 表示。 7. getchar函数的作用是 。 8. 符号“&”是 运算符,&a是指 。 9. scanf函数中的“格式控制”后面应当是 ,而不是 。 10. C语言中的空语句就是 。 11. 复合语句是由一对 括起来的若干语句组成。 12. 下面程序的输出结果是 。 #include<stdio.h> void main ( ) { int x=2,y,z; x*=3+2;printf("%d\n",x); x*=y=z=4;printf("%d\n",x); x=y=z;printf("%d\n",x);