镐旦介彭肆苇划钎铣甫戊其搭
第1章 程序设计和C语言
第1章 单元测验
1、单选题:
一个C程序的执行是从( ) 。
A: 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
B: 本程序的main函数开始,到本程序文件的最后一个函数结束
C: 本程序文件的第一个函数开始,到本程序main函数结束
D: 本程序的main函数开始,到main函数结束
答案: 本程序的main函数开始,到main函数结束
2、单选题:
以下叙述正确的是( )。
A: 在C程序中,main函数必须位于程序的最前面。
B: 在C程序的每一行只能写一条语句
C: C语言本身没有输入输出语句
D: 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
答案: C语言本身没有输入输出语句
3、单选题:
以下叙述不正确的是( ) 。
A: 一个C源程序可由一个或多个函数组成
B: 一个C源程序必须包含一个main函数
C: C程序的基本组成单位是函数
D: 在C程序中,注释说明只能位于一条语句的后面
答案: 在C程序中,注释说明只能位于一条语句的后面
4、单选题:
C语言规定:在一个源程序中,main函数的位置 ( )。
A: 必须在最开始
B: 必须在系统调用的库函数的后面
C: 可以任意
D: 必须在最后
答案: 可以任意
5、单选题:
一个C语言程序是由( ) 。
A: 一个主程序和若干个子程序组成
B: 若干函数组成
C: 若干过程组成
D: 若干子程序组成
答案: 若干函数组成
6、填空题:
源程序的基本单位是 。
答案: 函数
7、填空题:
一个C源程序中至少应包括一个 。
答案: main()函数
8、填空题:
在一个C源程序中,块式注释部分左侧的分界符为 。
答案: /*
9、填空题:
在一个C源程序中,块式注释部分右侧的分界符为 。
答案: */
10、填空题:
在C语言中,输入操作是由库函数 完成的。
答案: scanf
11、填空题:
在C语言中,输出操作是由库函数 完成的。
答案: printf
第2章 算法——程序设计的灵魂
第2章 单元测验
1、单选题:
有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换 正确算法的流程图是?
A:
B:
C:
D:
答案:
2、单选题:
依次输入10个数,求其中最大的数,并输出正确算法的流程图是?
A:
B:
C:
D:
答案:
3、单选题:
计算1+2+3+…+100正确算法的伪代码是?
A: sum=0n=1while n<100 do sum=sum+n n=n+1end doprint sum
B: sum=0n=1while n≤100 do sum=sum+n n=n+1end doprint sum
C: sum=0n=1while n≤100 do sum=sum+1 n=n+1end doprint sum
D: sum=0n=1while n<100 do sum=sum+1 n=n+1end doprint sum
答案: sum=0n=1while n≤100 do sum=sum+n n=n+1end doprint sum
4、单选题:
求两个数m和n的最大公约数正确算法的伪代码是?
A: input m,nif m<n then swap m,nr=mod(m,n)if r≠0 m=n n=r r=mod(m,n)print n
B: input m,nif m<n then swap m,nr=mod(m,n)while r≠0 do m=n n=r r=mod(m,n)end doprint n
C: input m,nif m<n then swap m,nr=mod(m,n)if r≠0 n=r m=n r=mod(m,n)print n
D: input m,nif m<n then swap m,nr=mod(m,n)while r≠0 do n=r m=n r=mod(m,n)end doprint n
答案: input m,nif m<n then swap m,nr=mod(m,n)while r≠0 do m=n n=r r=mod(m,n)end doprint n
5、判断题:
有3个数a b c,要求按大小顺序把它输出
以下的NS图是否正确?
A: 正确
B: 错误
答案: 正确
第3章 最简单的C程序设计——顺序程序设计
第3章 单元测验
1、单选题:
C语言中(以16位PC机为例),各数据类型的存储空间长度的排列顺序为( )。
A: char<int<long<=float<double
B: char=int<long<=float<double
C: char<int<long=float=double
D: char=int=long<=float<double
答案: char<int<long<=float<double
2、单选题:
若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( ) 。x=(i=4,j=16,k=32)
A: 4
B: 16
C: 32
D: 52
答案: 32
3、单选题:
假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b)的值是( ) 。
A: 7
B: 8
C: 5
D: 2
答案: 8
4、单选题:
下列四组选项中,均不是C语言关键字的选项是( )。
A: defineIFtype
B: getccharprintf
C: includescanfcase
D: whilegopow
答案: defineIFtype
5、单选题:
下列四组选项中,均是C语言关键字的选项是 ( )。
A: AP 0do
B: floatla0_A
C: b-agotoint
D: _123tempINT
答案: b-agotoint
6、单选题:
C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 ( )。
A: 必须为字母
B: 必须为下划线
C: 必须为字母或下划线
D: 可以是字母、数字和下划线中的任一种字符
答案: 必须为字母或下划线
7、单选题:
下面四个选项中,均是合法整型常量的选项是( )。
A: 160-0xffff011
B: -0xcdf01a0xe
C: -01986.0120668
D: -0x48a2e50x
答案: 160-0xffff011
8、单选题:
下面四个选项中,均是不合法的整型常量的选项是( )。
A: -0f1-0xffff0011
B: -0Xcdf01712,456
C: -0189995e2
D: -0x48eg-06803f
答案: -0x48eg-06803f
9、单选题:
下面四个选项中,均是不合法的浮点数的选项是( )。
A: 160.0.12e3
B: 1232e4.2.e5
C: -.18123e40.0
D: -e3.2341e3
答案: 1232e4.2.e5
10、单选题:
下面四个选项中,均是合法转义符的l选项是( )。
A: ””\’ ‘n’
B: ” ’17’ ‘”‘
C: ’18”f”xab’
D: ‘\0”101”x1f’
答案: ””\’ ‘n’
11、单选题:
下面正确的字符常量是( )。
A: “c”
B: ‘\”
C: ‘W’
D: “”
答案: ‘W’
12、单选题:
若有代数式3ae/bc,则不正确的C语言表达式是( )。
A: a/b/c*e*3
B: 3*a*e/b/c
C: 3*a*e/b*c
D: a*e/c/b*3
答案: 3*a*e/b*c
13、单选题:
已知各变量的类型说明如下,则不符合C语言语法规定的表达式是( )。int k,a,b;
unsigned long w=5;
double x=1.42;
A: x%(-3)
B: w+=-2
C: k=(a=2,b=3,a+b)
D: a+=a-=(b=4)*(a=3)
答案: x%(-3)
14、单选题:
已知各变量说明如下,则符合C语言语法规定的表达式是( )。int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2
A: a+=a-=(b=4)*(a=3)
B: a=a*3=2
C: x%(-3)
D: y=float(i)
答案: a+=a-=(b=4)*(a=3)
15、单选题:
以下不正确的叙述是( )。
A: 在C程序中,逗号运算符的优先级最低
B: 在C程序中,APH和aph是两个不同的变量
C: 若a和b类型相同,在计算表达式a=b后,b的值将放入a中,而b中的值不变
D: 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
答案: 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
16、单选题:
以下正确的叙述是( )。
A: 在C程序中,每行只能写一条语句
B: 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C: 在C程序中,无论是整数还是实数,都能被准确无误地表示
D: 在C程序中,%是只能用于整数运算的运算符
答案: 在C程序中,%是只能用于整数运算的运算符
17、单选题:
以下符合C语言语法的有赋值能力的表达式是( )。
A: d=9+e+f=d+9
B: d=9+e,f=d+9
C: d=9+e,e++,d+9
D: d=9+e++=d+7
答案: d=9+e,f=d+9
18、单选题:
已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6′-‘3’;后,c2的值为( )。
A: D
B: 68
C: 不确定的值
D: C
答案: D
19、单选题:
在C语言中,要求运算数必须是整型(数)的运算符是( )。
A: /
B: ++
C: !=
D: %
答案: %
20、单选题:
若以下变量均是整型,且num=sum=7;则计算表达式sUM=num++, sUM++,++num后sum的值为 。
A: 7
B: 8
C: 0
D: 10
答案: 7
21、单选题:
在C语言中,int、char和short三种类型数据在内存中所占用的字节数 。
A: 由用户自己定义
B: 均为两个字节
C: 是任意的
D: 由所用机器的字长决定
答案: 由所用机器的字长决定
22、单选题:
若有说明语句:char c=’72’;则变量c ( )。
A: 包含1个字符。
B: 包含2个字符。
C: 包含3个字符。
D: 说明不合法,c的值不确定。
答案: 包含1个字符。
23、单选题:
若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。
A: 2.500000
B: 2.750000
C: 3.500000
D: 0.000000
答案: 2.500000
24、单选题:
sizeof(float)是( )。
A: 一个双精度型表达式
B: 一个整型表达式
C: 一种函数调用
D: )一个不合法的表达式
答案: 一个整型表达式
25、单选题:
设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型为( )。
A: int
B: float
C: double
D: 不确定
答案: double
26、填空题:
C语言规定在程序中对用到的所有数据都必须指定其数据类型,对变量必须做到先( ),后使用。
答案: 定义
27、填空题:
C语言中,用关键字( )定义单精度实型变量。
答案: float
28、填空题:
C语言中,用关键字( )定义双精度实型变量。
答案: double
29、填空题:
设C语言中的一个基本整型数据在内存中占2个字节,若欲将整数135791正确无误地存放在变量a中,应采用的类型说明语句是( )。
答案: long int a=135791;##%_YZPRLFH_%##long int a=135791
30、填空题:
自增运算符++、自减运算符–,只能用于( ),不能用于常量或表达式。
答案: 变量
31、填空题:
若a是int型变量,则执行下面表达式后a的值为( ) 。a=25/3%
答案: 2
32、填空题:
若有定义:int x=3,y=2; float a=2.5,b=3.5;则下面表达式的值为( ) 。(x+y)%2+(int)a/(int)b
答案: 1
33、填空题:
若有以下定义,int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是( ) 。
答案: -16
34、填空题:
若a是int型变量,则表达式(a=4*5,a+2),a+6的值为( ) 。
答案: 26
35、填空题:
若x和n均为int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为:( )。
答案: 0
36、填空题:
若有定义语句:int e=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是 ( )。
答案: 13.7
第4章 选择结构程序设计
第4章 单元测验
1、单选题:
逻辑运算符两则运算对象的数据类型( )。
A: 只能是0或1
B: 只能是0或非0正数
C: 只能是整型或字符型数据
D: 可以是任何类型的数据
答案: 可以是任何类型的数据
2、单选题:
以下关于运算符优先顺序的描述中正确的是( )。
A: 关系运算符<算术运算符<赋值运算符<逻辑运算符
B: 逻辑运算符<关系运算符<算术运算符<赋值运算符
C: 赋值运算符<逻辑运算符<关系运算符<算术运算符
D: 算术运算符<关系运算符<赋值运算符<逻辑运算符
答案: 赋值运算符<逻辑运算符<关系运算符<算术运算符
3、单选题:
下列运算符中优先级最高的是( )。
A: <
B: +
C: &&
D: !=
答案: +
4、单选题:
能正确表示“当x的取值在[1,10]和[200,210]范围内为真”的C语言表达式为( ) 。
A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
C: (x>=1)||(x<=10)||(x>=200)||(x<=210)
D: (x>=1)||(x<=10)&&(x>=200)||(x<=210)
答案: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
5、单选题:
判断char型变量ch是否为大写字母的正确表达式为 。
A: ‘A'<=ch<=’Z’
B: (ch>=’A’)&(ch<=’Z’)
C: (ch>=’A’)&&(ch<=’Z’)
D: (‘A'<=ch)AND(‘Z’>=ch)
答案: (ch>=’A’)&&(ch<=’Z’)
6、单选题:
有int x=3,y=4,z=5;则下面表达式中值为0的是 。
A: ‘x’&&’y’
B: x<=y
C: x||y+z&&y-z
D: !((x<y)&&!z||1)
答案: !((x<y)&&!z||1)
7、单选题:
已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是 。
A: 0
B: 语法错误
C: 1
D: 假
答案: 1
8、单选题:
若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是 。A) B) C) D)
A: A%2= =1
B: !(A%2= =0)
C: !(A%2)
D: A%2
答案: !(A%2)
9、单选题:
设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 。
A: 1
B: 2
C: 3
D: 4
答案: 2
10、单选题:
判断char型变量ch是否为小写字母的正确表达式为 。
A: ‘a'<=ch<=’z’
B: (ch>=a)&&(ch<=z)
C: (ch>=’a’)||(ch<=’z’)
D: (ch>=’a’)&&(ch<=’z’)
答案: (ch>=’a’)&&(ch<=’z’)
11、单选题:
以下程序的运行结果是 。#include <stdio.h>
main()
{int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
}
A: 6,1
B: 2,1
C: 6,0
D: 2,0
答案: 2,1
12、单选题:
执行以下语句后,a,b,c的值分别为 。int a,b,c;
a=b=c=1;
++a||++b&&++c;
A: 1,1,1
B: 2,1,1
C: 2,2,1
D: 2,2,2
答案: 2,1,1
13、单选题:
执行以下语句后a的值为 。int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
A: 5
B: 0
C: 2
D: 1
答案: 0
14、单选题:
下列运算符中优先级最低的是 。
A: ? :
B: &&
C: +
D: !=
答案: ? :
15、单选题:
已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 。if(x>y)
z=x;x=y;y=z;
A: 10,20,30
B: 20,30,30
C: 20,30,10
D: 20,30,20
答案: 20,30,10
16、单选题:
以下if语句语法正确的是 。
A: if (x>0) printf(“%f”,x) else printf(“%f”,-x);
B: if(x>0){x=x+y;printf(“%f”,x);} else printf(“%f”,-x);
C: if(x>0){x=x+y;printf(“%f”,x);};else printf(“%f”,-x);
D: if(x>0){x=x+y;printf(“%f”,x)} else printf(“%f”,-x);
答案: if(x>0){x=x+y;printf(“%f”,x);} else printf(“%f”,-x);
17、单选题:
有程序:main() { int a=5,b=1,c=0; if (a=b+c) printf(“***n”); else printf(“$$$n”);}该程序 。
A: 有语法错误不能通过编译
B: 可以通过编译,但不能通过连接
C: 输出:***
D: 输出:$$$
答案: 输出:***
18、单选题:
以下程序的运行结果是 。main()
{int m=5;
if(m++>5) printf(“%d”,–m);
else printf(“%d”,m++);
}
A: 4
B: 5
C: 6
D: 7
答案: 6
19、单选题:
当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 。if(a<b)
if(c<d) x=1;
else
if(a<c)
if(b<d) x=2;
else x=3;
else x=6;
else x=3;
A: 1
B: 2
C: 3
D: 6
答案: 2
20、单选题:
以下程序的输出结果是 。main()
{int a=100,x=10,y=20,ok1=5,ok2=0;
if(x<y)
if(y!=10)
if(!ok1)
a=1;
else
if(ok2) a=10;
a=-1;
printf(“%dn”,a);
}
A: 1
B: 0
C: -1
D: 值不确定
答案: -1
21、单选题:
以下程序的输出结果是 。main()
{int x=2,y=-1,z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
printf(“%dn”,z);
}
A: 3
B: 2
C: 1
D: 0
答案: 2
22、单选题:
为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与 配对。
A: 缩排位置相同的if
B: 其之前最近的没有else配对的if
C: 其之后最近的if
D: 同一行上的if
答案: 其之前最近的没有else配对的if
23、单选题:
以下不正确的语句为 。
A: if (x>y);
B: if (x=y)&&(x!=0) x+=y;
C: if (x) z=z/x;
D: if (x>y) {x++;y++;}
答案: if (x=y)&&(x!=0) x+=y;
24、单选题:
请阅读以下程序:#include <stdio.h>
main()
{float a,b;
scanf(“%f”,&a);
if(a<0.0) b=0.0;
else if((a<0.5)&&(a!=2.0)) b=1.0/(a+2.0);
else if(a<10.0) b=1.0/a;
else b=10.0;
printf(“%fn”,b);
}若运行时输入2.0<CR>,则上面程序的输出结果是 。
A: 0.000000
B: 0.500000
C: 1.000000
D: 0.250000
答案: 0.500000
25、单选题:
若有条件表达式(exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是 。
A: exp==0
B: exp!=0
C: exp==1
D: exp!=1
答案: exp!=0
26、单选题:
若运行时给变量输入12,则以下程序的运行结果是 。main()
{int x,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%dn”,y);
}
A: 0
B: 22
C: 12
D: 10
答案: 0
27、单选题:
以下程序的运行结果是 。main()
{int k=4,a=3,b=2,c=1;
printf(“n%dn”,k<a?k:c<b?c:a);
}
A: 4
B: 3
C: 2
D: 1
答案: 1
上方为免费预览版答案,如需购买完整答案,请点击下方红字:
为了方便下次阅读,建议在浏览器添加书签收藏本网页
添加书签方法:
1.电脑按键盘的Ctrl键+D键即可收藏本网页
2.手机浏览器可以添加书签收藏本网页
点击浏览器底部菜单-【添加书签】-收藏本网页
点击浏览器底部菜单-【书签/历史】-可查看本网页
获取更多慕课答案,欢迎在浏览器访问我们的网站:
http://mooc.mengmianren.com
注:请切换至英文输入法输入域名,如果没有成功进入网站,请输入完整域名:http://mooc.mengmianren.com/
我们的公众号
打开手机微信,扫一扫下方二维码,关注微信公众号:萌面人APP
本公众号可查看各种网课答案,还可免费查看大学教材答案
点击这里,可查看公众号功能介绍
APP下载
APP功能说明
1.可查看各种网课答案
点击【萌面人官网】,可查看知到智慧树,超星尔雅学习通,学堂在线等网课答案
点击【中国大学慕课答案】,可查看mooc慕课答案
2.可一键领取淘宝/天猫/京东/拼多多无门槛优惠券
如图所示,点击对应图标即可领取淘宝/天猫/京东/拼多多无门槛优惠券
甸是段揩渭芦净甸轻萌绷剿醛