1、C语言作业题答案东华理工大学:C语言第三章作业题 C程序设计第三章 闭/开卷 课程类别:考试/考查题号一二三四五六七八九总分分数评卷人第三章 顺序结构程序设计一、选择题1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将 A ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。 A)不予输出 B)输出空格 C)照样输出 D)输出不定值或02.在 scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统 B 。 A)不予接收 B)并不给出出错信
2、息,但不可能得出正确信息数据 C)能接受正确输入 D)给出出错信息,不予接收输入3.下列说法正确的是 D 。 A)输入项可以是一个实型常量,如scanf(%f,4.8); B)只有格式控制,没有输入项也能进行正确输入,如scanf(a=%d,b=%d); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%5.3f,&f); D)当输入数据时,必须指明变量的地址,如scanf(%f,&f);4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是 B 。main()int a;float x;printf(input a,x:);输入语句输出语句输入形式
3、 input a,x:3 2.1输出形式a+x=5.10A)scanf(%d,%f,&a,&x); printf(na+x=%4.2f,a+x);B)scanf(%d %f,&a.&x); printf(na+x=%4.2f,a+x);C)scanf(%d %f,&a,&x); printf(na+x=%6.1f,a+x);D)scanf(%d %3.1f,&a,&x);printf(na+x=%4.2f,a+x);5.以下程序的输出结果是 A 。main()int i=010,j=10,k=0x10;printf(%d,%d,%dn,i,j,k);A)8,10,16 B)8,10,10 C)
4、10,10,10 D)10,10,166.以下程序的输出结果是 A 。main()int i=011,j=11,k=0x11;printf(%d,%d,%dn,i,j,k);A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,167.以下程序的输出结果是 B 。#includemain()printf(%dn,NULL);A)不确定的值(因变量无定义) B)0C)-1 D)18.以下程序的输出结果是 B 。main()char c1=6,c2=0;printf(%c,%c,%d,%dn,c1,c2,c1-c2,c1+c2);A)因输出格式不合法,输出出错信息 B)6,
5、0,6,102C)6,0,7,6 D)6,0,5,79.设有如下定义int x=10,y=3,z;则语句printf(%dn,z=(x%y,x/y);的输出结果是 A 。A)3 B)0 C)4 D)110.设有如下定义int x=10,y=5,z;则语句printf(%dn,z=(x+=y,x/y);的输出结果是 D 。A)1 B)0 C)4 D)311.以下程序的输出结果是 D 。main()int x=10,y=10;printf(%d %dn,x-,-y);A)10 10 B)9 9 C)9 10 D)10 912.写出下面程序的输出结果 A 。main()int x;x=-3+4*5-
6、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 113.写出下面程序的输出结果 A 。main()int x,y,z;x=y=1;z=x+-1;printf(%d,%dt,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,114.写出下面程序的输出结果 C 。main()int i,j;
7、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 1415.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,代表换行符)1 2A B C则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是 C 。A)scanf(x=%dy=%d,&x,&y);a=getchar();b=getchar();c=getchar();B)scanf(%dy%d,&x,&y);a=getchar();b=getchar();
8、c=getchar();C)scanf(%d%d%c%c%c%c%c%c,&x,&y,&a,&a,&b,&b,&c,&c);D)scanf(%d%d%c%c%c,&x,&y,&a,&b,&c);16.若已知a=10,b=20,则表达式!ab的值为 C 。A)10 B)20 C)1 D)017.printf函数中用到格式符%4s,其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为 C 。A)从左起输出该字符串,右补空格 B)按原字符长从左向右全部输出C)右对齐输出该字符,左补空格 D)输出错误信息18.以下C程序,正确的运行
9、结果是 C 。main()long y=-34567;printf(y=%-8ldn,y);printf(y=%-08ldn,y);printf(y=%08ldn,y);printf(y=%+8ldn,y);A)y= -34567 B)y=-34567 y=- 34567 y=-34567 y=-0034567 y=-0034567 y=-34567 y=+ -34567C)y=-34567 D)y= -34567 y=-34567 y=-0034567 y=-0034567 y=00034567y=-34567 y=+3456719. 程序的基本编译单位是 B 。(0102第二学期试题)A)
10、函数 B)文件 C)源文件 D)子程序20. 设有如下定义和执行语句,其输出结果为: A 。(03试题) int a=3,b=3; a = - -b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 321. 根据定义和数据的输入方式,输入语句的正确形式为: A 。(往届试题)已有定义:float a1, a2;数据的输入方式: 4.523 3.52A)scanf(“%f %f ”, &a1,&a2);B)scanf(“%f ,%f ”, a1, a2);C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);D)scanf(“%4.3
11、f %3.2f ”, a1,a2);22. 以下程序的输出结果是: A 。(往届试题) main( ) int I=012, j=12, k=0x12;printf(“%d,%d,%dn”,I, j, k );A)10, 12, 18 B)12, 12, 12C)10, 12, 12 D)12, 12, 1823. 以下程序的输出结果是:(注:表示空格) D 。(往届试题)main( ) printf(“n*s1=%8s*”, “china”);printf(“n*s2=%-5s*”, “chi”) ; A)*s1=china * B)*s1=china * *s2=chi* *s2=chi
12、*C)*s1= china* D)*s1= china* *s2= chi * *s2=chi *二.填空题1.C语言中的语句可分为5类,即控制语句 空语句 复合语句 函数调用语句 表达式语句。2.由一次函数调用加一个分号构成一个函数调用语句语句。3.putchar函数的作用是向终端输出一个字符。4.printf是C语言提供的标准输出函数,它的作用是在终端设备上(或系统隐含的输出设备上)按照指定的格式进行输出。5.printf函数的“格式控制”包括两部分,他们是格式说明 和普通字符。6.对不同类型的语句有不同的格式字符。例如: d 格式字符是用来输出十进制整数, c 格式字符是用来输出一个字符
13、, s 格式字符是用来输出一个字符串。7.%-ms表示如果串长 小于 m,则在m列范围内,字符串向 左 靠, 右 补空格。8.如果要输出字符“&”,则应该在“格式控制”字符串中用 %c 表示。9.getchar函数的作用是 从终端输入一个字符 。10.符号“&”是 地址 运算符,&a是指 a内存中的地址 。11.scanf函数中的“格式控制”后面应当是 变量地址 ,而不是 变量名 。12.C语言中的空语句就是一个分号空操作 。13.复合语句是由一对 大括号 括起来的若干语句组成。14.分析下面程序:#includemain()int x=2,y,z;104044x*=3+2;printf(%d
14、n,x);x*=y=z=4;printf(%dn,x);x=y=z;printf(%dn,x);x=(y=z);printf(%dn,x);程序的输出结果为 。15.编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。jia=70.000000jian=30.000000cheng=1000.000000chu=2.5000000程序:#includevoid main(void) float a=50.0;b=20.0;printf(jia=%fn, a+b );printf(jian=%fn a-b );printf(cheng=%fn, a*b );printf(chu=%fn
15、, a/b );将缺少的部分填在空白处。16.下列程序的输出结果是 65A 。#includemain()char a;a=A;printf(%d%c,a,a);17.分析下面程序mainint x=2,y,z;10402,03,0x*=3+2;printf(%dn,x);x*=y=z=4;printf(%dn,x);x=y=1;z=x+-1;printf(%d,%dn,x,z);z+=-x+ +(+y);printf(%d,%d,x,z);程序的输出结果是 。18.分析下面程序main()3216,154013,13int x,y;x=16,y=(x+)+x;printf(%dn,y);x=
16、15;printf(%d,%dn,+x,x);x=20,y=x- +x;printf(%dn,y);x=13;printf(%d,%d,x+,x);程序的输出结果是 。19.以下程序的输出结果为:_3.140000,3.142_。(03试题) main( ) float a=3.14, b=3.14159; printf(“%f, %5.3fn”,a,b); 20.以下程序的输出结果为:_a回车_。(0405第二学期试题)include main( ) char c1,c2;c1=a;c2=n;printf(“%c%c”,c1,c2); 东华理工大学:C语言第四章作业题 C程序设计第四章 闭/
17、开卷 课程类别:考试/考查题号一二三四五六七八九总分分数评卷人 第四章 选择结构程序设计一、选择题1下列运算符中优先级最高的是 B 。() A) B) + C) & D)!=2以下关于运算符优先级的描述中,正确的是 A 。() A)!(逻辑非)算术运算关系运算&(逻辑与)|(逻辑或)赋值运算B)&(逻辑与)算术运算关系运算赋值运算C)关系运算算术运算&(逻辑与)|(逻辑或)赋值运算D)赋值运算算术运算关系运算&(逻辑与)|(逻辑或)3逻辑运算符的运算对象的数据类型 D 。()A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型 D)任何类型的数据4能正确表示x的取值范围在0,100
18、和-10,-5内的表达式是 B 。()A)(x=-5)&(x=100)B)(x=-10)&(x=0)&(x=-10)&(x=0)&(x=100)D)(x=-5)&(x=100)5以下程序的运行结果是 B 。()main( ) int c,x,y; x=1; y=1; c=0; c=x+|y+; printf(“n%d%d%dn”,x,y,c); A)110 B)211 C)011 D)0016以下程序的运行结果是 A 。()main( ) int c,x,y; x=0; y=0; c=0; c=x+&y+; printf(“n%d%d%dn”,x,y,c); A)100 B)211 C)011
19、 D)0017判断字符型变量ch为大写字母的表达式是 C 。()A)A=ch=A)&(ch=A)&(ch=A)AND(ch=Z)8判断字符型变量ch为小写字母的表达式是 D 。()A)a=ch=a)&(ch=a)|(ch=a)&(ch0) printf(”%f”,x); x=x+1; printf(”%f”,x); else printf(”%f”,-x); else printf(”%f”,-x);C)if(x0); D)if(x0) x=x+1; printf(”%f”,x); x=x+1; printf(”%f”,x) else printf(”%f”,-x); else printf(
20、”%f”,-x);10分析以下程序:main( ) int x=5,a=0,b=0; if(x=a+b) printf(“* *n”); else printf(“# #n”);以上程序 D 。()A)有语法错,不能通过编译 B)通过编译,但不能连接C)输出* * D)输出# #11两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 A 。()main( ) int x; scanf(“%d”,&x); if(x+5) printf(“%d”,x); else printf(“%dn”,x-); A)7和5 B)6和3 C)7和4 D)6和412写出下面程序的执行结果 D 。()ma
21、in( )int x,y=1; if(y!=0) x=5; printf(“%dt”,x); if(y= =0) x=3;else x=5;printf(“%dtn”,x);A)1 3 B)1 5 C)5 3 D)5 513写出下面程序的执行结果 A 。()main()int x=1,y=1,z=0;if(z0) x=3;else x=5;printf(%dt,x);if(z=y0) x=3;else if(y= =0 ) x=5;else x=7;printf(%dt,x);printf(%dt,z);A)1 7 0 B)3 7 0 C)5 5 0 D)1 5 114假定所有变量均已正确说明
22、,下列程序段运行后x的值是 B 。()a=b=c=0;x=35;if(!a) x= -1;else if(b);if(c) x=3;else x=4;A)34 B)4 C)35 D)315写出下面程序的运行结果是 。()main()int x,y=1,z;if(y!=0) x=5;printf(x=%dt,x);if(y= =0) x=3;else x=5;printf(x=%dtn,x);x=1;if(z0)x=3;else x=5;printf(x=%dtn,x);if(z=y0)x=5;else x=7;printf(x=%dt,x);printf(%dtn,z);if(x=y=z)x=
23、3;printf(x=%dt,x);printf(z=%dtn,z);A)x=5 x=5 B)x=5 x=5 x=1 x=1 x=7 z=0 x=5 z=0 x=3 z=1 x=3 z=0C)x=5 x=5 D)x=5 x=5 x=5 x=1 x=7 z=0 x=7 z=0 x=3 z=1 x=3 z=016若有以下函数关系x0 y=xx=0 y=x+1下面程序段能正确表示以上关系的是 改正后C 。()A)y=2*x; B)y=2*x;if(x!=0) if(x0)y=x; if(x= =0) y=x+1;else y=x+1; else y=x;C)if(x=0) (D)y=x+1;if(x
24、0) y=x; if(x=0)else y=x+1; if(x0) y=2*x;else y=2*x; else y=x;17若有以下变量定义:float x; int a,b;则正确的switch语句是 D 。() A)switch(x) case 1.0:printf(*n);case 2.0:printf(* *n); B)switch(x) case 1,2:printf(*n);case 3:printf(* *n);C)switch(a+b) case 1:printf(*n);case 2*a:printf(* *n);D)switch(a+b) case 1:printf(*n
25、);case 1+2:printf(* *n);18. 以下关于运算符优先顺序的描述正确的是 C 。(0203第一学期试题)A)关系运算符算术运算符赋值运算符逻辑运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符逻辑运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符=10或a=10 or a=10 | a=10 & a=10 | | a y & x != y ) ;B)if ( x = = y ) x + = y ;C)if ( x != y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);D)if ( x y ) x+; y+;2
26、1. 当 a = 1, b = 3 , c = 5, d = 4 时, 执行完下面程序段后 x 的值为 B 。(0203第一学期试题)if ( a b ) if ( c d ) x = 1 ; else if ( a c ) if ( b b)printf(“%f”,a); B)if(ab)printf(“%f”,a);else printf(“%f”,b);C)if(ab)printf(“%f”,a) D)if(ab)printf(“%f”,b);else printf(“%f”,b); else printf(“%f”,a);23. 能表示整数x符合下面两个条件的语句是A 。(0102第二学期试题)(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4=0&x%100!=0)|x%400=0B)(x%4=0|x%100!=0)&x%400=0C)(x%4=0&x%400!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1