C语言程序设计进阶与实践 中国大学慕课答案2024完整版100分

是篓贬热法舵融税委嗅晌好腐


第一篇章 基础部分 基础部分综合测试

1、 以下选项中非法的字符常量是

A:’102′
B:’65′
C:’xff’
D:’19′
答案: ‘19’

2、 有以下程序#include main(){ int a;scanf(“%d”,&a);if(a++<9) printf((“%d”,a);else printf((“%d”,a–);}程序运行时键盘输入9<回车>,则输出的结果是

A:10
B:11
C:9
D:8
答案: 10

3、 #include main(){int s=0,n; for (n=0;n<3;n++) {switch(s) { case 0: case 1:s+=1; case 2:s+=2;break; case 3:s+=3; case 4:s+=4; } printf((“%d”,s); }}程序运行后的结果是

A:1,2,4
B:1,3,6
C:3,10,10
D:3,6,10
答案: 3,10,10

4、 若k是int类型变量,且有以下for语句for(k=-1;k<0;k++) printf(****”);下面关于语句执行情况的叙述中正确的是

A:循环体执行一次
B:循环体执行两次
C:循环体一次也不执行
D:构成无限循环
答案: 循环体执行一次

5、 有以下程序#include main(){ char A,B,C; B=‘1’; C=’A’;for(A=0;A<6;A++) { if(A%2) putchar(B+A); else putchar(C+A);}}程序运行后输出的结果是

A:1B3D5F
B:ABCDFE
C:A2C4E6
D:123456
答案: A2C4E6

1 C程序设计基础篇—— 1.2 数据类型与运算符 数据类型与运算符单元测试

1、 表达式:(int)((double)9/2)-(9)%2 的值是

A:0
B:1
C:2
D:3
E:4
F:5
答案: 3

2、 若有定义语句:int x=10; ,则表达式 x-=x+x 的值为

A:-20
B:-10
C:0
D:10
E:20
答案: -10

3、 以下选项中,不能作为合法常量的是

A:1.234e04
B:1.234e0.4
C:1.234e+4
D:1.234e0
答案: 1.234e0.4

4、 下列选项中,不能用作标识符的是

A: 1234
B: 1_2
C:int_2

D:2_int_
E:i_nt123
答案: 2_int_

5、 设有定义:float a=2,b=4,h=3; 以下C语言表达式与 代数式 (a+b)/2 × h 计算结果不相符的是

A:(a+b)h/2
B:(1/2)
(a+b)h
C:(a+b)
h1/2
D:h/2
(a+b)
答案: (1/2)(a+b)h

6、 已定义c为字符型变量,则下列语句中正确的是

A:c=‘97’;
B:c=”97″;
C:c=97;
D:c=”a”;
答案: c=97;

7、 若有定义语句:int a=5;,则表达式:a++ 的值是
答案: 5
分析:相当于 y=a++,求y的值 ,++在后,先使用a的 值赋给y,之后再给a增1

8、 若有语句 double x=17; int y; ,当执行 y=(int)(x/5)%2;之后y 的值为
答案: 1
分析:%运算要求两数为整数, 结果为整数

9、 设有语句char a=’72′;则变量a最终获得几个字符?(仅填写具体阿拉伯数字)
答案: 1
分析:这是一个转义字符

10、 一个float型变量占几个字节?(仅填写具体阿拉伯数字)
答案: 4

11、 int a=5,b=6,c=7,f; f=c>b>a ;f的最终结果是
答案: 0
分析:关系运算只能两两判断

1 C程序设计基础篇——1.3 顺序结构程序设计 顺序结构单元测试

1、 以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序编译时出错。main()/Beginning /{ int r; float s;scanf(“%d”,&r);s=πrr; printf(“s=%f”,s);}出错的原因是

A:注释语句书写位置错误
B:存放圆半径的变量r不应该定义为整型
C:输出语句中格式描述符非法
D:计算圆面积的赋值语句中使用了非法变量
答案: 计算圆面积的赋值语句中使用了非法变量

2、 数字字符0的ASCII值为48,若有以下程序main(){ char a=’1′,b=’2′; printf(“%c,”,b++); printf(“%d”,b-a);}程序运行后的输出结果是

A:3,2
B:50,2
C:2,2
D:2,50
答案: 2,2

3、 有以下程序main(){ int m=12,n=34; printf(“%d%d”,m++,++n); printf(“%d%d”,n++,++m);}程序运行后的输出结果是

A:12353514
B:12353513
C:12343514
D:12343513
答案: 12353514

4、 有定义语句:int b;char c[10]; ,则正确的输入语句是

A:scanf(“%d%s”,&b,&c);
B:scanf(“%d%s”,&b,c);
C:scanf(“%d%s”,b,c);
D:scanf(“%d%s”,b,&c);
答案: scanf(“%d%s”,&b,c);

5、 有以下程序main(){ int m,n,p; scanf(“m=%dn=%dp=%d”,&m,&n,&p); printf(“%d%d%d”,m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是

A:m=123n=456p=789
B:m=123 n=456 p=789
C:m=123,n=456,p=789
D:123 456 789
答案: m=123n=456p=789

6、 有以下程序main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf(“%d %d %3.1f %3.1f”,a,c,f,x);}程序运行后的输出结果是

A:1 65 1 6.5
B: 1 65 1.5 6.5
C:1 65 1.0 6.5
D:2 65 1.5 6.5
答案:  1 65 1.5 6.5

7、 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是

A: scanf(“%2d%2d%2d”,&i,&j,&k);
B: scanf(“%d %d %d”,&i,&j,&k);
C:scanf(“%d,%d,%d”,&i,&j,&k);
D:scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
答案: scanf(“%d,%d,%d”,&i,&j,&k);

8、 有以下程序main(){ int m=3,n=4,x; x=-m++; x=x+8/++n; printf(“%d”,x);}程序运行后的输出结果是
答案: -2
分析:x=-m++; 之后 x=-3 m=4
x=x+8/++n; 注意运算优先级 先计算8/++n 既8/5=1,之后 计算 x=-3+1
x的值为-2

9、 有以下程序main( ){ int x=102,y=012; printf(“%2d,%2d”,x,y);} 执行后输出结果是
答案: (以下答案任选其一都对)102,10;
102,10
分析:%2d,小于数值实际宽度,按数值实际宽度输出
012是八进制数 十进制输出为10

10、 以下程序的输出结果是_____main() { int a=177;printf(“%o”,a);}
答案: 261

11、 以下程序的输出结果是_____main(){ int a=0a+=(a=8);printf(“%d”,a);}
答案: 16

12、 若有语句int i=-19,j=i%4; printf(“%d”,j);则输出结果是_____
答案: -3


如需购买完整答案,请点击下方红字:

点击这里,购买完整答案


获取更多中国大学慕课答案,请点击这里,进入mooc.mengmianren.com


 

店较巴几耪弥难肆柔可俺冯惕