脖曹阜膳柏豌稗溪孝舵戏秤顽
第一周 导言 第一周 单元测验
1、 一个C程序的执行是从( )。
A:本程序的main函数开始,到main函数结束
B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C:本程序的main函数开始,到本程序文件的最后一个函数
D:本程序文件的第一个函数开始,到本程序main函数结束
答案: 本程序的main函数开始,到main函数结束
2、 以下叙述中错误的是( )。
答案: 算法正确的程序可以有零个输出
3、 在 C 语言中,每个语句必须以( )结束。
答案: 分号
4、 C语言中的输出功能可以通过函数( )来实现。
答案: printf函数
5、 关于C语言,下面叙述错误是( )。
答案: 不用编译可以直接运行
6、 C语言有三种结构化程序设计方法,其中不包含( )。
答案: 回溯结构
7、 C语言的基本构成单位是( )。
答案: 函数
8、 C语言本身不提供输入输出语句,输入和输出操作是由库函数来实现的。( )
答案: 正确
9、 C语言规定:在一个源程序中,main函数的位置必须在最开始。 ( )
答案: 错误
10、 Dev C++编译器中只能编写调试C++程序代码,不能编写调试C语言代码。 ( )
答案: 错误
11、 C程序的每行中只能写一条语句。 ( )
答案: 错误
12、 C程序中的注释可以写在/ /中,在对C程序进行编译的过程中,可发现注释中的拼写错误。 ( )
答案: 错误
13、 程序中适当地添加注释,可以增加程序的可读性和清晰性。 ( )
答案: 正确
14、 一个函数由两部分组成,它们是函数首部和函数体。 ( )
答案: 正确
第二周 数据类型、运算符与表达式 第二周 单元测验
1、 在C语言中,字符型数据在内存中以 ( )形式存放。
答案: ASCII码
2、 以下( )是不正确的转义字符。
答案: ‘081’
3、 设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为:( )。
答案: double
4、 下列( )是C语言中的合法标识符。
答案: _HJ
5、 以下不正确的C语言标识符是( )。
答案: ab.c
6、 若x为int型变量,则执行以下语句后,x的值为( )。x=6; x+=x-=x*x;
答案: -60
7、 已知各变量的类型说明如下,则以下不符合C语言语法的表达式是( )。int k,a,b;unsigned long w=5;double x=1.422;
答案: x%(-3)
8、 以下运算符中优先级最高的为( )。
答案: !
9、 表达式9>=7的值是( )。
答案: 1
10、 表达式9>7>3的值是( )。
答案: 0
11、 下述表达式中,( )可以正确表示x<=0 或 x>=1的关系。
答案: (x>=1)||(x<=0)
12、 下列符号中用来表示C语言中的回车换行的是( )。
答案:
13、 若变量c为char类型,能正确判断出c为小写字母的表达式是( )。
答案: (c>= ‘a’)&&(c<= ‘z’)
14、 表达式1&&2&&3&&4的值为( )。
答案: 1
15、 若变量已正确定义并赋值,符合C语言语法的表达式是( )。
答案: a=7+b+c,a++
16、 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是( )。
答案: (1/2)(a+b) h
17、 字符串的结束标志是( )。
答案: ‘\0’
18、 以下选项中,不能作为合法实型常量的是( )。
答案: 1.234e0.4
19、 设整型变量n=10, i=4,则赋值运算n%=i+1执行后,n的值是( ) 。
答案: 0
20、 下面程序的输出结果 。 void main() {int i,j;i=20;j=i++;printf(“%d,%d”,i,j);}
答案: 21,20
21、 若定义int k=2,i=2,m;执行m=(k+=i*=k);语句后,m的值为 _____。
答案: 6
22、 设有 int x=11; 则表达式 ((x++)* 1/3) 的值是__。
答案: 3
23、 若x=5,y=3 则y*=x+5; y的值为 。
答案: 30
24、 已知x=7.5,y=2,z=3.6 ,则表达式x>y&&z>x<y&&!z>y 的值是____。
答案: 0
25、 设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++;语句后,变量b的值是_。
答案: 2
26、 若有定义:int a=3, b=2, c=1, k; 则表达式k=a>b>c的值是_。
答案: 0
第三周 基本输入输出 第三周 单元测验
1、 若m为float型变量,则执行以下语句后的输出为 。m=1234.123;printf(“%-8.3f”,m);printf(” % 10.3f”,m);
答案: 1234.123 1234.123
2、 若x是int型变量,y是float型变量,所用的scanf调用语句格式为: scanf(“x=%d,y=%f”,&x,&y); 则为了将数据10和66.6分别赋给x和y,正确的输入应是: 。
答案: x=10,y=66.6<回车>
3、 已知有变量定义:int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是: 。
答案: 30b<回车>
4、 若有定义double x=1,y;则以下的语句执行的结果是 。y=x+3/2; printf(“%f”,y);
答案: 2.000000
5、 若x,y,z均为int型变量,则执行以下语句后的输出为 。 x=(y=(z=10)+5)-5; printf(“x=%d,y=%d,z=%d”,x,y,z);
答案: x=10,y=15,z=10
6、 已知字母A的ASCII码为65。以下程序运行后的输出结果是 。void main(){char a,b;a=’A’+’5′-‘3′;b=a+’6’-‘2’;printf(“%d %c”,a,b);}
答案: 67 G
7、 printf(“%d”,17/5); 执行之后,输出结果是 。
答案: 3
8、 printf(“%f”,17/5); 执行之后,输出结果是 。
答案: 3.000000
9、 格式控制符”%-ms”表示如果串长小于m,则在m列范围内,字符串向 靠, 补空格。
答案: 左,右
10、 以下程序段void main(){printf(“%s,%4s,%4.2s,%-4.2s”,”china”, ”china”, ”china”, ”china”);}运行的结果是 。(■表示空格)
答案: china,china,■■ch,ch■■
11、 以下程序段运行的结果是 。void main(){ float f=723.927;printf(“%f,%.2f”,f,f);}
答案: 723.927000,723.93
12、 以下程序段的运行结果是 。void main(){ float x; int i; x=4.27; i=(int)x; printf(“x=%f,i=%d”,x,i);}
答案: x=4.270000,i=4;
13、 已定义double a; int i;选择正确的输入格式为 。
答案: scanf(“%lf%d”,&a,&i);
14、 若定义字符变量c1的值是’A’,c2的值是’E’,执行语句printf(“%d,%d”,c1,c2-2);后,输出结果是 。
答案: 65,67
15、 若定义字符变量c1的值是’A’,c2的值是’E’,执行语句printf(“%c,%c”,c1,c2-2);后,输出结果是 。
答案: A,C
16、 下列关于getchar函数的使用不正确的是 。
答案: char ch; getchar(ch);
17、 getchar函数是一个无参函数。 ( )
答案: 正确
18、 在输入浮点型数据时,可以规定它的精度和宽度。 ( )
答案: 错误
19、 执行语句printf(“%2s”,”Hello”);后,输出字符串”He“。( )
答案: 错误
20、 putchar函数和pintf函数都可以实现字符串的输出。 ( )
答案: 错误
21、 执行语句char ch; ch=getchar();时,若从键盘输入字符串 hello,此时ch变量中存放的是字符’h’。
答案: 正确
22、 下列程序的输出结果是16.00,请填空。void main (){ int a=9, b=2; float x= ____, y=1.1,z;z=a/2+b*x/y+1/2;printf (“%5.2f\ n “, z ); }
答案: 6.6
23、 设x和y均为int型变量,且x=1,y=2,则表达式1.0*x/y的值为 。
答案: 0.5
24、 设x和y均为int型变量,且x=1,y=2,则表达式x/y的值为 。
答案: 0
25、 执行语句putchar(‘B’+32);后,屏幕上输出的结果是 。
答案: b
第四周 选择结构程序设计 第四周 单元测验
1、 若int x=0,y=3,z=3,以下表达式值为0的是 。
答案: x%2&&y==z
2、 若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的结果为 。
答案: 1
3、 若w,x,z均为int型变量,则执行以下语句后的输出为 。 w=3;z=7;x=10; printf(“%d”,x>10?x+100:x-10); printf(“%d”,w++||z++); printf(“%d”,!w>z); printf(“%d”,w&&z);
答案: 0101
4、 分析以下程序, 下列说法正确的是 。void main() { int x=5,a=0,b=1;if(x=a+b) printf(“ * “);else printf(“# # # #”);}
答案: 输出 * *
5、 分析以下程序, 下列说法正确的是 。void main() { int x=0,a=0,b=0;if(x=a+b) printf(“ * “);else printf(“# # # #”); }
答案: 输出# # # #
6、 有定义语句:int a=l,b=2,c=3,x;则以下各程序段执行后,x的值不为3的是 。
答案: if (a<3) x=3;if (a<2) x=2;if (a<1) x=l;
7、 执行下面语句后,a的值为 。int a=1 ;if (a>0) a+=1; if (a>1) a=0;
答案: 0
8、 if 语句的基本形式是:if(表达式) 语句,以下关于“表达式”值的叙述中正确的是_____。
答案: 可以是任意合法的值
9、 下列只有当整数x为偶数时,才是逻辑“真”的表达式是_____。
答案: (x-x/22)==0
10、 若有以下定义:float x; int a,b; 则正确的switch语句是_____。
答案: switch(a+b) { case 1:printf(“#”); case 1+2:printf(“*”); }
11、 运行以下程序,输出结果是 。 void main(){ char x=‘C’; switch(x) { case ‘A’: printf(“a”); case ‘B’: printf(“b”); case ‘C’: printf(“c”); default: printf(“other”); } }
答案: cother
12、 运行以下程序,输出结果是 。 void main(){ char x=‘C’; switch(x) { case ‘A’: printf(“a”);break; case ‘B’: printf(“b”);break; case ‘C’: printf(“c”);break; default: printf(“other”);break; } }
答案: c
13、 运行以下程序,输出结果是 。 void main(){ char x=‘E’; switch(x) { case ‘A’: printf(“a”);break; case ‘B’: printf(“b”);break; default: printf(“other”); case ‘C’: printf(“c”); } }
答案: otherc
14、 若执行下面的程序从键盘上输入5,则输出结果是 . #include <stdio.h> void main( ) {int x; scanf(“%d”,&x); if (x++>5) printf(“%d”,x); else printf(“%d”,x–); }
答案: 6
15、 以下程序的输出结果是___。 void main( ) { int a=100; if (a>100) printf(“%d”,a>100); else printf(“%d”,a<=100); }
答案: 1
16、 假定等级和分数有以下对应关系: 等级:A 分数:85~100 等级:B 分数:60~84 等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是__。
答案: switch (grade) { case ‘A’:printf(“85–100”);break; case ‘B’:printf(“60–84”);break; case ‘C’:printf(“60以下 “);break; default:printf(“等级错误!”); }
17、 为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系。
答案: 在其之前尚未配对的最近的if
18、 设ch是char型变量,值为’A’,则表达式ch=(ch>=’A’ && ch<=’Z’)?ch+32:ch的值是____。
答案: a
19、 运行下面程序时,从键盘输入字母H,则输出结果是__。 #include <stdio.h> void main( ) { char ch; ch=getchar( ); switch(ch) { case ‘H’:printf(“Hello!”); case ‘G’:printf(“Good morning!”); default:printf(“Bye_Bye!”); } }
答案: Hello! Good Morning!Bye_Bye!
20、 运行下面程序时,若从键盘输入”3,4 <CR>”,则程序的输出结果是_。 #include <stdio.h> void main( ) { int a,b,s; scanf(“%d,%d”,&a,&b); s=a; if (s<b) s=b; s=s*s; printf(“%d”,s) ; }
答案: 16
21、 C语言中的逻辑值“真”是用T表示的,逻辑值“假”是用F表示的。 ( )
答案: 错误
22、 在C程序中,min 和Min代表不同的变量。( )
答案: 正确
23、 在C语言中,虽然有逻辑运算,但没有逻辑型变量。( )
答案: 正确
24、 若有int i=5,j=1;表达式i=j的值为1。 ( )
答案: 正确
25、 若有int i=5,j=1;表达式i==j的值为1。 ( )
答案: 错误
26、 在嵌套的if…else语句结构中,if语句和else语句的个数必须完全相同。 ( )
答案: 错误
27、 语句: printf(“%d”,(a=2)&&(b=-2));的输出结果是____。
答案: 1
28、 有以下程序#include <stdio.h>main( ){ int x;scanf(“%d”,&x);if(x>15) printf(“%d”,x-5);if(x>10) printf(“%d”,x);if(x>5) printf(“%d”,x+5);}若程序运行时从键盘输入12<回车>,则输出结果为____。
答案: 1217
29、 表达式1!=1的值是 .
答案: 0
30、 若a 为整型,则逻辑表达式(a==1) || (a!=1) 的值是_____。
答案: 1
第五周 循环结构程序设计 第五周 单元测验
1、 程序段如下:则以下说法中正确的是: 。int k=5;do{ k–;}while(k<=0);
答案: 循环体语句执行一次
2、 以下叙述中正确的是 。
答案: break 语句只能用在循环体内和switch语句体内
3、 设i和x都是int类型,则for循环语句 。for(i=0,x=0;i<=9&&x!=876;i++) scanf(“%d”,&x);
答案: 最多执行10次
4、 下述for循环语句 。int i,k;for(i=0,k=-1;k=1;i++,k++) printf(“ * *”);
答案: 是无限循环
5、 在一个C语言源程序中,若“e1”和“e3”是表达式,“s;”是语句,则下列选项中与语句“for(e1; ;e3) s;”功能等同的语句是 。
答案: e1;while(1){s;e3;}
6、 程序段如下:则以下说法中正确的是: 。int k=-20;while(k=0) k=k+1;
答案: 循环体语句一次也不执行
7、 执行语句:for(i=1;i++<4;); 后变量i的值是 。
答案: 5
8、 在while(x)语句中的x与下面条件表达式等价的是 。
答案: x!=0
9、 通过while循环不断读入字符,当读入字母N时结束循环。以下正确的程序段是 。
答案: while((ch=getchar())!=’N’) printf(“%c”,ch);
10、 以下程序的输出结果是 。void main() { int i,sum=0; for(i=1;i<=3;sum++) sum+=i; printf(“%d”,sum);
答案: 无限循环
11、 求标有//语句的执行次数( )。 int a=0,i; for (i=1;i<20;i++) { if (i%5!=0) break; a+=i; // }
答案: 0
12、 下面程序的输出结果是___。 #include<stdio.h> void main( ) { int n=4; while (n–) printf(“%d “,n–); }
答案: 3 1
13、 以下程序运行后的输出结果是__。 #include<stdio.h> void main() { int i=10,j=0; do { j=j+1; i–; }while(i>2); printf(“%d”,j); }
答案: 8
14、 对于for(表达式1;;表达式3)可理解为____。
答案: for(表达式1;1;表达式3)
15、 以下程序的输出结果是().int main(){ int n=9; while(n>6){n–; printf(“%d”,n);} }
答案: 876
16、 C语言程序的变量必须先定义再使用。
答案: 正确
17、 for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的分号却不可以省。
答案: 正确
18、 while 循环是“先执行,后判断”,即不管循环条件是否满足,循环体至少执行一次。
答案: 错误
19、 do-while结构是表示一直执行循环体,直到循环条件为真时,循环结束。
答案: 错误
20、 break语句只能用在循环结构中。
答案: 错误
21、 continue语句可以使得循环终止,也就是提前结束循环。
答案: 错误
22、 一下程序的运行结果是 。#include<stdio.h>void main(){ int i,t; t=1; for(i=2;i<=10;i++) t=(i+1)*2; printf(“%d”,t); }
答案: 22
23、 for循环语句的第一个表达式在整个循环体中执行的次数为 次。
答案: 1
24、 for循环语句的第二个表达式在整个循环体中执行的次数最少为 次。
答案: 1
上方为免费预览版答案,如需购买完整答案,请点击下方红字
点关注,不迷路,微信扫一扫下方二维码
关注我们的公众号:阿布查查 随时查看答案,网课轻松过
为了方便下次阅读,建议在浏览器添加书签收藏本网页
电脑浏览器添加/查看书签方法
1.按键盘的ctrl键+D键,收藏本页面
2.下次如何查看收藏的网页?
点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页
手机浏览器添加/查看书签方法
一、百度APP添加/查看书签方法
1.点击底部五角星收藏本网页
2.下次如何查看收藏的网页?
点击右上角【┇】-再点击【收藏中心】查看
二、其他手机浏览器添加/查看书签方法
1.点击【设置】-【添加书签】收藏本网页
2.下次如何查看收藏的网页?
点击【设置】-【书签/历史】查看收藏的网页
屡犀旱垂餐膊抽曝笨骑惰姆糯