灸钩奇涤橇疏链腐团蓖缴嘘履
倘七帅姜寿吃肥诲赴理探拧吮
第一章 单元测试
1、
C 语言中 double 类型数据占字节数为_____
A:16
B:12
C:8
D:4
答案: 8
2、
表达式:(int)((double)9/2)-9%2 的值是_____
A:0
B:3
C:4
D:5
答案: 3
3、
以下选项中关于 C 语言常量的叙述错误的是_______
A:经常被使用的变量可以定义成常量
B:常量可分为数值型常量和非数值型常量
C:所谓常量,是指在程序运行过程中,其值不能被改变的量
D:常量分为整型常量、实型常量、字符常量和字符串常量
答案: 经常被使用的变量可以定义成常量
4、
C 源程序中不能表示的数制是_____
A:二进制
B:八进制
C:十进制
D:十六进制
答案: 二进制
5、
以下选项中,能用作用户标识符的是________
A:_0_
B:8_8
C:void
D:unsigned
答案: _0_
6、
以下选项中能表示合法常量的是——
A:‘ ’
B: 1.5E2.0
C:“”
D:1, 200
答案: ‘ ’
7、
按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是___________。
A:连接符
B:大写字母
C:下划线
D:数字字符
答案: 连接符
8、
以下选项中正确的定义语句是————
A:double a=7,b=7;
B:double a=b=7;
C:double,a,b;
D:double a;b;
答案: double a=7,b=7;
9、
设有定义
int k=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是
A:k++
B:k+=1
C:++k
D:k+1
答案: k++
10、
以下叙述中正确的是
A:字符变量在定义时不能赋初值
B:转义字符用@符号开头
C:字符常量可以参与任何整数运算
D:同一英文字符的大写和小写形式代表的是同一字符常量
答案: 字符常量可以参与任何整数运算
第二章 单元测试
1、
1.以下不属于结构化程序设计中基本结构的是_________。
A:跳转结构
B:选择结构
C:顺序结构
D:循环结构
答案: 跳转结构
2、
2.以下类型的C语句中,不属于简单语句的是_________。
A:空语句
B:条件语句
C:表达式语句
D:复合语句
答案: 条件语句
3、
3.若int类型数据占2个字节,则下列语句的输出结果为________。 int k= -1;printf(“%d,%u,%o
”,k,k,k);
A:-1,32767,-177777
B:-1,32768,177777
C:-1,65535,177777
D:-1,-1,-1
答案: -1,65535,177777
4、
4.下列程序的输出是_______。#include
main(){printf(“%d”,null);}
A:-1
B:0
C:变量无定义
D:1
答案: 变量无定义
5、
5.以下关于结构化程序设计中的三种基本结构,叙述不正确的是________。
A:循环结构中,需先对循环条件进行判断,条件成立才执行循环体。
B:顺序结构是最简单的一种基本结构。
C:选择结构也叫做分支结构,在该结构下只能选择程序的一条分支来执行,同时该分支可以为空。
D:每种基本结构均有唯一的一个入口和唯一的一个出口。
答案: 循环结构中,需先对循环条件进行判断,条件成立才执行循环体。
6、
6.在scanf函数中,附加格式字符h表示输入短整型数据,不能与其共同使用的格式字符是_______。
A:d
B:x
C:f
D:o
答案: f
7、
7.printf(“%5.3s,%-5.3s,%2.3s”, “China”, “China”, “China”); 以上语句的运行结果是_______。
A:□□ina, ina□□,ina
B:□□Chi, Chi□□,Ch
C:Chi□□, □□Chi, Chi
D:□□Chi, Chi□□,Chi
答案: □□Chi, Chi□□,Chi
8、
8.float a=1234.56; printf(“%e,%9e,%9.1e”,a,a, a); 以上语句的运行结果是_______。
A:1.234560e+3,1.234560e+3,□□□1. 2e+3
B:1.234560e+003,1.234560e+003,□1. 2e+003
C:1.23456e+003,1.23456e+003,□1. 2e+003
D:1.234560e+003,1.234560e+003,□□1. 2e+003
答案: 1.234560e+003,1.234560e+003,□1. 2e+003
9、
9. scanf(“%3d%*3d%3d”,&x,&y);当输入数据3456789012时,x,y的取值分别为________。
A:x=345,y=678
B:x=789,y=012
C:x=456,y=012
D:x=345,y=901
答案: x=345,y=901
10、
10.以下字符输入输出函数中,用于输入单个字符的函数是_________。
A:puts()
B:putchar()
C:gets()
D:getchar()
答案: getchar()
第三章 单元测试
1、
已知语句“if(w) … ;else … ;”,与表达式w的等价表示是:()
A:w != 1
B:w = = 1
C:w != 0
D:w = = 0
答案: w != 0
2、
设 x,y,z 为 int 型变量,且 x=3,y=4,z=5 ,则下面表达式中值为 0 的是()
A:x||y+z&&y-z
B:!((x C:x D: ‘x’&&’y’
答案: !((x
3、
表示算术关系12
A:( 12 B:( 12 C:( 12 D:( 12 答案: ( 12
4、
逻辑运算符两侧运算对象的数据类型()
A:只能是0和1
B:只能是0或非0正数
C:可以是任何类型的数据
D:只能是整型或字符型数据
答案: 可以是任何类型的数据
5、
判断char型变量ch是否为大写字母的正确表达式是()
A:A’ B:(‘A’= ch)
C:(ch>=‘A’)&(ch D: (ch>=‘A’)&&(ch 答案: (ch>=‘A’)&&(ch
6、
若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()
A: A%2==1
B: !(A%2==0)
C:!(A%2)
D:A%2
答案: !(A%2)
7、
设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()
A:3
B:2
C:1
D:4
答案: 2
8、
以下程序的运行结果是()main(){ int m=5; if(m++>5) printf(“%d
”,m); else; printf(“%d
”,m–); }
A:6
B:7
C:4
D:5
答案: 6
9、
若运行时给变量x输入12,则以下程序的运行结果是 ()main(){ int x,y; scanf(“%d”,&x); y=x>12 ? x+10 : x-12; printf(“%d
”,y);}
A:4
B:2
C:0
D:3
答案: 0
10、
main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%d
“,i,j,k);}执行后输出结果是()
A:2,2,3
B:2,2,1
C:2,2,2
D:1,1,2
答案: 2,2,2
第四章 单元测试
1、
C 语言的if 语句嵌套时,if 与else 的配对关系是()
A:每个else 与if 总是与最外层的if 配对
B:每个else 总是与它上面的最近的if 配对
C:每个else 总是与它上面的if 配对
D:每个else 与if 的配对是任意的
答案: 每个else 总是与它上面的最近的if 配对
2、
以下程序的运行结果是()main(){int a=2,b=-1,c=2;if(a “,c);}
A:2
B:0
C:13
D:3
答案: 2
3、
main(){int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(“a=%d,b=%d”,a,b);}运行改程序后a和b的值分别为()
A:2,1
B:1,0
C:2,2
D:1,1
答案: 2,1
4、
有以下程序#include main(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf(“%d
”,b);}程序运行后的输出结果是()
A:2
B:1
C:0
D:3
答案: 0
5、
若整数x分别等于95、87、100、43、66、79,则以下程序段运行后屏幕显示是什么? switch(x/10) { case 6: case 7: printf(“Pass
“); break; case 8: printf(“Good
“); break; case 9: case 10: printf(“VeryGood
“); break; default: printf(“Fail
“); } 1.x等于 95时,程序段运行后屏幕上显示() 2. x等于 87时,程序段运行后屏幕上显示 () 3.x等于100时,程序段运行后屏幕上显示() 4.x等于 43时,程序段运行后屏幕上显示 () 5.x等于 66时,程序段运行后屏幕上显示 () 6.x等于 79时,程序段运行后屏幕上显示 ()A. Pass B. Good C. VeryGood D. Fail
A:BCDCDA
B:DCCDAC
C:ABCDAA
D:CBCDAA
答案: CBCDAA
6、
分析以下程序, 下列说法正确的是 () main() { int x=5,a=0,b=0; if(x=a+b) printf(“* * * *
“); else printf(“# # # #
“); }
A:通过编译,但不能连接
B:输出* * * *
C:输出# # # #
D:有语法错,不能通过编译
答案: 输出* * * *
7、
有如下程序main(){float x=2.0,y;if (x “,y);}该程序的输出结果是()
A:0.000000
B:1.000000
C:0.250000
D:0.500000
答案: 0.500000
8、
以下不正确的if 语句形式是()
A:if(x B:if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
C:if(x==y)x+=y;
D:if(x>y&&x!=y);
答案: if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
9、
int a=3,b=2,c=1; if(a>b>c)a=b; else a=c;则a 的值是()
A:1
B:2
C:3
D:0
答案: 1
10、
有以下程序main(){int a=5,b=4,c=3,d=2;if(a>b>c)printf(“%d
“,d);else if((c-1>=d)==1)printf(“%d
“,d+1);else printf(“%d
“,d+2);}执行后输出结果是()
A:编译时出错
B:4
C:3
D:2
答案: 3
第五章 单元测试
1、
1.以下叙述中正确的是
A:对于“for(表达式1;表达式2;表达式3)循环体”,只在个别情况下才能换成while
B:对于“for(表达式1;表达式2;表达式3)循环体”首先要计算表达式2 的值,以便决定下一步执行什么
C:如果根据算法需要使用无限循环(即通常说的“死循环”),则只能使用while 语句
D:适当地修改代码,do-while 与while 可以相互转换
答案: 适当地修改代码,do-while 与while 可以相互转换
2、
2.以下叙述中正确的是
A:continue 语句的作用是:在执行完本次循环体中剩余语句后,终止循环
B:只能在循环体内和switch 语句体内使用break 语句
C:在while 语句和do-while 语句中无法使用continue 语句
D:当break 出现在循环体中的switch 语句体内时,其作用是跳出该switch 语句体,并终止循环
答案: 只能在循环体内和switch 语句体内使用break 语句
3、
3.以下不构成无限循环的语句或者语句组是____________
A:n=0;
do{++n;}while(n
B:n=0;
while(1){n++;}
C:for(n=0,i=1; ;i++) n+=i;
D:n=10;
while(n);{n–;}
答案: n=0;
do{++n;}while(n
4、
4.下列语句中,错误的是
A:do 2; while (a == b);
B:do x++ while (x == 10);
C:while (0) ;
D:while (x = y) 5;
答案: do x++ while (x == 10);
5、
5.以下程序段中,while循环执行的次数是
int k =0;
while (k = 1)
{
k++;
}
A:无限次
B:执行一次
C:一次也不执行
D:有语法错误,不能执行
答案: 无限次
6、
6.以下程序段执行后,输出结果是
int i, sum=0;
for (i=1; i
{
sum += i;
}
printf(“%d”, sum);
A:0
B:14
C:不确定
D:15
答案: 15
7、
7.循环语句“for (x=0, y=0; (y!=123)) || (x
A:3次
B:4次
C:无限次
D:不确定
答案: 无限次
8、
8.在C语言中,下列说法中正确的是
A:“do 语句 while (条件);”的循环中,当条件为非0时结束循环
B:“do 语句 while (条件);”的循环中,当条件为0时结束循环
C:“do 语句 while (条件);”的循环必须使用break语句退出循环
D:不能使用“do 语句 while (条件);”的循环
答案: “do 语句 while (条件);”的循环中,当条件为0时结束循环
9、
9.下述程序代码段输出的结果是
for(k=1;k
printf(“k=%d,k=%o,k=%x”, k, k, k);
A:k=11,k=13,k=b
B:k=10,k=12,k=13
C:k=11,k=12,k=11
D:k=11,k=013,k=0xb
答案: k=11,k=13,k=b
10、
10.以下程序段中,while循环的循环次数是
int i = 0;
while (i
{
if (i
{
continue;
}
if (i == 5)
{
break;
}
i++;
}
A:10
B:死循环
C:6
D:1
答案: 死循环
第六章 单元测试
1、
1.程序功能:输入n的值(n
#include
int main()
{
int i, n;
long sum=0,fac=1; //fac存储每个加项(阶乘)的值
printf(“请输入n的值:”);
scanf(“%d”,&n);
for( i=1; i
{
___________ //后一加项与前一加项的关系
sum=sum+fac;
}
printf(“和为%ld
“,sum);
return 0;
}
A:fac=fac*i;
B:fac=fac+sum;
C:sum=sum*i;
D:fac++;
答案: fac=fac*i;
2、
2.若有整型变量i,j,则以下程序段中内循环体“printf(“ok”);”的循环次数为
for (i=5; i; i–)
{
for (j=0; j
{
printf(“ok”);
}
}
A:25
B:24
C:20
D:30
答案: 20
3、
3.以下程序段的输出结果是
int i=0, a=0;
while (i
{
for (;
{
if (i % 10 == 0)
{
break;
}
else
{
i–;
}
}
i += 11;
a += i;
}
printf(“%d
“, a);
A:32
B:11
C:21
D:33
答案: 32
4、
4.假定a和b为int型变量,则执行以下语句后b的值为
a = 1;
b = 10;
do
{
b -= a;
a++;
} while (b–
A:-2
B:9
C:-1
D:8
答案: 8
5、
5.设x和y均为int型变量,则执行下面的循环后y的值为
for (y=1, x=1; y
{
if (x >= 10)
{
break;
}
if (x % 2 == 1)
{
x += 5;
continue;
}
x -= 3;
}
A:2
B:4
C:6
D:8
答案: 6
6、
6.设i,j,k均为整型变量,则执行如下语句后,k的值为
for (i=0, j=10; i
{
k = i + j;
}
A:8
B:11
C:10
D:9
答案: 10
7、
7.以下程序段的输出结果是2903
int a=0, i;
for (i=1; i
{
switch(i)
{
case 0:
case 3:
a += 2;
case 1:
case 2:
a += 3;
default:
a += 5;
}
}
printf(“%d
“, a);
A:20
B:13
C:31
D:10
答案: 31
8、
8.以下程序段运行时,若输入c2470f?再回车,则输出结果是
char ch;
long number = 0;
while ((ch = getchar()) ‘6’);
while (ch!= ‘?’ && ch >= ‘0’ && ch
{
number = number * 7 + ch – ‘0’;
printf(“%ld#”, number);
ch= getchar();
}
A:#
B:22#1818#
C:2#18#
D:2402#18#
答案: 2#18#
9、
9.以下程序段运行时,如果从键盘输入1298再回车,则输出结果为
int n1, n2;
scanf(“%d”, &n2);
while (n2 != 0)
{
n1 = n2 % 10;
n2 = n2 / 10;
printf(“%d”, n1);
}
A:1298
B:1
C:9
D:8921
答案: 8921
10、
10.以下程序段的输出结果是
int i=10, j=0;
do
{
j = j + i;
i–;
} while (i > 2);
printf(“%d
“, j);
A:54
B:52
C:25
D:48
答案: 52
如需购买完整答案,请点击下方红字:
获取更多网课答案,请点击这里,进入www.mengmianren.com
臣佩菊澳怕梗涧蟹殊仿唐炽沥
姬陪晶捞诡顶娄掠洁凰绘岸被