第一章 初识计算机、程序与C语言(共5个视频,时长32分钟54秒)

1.1 随堂测验

1、单选题:
‌“程序存储思想”是__________提出来的。​
选项:
A: Dennis M. Ritchie 
B: Bell
C: Von Neumann
D: Ken Thompsom
答案: 【 Von Neumann

2、单选题:
‍如果计算机有32根地址总线,则其存储器的最大容量可达____________。‌
选项:
A: 4GB
B: 32M
C: 16GB
D: 32GB
答案: 【 4GB

3、判断题:
​存储器的容量可以通过插入内存条进行无限扩充。‏
选项:
A: 正确
B: 错误
答案: 【 错误

1.3 随堂测验

1、单选题:
以下哪一种是从源程序到目标程序的翻译方式_________。‎‌‎
选项:
A: 编辑
B: 编译
C: 链接
D: 运行
答案: 【 编译

2、判断题:
‏C语言和JAVA语言都是面向对象的程序设计语言。‏
选项:
A: 正确
B: 错误
答案: 【 错误

1.4 随堂测验

1、单选题:
‌十进制数346所对应的八进制数为‌
选项:
A: 235
B: 532
C: 237
D: 732
答案: 【 532

2、判断题:
‍在进制转换中,一位八进制数相当于三位二进制数,一位十六进制数相当于四位二进制数。‏
选项:
A: 正确
B: 错误
答案: 【 正确

第一章单元测验

1、单选题:
‎以下哪个是冯诺伊曼的思想____________。‎
选项:
A: 计算机应采用二进制
B: 程序存储的思想
C: 计算机由硬件和软件组成
D: 软件分为系统软件和应用软件
答案: 【 程序存储的思想

2、单选题:
‌关于软件,下列说法不正确的是_____________。‏
选项:
A: 软件的核心是程序
B: 软件就是程序
C: 软件是程序和文档的总和
D: 软件不能缺少文档
答案: 【 软件就是程序

3、单选题:
‎以下关于源程序与目标程序的说法,不正确的是____________。‎
选项:
A: 用机器语言编写的源程序就是目标程序
B: 汇编语言写的源程序需要汇编为目标程序
C: C语言源程序需要编译为目标程序
D: 所有高级语言的编译器均一样
答案: 【 所有高级语言的编译器均一样

4、单选题:
‍第一个结构化程序设计语言是_________________。‌
选项:
A: PASCAL
B: C
C: BASIC
D: FORTRAN
答案: 【 PASCAL

5、单选题:
‏贝尔实验室的Dennis M. Ritchie于1973年用C语言重写了__________操作系统。​
选项:
A: DOS
B: UNIX
C: WINDOWS
D: LINUX
答案: 【 UNIX

6、单选题:
‌如果计算机有32根地址总线,其存储器的最大存储容量为_______________。‌
选项:
A: 64MB
B: 32GB
C: 4GB
D: 8GB
答案: 【 4GB

7、单选题:
‎二进制数10101010101所对应的八进制数为________________。​
选项:
A: 2525
B: 5252
C: 555
D: 222
答案: 【 2525

8、单选题:
‎二进制数10101010101所对应的十六进制数为__________________。‎
选项:
A: 222
B: 555
C: 2525
D: 5252
答案: 【 555

9、单选题:
​可运行的C语言程序的扩展名为___________________。‏
选项:
A: obj
B: cpp
C: exe
D: c
答案: 【 exe

10、单选题:
‍C程序编译之后生成的文件名的扩展名是_________________。‎
选项:
A: .exe
B: .obj
C: .c
D: .bin
答案: 【 .obj

11、填空题:
‍C语言源程序开发的第一步为_____________。‍
答案: 【 编辑

12、填空题:
‍观察本章的“Hello world”C程序,打印“Hello world”用的函数为_____________。‍
答案: 【 printf

13、填空题:
‏十进制数348所对应的八进制数为______________。‏
答案: 【 534

14、填空题:
‎C程序的完整开发过程包括:编辑、_________、链接和运行。‎
答案: 【 编译

15、填空题:
‎观察本章的“Hello wolrd”C源程序,每条语句以_______结束。‎
答案: 【 分号##%_YZPRLFH_%##;##%_YZPRLFH_%##;

第二章 初识C源程序及其数据类型(共5个视频,时长57分钟7秒)

2.1 随堂测验

1、单选题:
‍_____可以作为正确的变量名。‎‍‎
选项:
A: R&D
B: _filename
C: for
D: $X;
答案: 【 _filename

2、填空题:
‌C程序的执行从_________开始。‍‌‍
答案: 【 main##%_YZPRLFH_%##主函数##%_YZPRLFH_%##main函数

3、填空题:
‍一个C程序有______个主函数。‎
答案: 【 1##%_YZPRLFH_%##一

2.2 随堂测验

1、判断题:
‏sizeof是一个函数名。​
选项:
A: 正确
B: 错误
答案: 【 错误

2、判断题:
​在C语言中,对于任何一种数据类型,都要严格规定该类数据的存储结构、取值范围和能对其进行的操作。‍
选项:
A: 正确
B: 错误
答案: 【 正确

3、判断题:
​单精度和双精度都是实型,所以是一样的。‎
选项:
A: 正确
B: 错误
答案: 【 错误

4、填空题:
在C语言中,用关键字__ __定义单精度实型变量。​‌​
答案: 【 float

2.3 随堂测验

1、单选题:
​下列_____数值最大?‎
选项:
A: 012
B: 0x12
C: 12
D: 120
答案: 【 120

2、单选题:
‏下列______是合法的实型常量?‎
选项:
A: 234E3.1
B: E3
C: 234.
D: 234
答案: 【 234.

3、单选题:
‏______不同于其他三个字符?​
选项:
A: ‘a’
B: ‘A’
C: ‘x41'
D: '101'
答案: 【 ‘a’

4、单选题:
‎________是C语言中合法的字符串常量?‎
选项:
A: How are you?
B: "How are you ?"
C: 'How are you?'
D: $How are you?$
答案: 【 "How are you ?"

2.4 随堂测验

1、单选题:
‍有变量定义如下:double num; 要使得num的值为3.14159,则正确的输入语句为:________。‌
选项:
A: scanf("%lf",num);
B: scanf("%lf",&num);
C: scanf("%d",&num);
D: scanf("%f",&num);
答案: 【 scanf("%lf",&num);

2、单选题:
阅读以下程序‍#include‍int main()‍{‍ int case; float printF;‍   printf(“请输入2个数:”);‍   scanf(“%d %f”,&case,&pjrintF);‍ printf(“%d %fn”,case,printF);‍return 0;‍}‍该程序编译时产生错误,其出错原因是________。‍‏‍
选项:
A: 定义语句出错,case不能用作用户自定义标识符
B: 定义语句出错,printF不能用作用户自定义标识符
C: 定义语句无错,scanf不能作为输入函数使用
D: 定义语句无错,printf不能输出case的值
答案: 【 定义语句出错,case不能用作用户自定义标识符

3、判断题:
‏#include<stdio.h>‍‏ int main( )‍‏ { ‍‏         scanf("%3d%f",&x,&y);‍‏         printf(“%d,%fn”,x,y);‍‏         return 0;‍‏ }‍‏ ‍‏该段代码编译没有错误,可正常运行。‍‏‍
选项:
A: 正确
B: 错误
答案: 【 错误

4、填空题:
请写出下面程序的输出结果。‌#include<stdio.h>‌int main()‌{  char ch='A'+10;‌ printf("C=%c,C=%d,c=%c,c=%dn",ch,ch,ch+32,ch+32);‌   return 0;‌}    ‌‌‌
答案: 【 C=K,C=75,c=k,c=107##%_YZPRLFH_%##C=K,C=75,c=k,c=107

2.5 随堂测验

1、单选题:
‌C语言short型数据占2个字节,则unsigned short型数据的取值范围是______。‏
选项:
A: 0 ~255
B: 0~65535
C: -256~255
D: -32768~32767
答案: 【 0~65535

2、填空题:
请写出下面程序的输出结果。  ‏#include<stdio.h>‏int main( )  ‏{    ‏short int a=32767,b;‏b=a+1;‏printf("a=%d,b=%dn",a,b);‏return 0;‏}‏‏‏
答案: 【 a=32767,b=-32768##%_YZPRLFH_%##a=32767,b=-32768

第二章单元测验

1、单选题:
‌下列不正确的转义字符是______。​
选项:
A: 'v'
B: '"'
C: '68'
D: ''
E: 't'
F: 'x4f '
答案: 【 '68'

2、单选题:
‍下列不正确的常量表示是_______。‏
选项:
A: 0x33FF
B: 1.2e0.5
C: 2L
D: '72'
E: 'HelloWorld!'
F:  "我爱中国"
答案: 【 1.2e0.5;
'HelloWorld!'

3、单选题:
​若函数中有定义语句:int k;,则下列说法正确的是_______。‏
选项:
A: 系统将自动给k赋初值0
B: 这时k中有值但是无意义
C: 系统将自动给k赋初值-1
D: 这时k中无任何值
答案: 【 这时k中有值但是无意义

4、单选题:
‍关于C语言中数的表示,以下叙述正确的是________。‎
选项:
A: 只有整型数在允许范围内能精确无误地表示,实型数会有误差
B: 只要在允许范围内整型和实型都能精确表示
C: 只有实型数在允许范围内能精确无误地表示,整型数会有误差
D: 只有八进制表示的数才不会有误差
答案: 【 只有整型数在允许范围内能精确无误地表示,实型数会有误差

5、单选题:
​C语言中,"x5d"在内存中占用的字节数是_______。‎
选项:
A: 2
B: 3
C: 4
D: 1
E: 5
答案: 【 2

6、单选题:
‏C语言中,一个字符型变量在内存中占用的字节数是_______。‌
选项:
A: 1
B: 3
C: 4
D: 2
答案: 【 1

7、单选题:
‍以下正确的 C 语言变量名是_______。‍
选项:
A: for
B: excise_1
C: a+b
D: 5test
答案: 【 excise_1

8、单选题:
‏下列选项中,正确的整型常量是________.‌
选项:
A: 018
B: 0xfa
C: 12,345
D: 01a
E: 0171
F: 33ff
答案: 【 0xfa;
0171

9、单选题:
‎下列选择中为C语言中非法常量的是_______.‏
选项:
A: 'as'
B: '\'
C: 01177
D: .2e5
E: 'x61'
F: 1E-2
答案: 【 'as'

10、单选题:
‏下列哪个选项属于C语言中的合法字符串常量           。​
选项:
A: $abc$
B: how are you
C: "china"
D: 'hello'
E: /*上课了*/
答案: 【 "china"

11、单选题:
#include <stdio.h>‎int main()‎{  double i=3.1415926;‎    printf("%.4f,%4.3f,%6.2f", i, i, i);‎    return 0; ‎ } ‎​                           ‎​‎
选项:
A: 输出错误
B: 3.14,.142,3.14
C: 3.1416,3.142,  3.14
D: 0.1415,3.141,  3.14
E: 3.14,3.141,3.1416
答案: 【 3.1416,3.142,  3.14

12、单选题:
有以下程序段‏ char ch;‏ ch='a'; ‏ printf("%c,%d",ch, ch); ‏ 已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是‏‎‏
选项:
A: 因变量类型与格式描述符的类型不匹配输出无定值
B: 输出项与格式描述符个数不符,输出为零值或不定值
C: a,97
D: 'a',a
E: 'a',97
F: 97,a
答案: 【 a,97

13、单选题:
若有以下定义和语句,char c1 = ‘b’, c2 = ‘e’; ‏​   printf("%d, %cn", c2-c1, c2-‘a’+’A’);   则输出结果是___‏​‏
选项:
A: 3,E
B: 类型不匹配,编译报错
C: 无法计算,输出乱码
D: 3,e 
E: 4,E
F: b,E
答案: 【 3,E

14、填空题:
‏语句printf(“You are rAx20niceEbboy!”); 的输出结果是______。‎
答案: 【 A niceboy!##%_YZPRLFH_%##A niceboy!

15、填空题:
​有scanf输入一个double型变量时,需要使用格式转换说明符为%              。‌
答案: 【 lf

16、填空题:
‍程序中定义的一个字符型变量在内存中占用___     个字节。‍
答案: 【 1

17、填空题:
‎C语言程序中需要进行输入/输出处理时,必须包含的头文件是           。‎
答案: 【 stdio.h##%_YZPRLFH_%##

18、填空题:
‏C语言源程序名的后缀是_____。‏
答案: 【 C##%_YZPRLFH_%##c##%_YZPRLFH_%##.C##%_YZPRLFH_%##.c

19、填空题:
‎需要从键盘给一个字符型变量ch输入一个字符,使用的输入语句是:ch=         (); 。‏
答案: 【 getchar##%_YZPRLFH_%##getch

20、填空题:
‎使用标准输出函数输出一个double型的变量x,要求输出数值占6列,即6个数字位,并保留2位小数位,则输出语句为printf("%_____f",x);。如:x=123.4567,要求输出在屏幕上为123.46;x=3.45678,则输出为□□3.46;□表示空格。‍‎‍
答案: 【 6.2l##%_YZPRLFH_%##6.2l##%_YZPRLFH_%##6.2##%_YZPRLFH_%##6.2

第三章 表达式与运算符(共8个视频,时长49分钟13秒)

3.1 随堂测验

1、判断题:
单目运算符的优先级高于双目算术运算符。‍‍‍
选项:
A: 正确
B: 错误
答案: 【 正确

2、判断题:
‌数值368不是一个合法的C语言表达式。​‌​
选项:
A: 正确
B: 错误
答案: 【 错误

3.2 随堂测验

1、单选题:
‌下列运算符号的结合性是从右往左的是______。​‌​
选项:
A: ==         
B: ()
C: ?:     
D:  &&
答案: 【 ?:     

2、判断题:
‌运算符“()”的优先级高于运算符“++”​‌​
选项:
A: 正确
B: 错误
答案: 【 正确

3.3 随堂测验

1、单选题:
以下运算符中优先级最低的是_______。‏‍‏
选项:
A: 赋值运算符
B:  关系运算符 
C: 逻辑运算符
D: 逗号运算符
答案: 【 逗号运算符

2、单选题:
设m,n,a,b,c,d均为0,执行(m=a= =b)||(n=c= =d)后,m、n的值是           。​​​​
选项:
A: 0,0  
B: 0,1       
C: 1,0     
D: 1,1
答案: 【 1,0     

3、单选题:
设float m=4.0,n=4.0;使m为10.0的表达式是____。‏‏‌‏
选项:
A: m -= n*2.5 
B:  m/=n+9 
C: m*=n-6
D: m+=n+2
答案: 【 m+=n+2

4、填空题:
‍设有语句:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4的值是_______。‌
答案: 【 2.5##%_YZPRLFH_%##2.500000

5、填空题:
‏定义 int x,y; 执行 y=(x=1,++x,x+2); 语句后,y =________。 ‍
答案: 【 4

3.4 随堂测验

1、单选题:
以下结果为整数的表达式(设有 int i;char c;float f; )____。 ‌‌‎‌
选项:
A: i+f    
B: i*c   
C: c+f   
D: i+c+f
答案: 【 i*c   

2、填空题:
‍a+b%3*(int)(a-b)/4 (设double a=13.6; int b=8)结果为:            ‌
答案: 【 15.600000##%_YZPRLFH_%##15.6

3.5 随堂测验

1、单选题:
设a=2,b=3;则表达式a^b>>2的值是____.‏‏​‏
选项:
A: 00000011 
B: 00000110  
C: 00000100 
D: 00000010
答案: 【 00000010

2、单选题:
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是_______ 。‍‍
选项:
A: a^b  
B:      a|b    
C:    a&b    
D:  a<<4
答案: 【 a^b  

第三章单元测验

1、单选题:
‎sizeof 是一个_____。‏
选项:
A: 运算符
B: 常量
C: 变量
D: 函数
答案: 【 运算符

2、单选题:
有以下变量定义:int k=9,x=14;,则执行语句k=(x%=k)-(k%=4)后,k的值为_____。‌‏‌
选项:
A: 3
B: 5
C: 1
D: 4
答案: 【 4

3、单选题:
​判断char型变量c1是否为大写字母的正确表达式是_____。‌
选项:
A: 'A'<=c1<='Z'
B: (c1>='A')&(c1<='Z')
C: (c1>='A')&&(c1<='Z')
D: ('A'<=c1) AND ('Z'>=c1)
E: ('A'<=c1)&&('Z'>=c1)
答案: 【 (c1>='A')&&(c1<='Z');
('A'<=c1)&&('Z'>=c1)

4、单选题:
‌设double m=4.0,n=4.0;使m为10.0的表达式是____。‌
选项:
A: m-=n*2.5
B: m/=n+9  
C: m*=n-6
D: m+=n+2
答案: 【 m+=n+2

5、单选题:
设变量均已正确定义并且赋值,以下与其他三组输出结果不同的一组语句是_______。​‏​
选项:
A: x++; printf(“%dn”,x); 
B: n=++x; printf(“%dn”,n);
C: ++x; printf(“%dn”,x); 
D: n=x++; printf(“%dn”,n);
答案: 【 n=x++; printf(“%dn”,n);

6、单选题:
‍若有变量定义:double x=4.5,y=2.5;则表达式(x+y)/2+(int)x%(int)y结果为__      ___。‎
选项:
A: 3.5
B: 5.5
C: 3.0
D: 5.0
答案: 【 3.5

7、单选题:
​定义 int x,y; 执行 y=(x=1,++x, x+2); 语句后,x=___  __,y =_  ____。‏
选项:
A: 2   4
B: 1   3
C: 2   3
D: 4   4
答案: 【 2   4

8、单选题:
‏表达式13/4*sqrt(6.25)/8 值的数据类型为__________。‍
选项:
A: int
B: double
C: float
D: 不确定
答案: 【 double

9、单选题:
‏ 在以下的运算符中,运算对象都必须是整型数的是          。‌
选项:
A: %
B: +
C: ++
D: ( )
答案: 【 %

10、单选题:
​设x是double型变量,则能将x的值四舍五入保留到小数点后两位的表达式是      。‍​‍
选项:
A: (x*100.0+0.5)/100.0  
B: (int)(x*100+0.5)/100.0
C:  x*100+0.5/100.0
D: (x/100+0.5)*100.0
答案: 【 (int)(x*100+0.5)/100.0

11、单选题:
‍‍‍若有定义:int a=1,b=1,c,d;,则语句‍‍c=(a++) + (++b);    执行后a=________;b=_________,c=_________。‍
选项:
A: 2  2  4
B:  2  2  3
C: 1  1  2
D: 1  2  3  
答案: 【  2  2  3

12、单选题:

将计算半周长的数学公式:写成如下各种形式,已知a、b、c均为整型变量,不正确的是________

​选项:
A: x=0.5*(a+b+c)
B: x=1/2*(a+b+c)
C: x=(a+b+c)/2.0
D: x=(float)(a+b+c)/2
E: x=1.0/2*(a+b+c)
F: x=(float)((a+b+c)/2)
答案: 【 x=1/2*(a+b+c);
x=(float)((a+b+c)/2)

13、单选题:
‌设有语句:int a = 3 , b =5, m; 则执行语句:m = a<=3 && a+b<8 后,m的值为_____。‎
选项:
A: 0
B: 1
C: 2 
D: 3
答案: 【 0

14、单选题:
​需要将一个三位数字的整型数x中的十分位数字b2(如368中的6)提取出来,下列C语句________不能实现。‍
选项:
A: b2=x%100/10
B: b2=x/10%10
C: b2=x/100;b2=(x-b2*100)/10
D: b2=x%10/10
答案: 【 b2=x%10/10

15、单选题:

请将三角形面积公式:写成合法的C语言表达式_______

‍选项:
A: sqrt(s(s-a)(s-b)(s-c))
B: sqrt(s*(s-a)*(s-b)*(s-c))
C: sqrt(s*(s-a)(s-b)(s-c))
D: sqrt(s.(s-a).(s-b).(s-c))
答案: 【 sqrt(s*(s-a)*(s-b)*(s-c))

16、单选题:
‍设已定义字符型变量ch,执行语句:ch=’D’+32-3; 后ch的值为__________。​
选项:
A: d
B: a
C: b
D: A
E: B
答案: 【 a

17、单选题:
‏在C语言的赋值表达式中,赋值符号左边必须是已经定义过的_________。‏
选项:
A: 变量
B: 变量名
C: 表达式
D: 常量
E: 函数
F: 任意符号
答案: 【 变量;
变量名

18、填空题:
‍设有语句:int a=7; float x=2.5, y=4.7;,则表达式x+a%3*(int) (x+y)%2/4的值是      。(小数点后面保留一位)‌
答案: 【 2.5

19、填空题:
‏若有int x=1,y=1,表达式(!x || y--)的值等于              。‍
答案: 【 1

20、填空题:
‏若有int n = 2;执行语句:n += n-= n*n后, n=            。​
答案: 【 -4

21、填空题:
‎若有int n = 2;执行语句:n += n-= n*=n后, n=             。‎
答案: 【 0

22、填空题:
‍设有语句:int a = 3 , b =5, m; 则执行语句:(m = a<=3)&& a+b<8 后,m的值为___。‌
答案: 【 1

第四章 程序流程控制(共11个视频,时长2小时16分钟37秒)

4.1 随堂测验

1、单选题:
‏C语言的语句分为____类‎
选项:
A: 5
B: 4
C: 6
D: 3
答案: 【 5

2、单选题:
‌‍用流程图描述一个只有顺序结构而没有选择结构和循环结构的算法时,一定用不到的流程图框型是______。‍‍‌ ‍
选项:
A: 起止框
B: 输入/输出框
C: 处理框
D: 判断框
答案: 【 判断框

3、多选题:
​下列可以控制循环结构的控制语句是:______‏
选项:
A: for语句
B: while语句
C: do...while语句
D: switch语句
答案: 【 for语句;
while语句;
do...while语句

4.2 随堂测验

1、单选题:
‍下列可能出现在顺序结构程序中的控制语句是__________‌
选项:
A: if语句
B: for语句
C: while语句
D: return语句
答案: 【 return语句

2、判断题:
‎可以将例4.1中的两条语句:‌‎area=sqrt(p*(p-edge1)*(p-edge2)*(p-edge3));‌‎printf("area=%lfn",area);‌‎合并为一条语句:‌‎printf("area=%lfn",sqrt(p*(p-edge1)*(p-edge2)*(p-edge3)));‌‎同时删除area变量的定义。‌‎‌
选项:
A: 正确
B: 错误
答案: 【 正确

4.3 随堂测验

1、单选题:
‏‍以下关于单分支if和双分支if的描述中不正确的是_____________.‍‏‍‏‍
选项:
A: 单分支if和双分支if都可以用于处理存在两种可能选择的情况
B: 单分支if和双分支if在if后的条件满足时都只允许执行一条语句
C:  单分支if和双分支if在if后的条件不满足时都不执行任何语句
D:  单分支if和双分支if在语法上都看成是一条语句
答案: 【  单分支if和双分支if在if后的条件不满足时都不执行任何语句

2、单选题:
下列四段代码,哪一段的执行效果与其他三种不同__________.‌‌‌
选项:
A: if (x>0)              y=1;       else   if (x<0)                     y=-1;              else                     y=0;
B: if (x>=0)       if (x>0)               y=1;       else              y=0;else       y=-1; 
C: y=1;if (x==0) y=0;if (x<0) y=-1; 
D: y=1;if (x==0) y=0;else y=-1; 
答案: 【 y=1;if (x==0) y=0;else y=-1; 

3、单选题:
关于嵌套if语句与switch语句的关系描述中不正确的是__________.‍‎ ‍
选项:
A: 二者都可以处理三种及以上可能的选择 
B: 二者的适用范围完全相同 
C: switch语句总是可以用嵌套if语句来完全等效替代,反之不然 
D: 二者都是控制选择结构的语句,语法上都是一条语句
答案: 【 二者的适用范围完全相同 

4、单选题:
关于switch语句的描述中不正确的是__________.‍‎‍
选项:
A: switch后的表达式类型不可以是实型
B: 每一个case后的常量只能有一个
C: default分支必须要有,用于处理swith后的表达式结果与所有常量均不相等时的情况
D: 在每个分支处理结束后配合使用break语句才能真正实现逻辑上的多分支处理
答案: 【 default分支必须要有,用于处理swith后的表达式结果与所有常量均不相等时的情况

4.4 随堂测验

1、单选题:
‌C 语言中 while 和 do-while 循环的主要区别是   __。‎
选项:
A:  do-while 的循环体至少无条件执行一次而while的循环体可能一次也不执行
B: while 的循环控制条件比 do-while 的循环控制条件严格
C: do-while 允许从外部转到循环体内
D: do-while 的循环体不能是复合语句
答案: 【  do-while 的循环体至少无条件执行一次而while的循环体可能一次也不执行

2、单选题:
以下程序段   __。‌x=-1;‌do  ‌{   ‌x=x*x;   ‌} while(!x);‌‌‌
选项:
A: 是死循环
B: 循环体执行二次
C: 循环体执行一次
D: 有语法错
答案: 【 循环体执行一次

3、单选题:
‎‎若k是int类型变量,有以下for语句:‎for(k=-1;  k=1;  k++)    printf("*****n");‎‎下面关于语句执行情况的叙述中正确的是________。‎‎‎
选项:
A: 循环体执行两次
B: 循环体执行一次
C: 循环体一次也不执行
D: 死循环
答案: 【 死循环

4、单选题:
假设程序中已有定义:int  s=0, i;‍下列哪一段代码无法正确实现求1到10的和______。‍‎‍
选项:
A: for (i=1; i<=10 ;i++)   s+=i;
B: for (i=1; ; i++)  {     if (i>10)       break;      s+=i;  }
C: i=1;  while (i<=10)   s+=i++;
D: i=1;do{     s+=++i;}while (i<=10);
答案: 【 i=1;do{     s+=++i;}while (i<=10);

4.5 随堂测验

1、单选题:
‍下面程序段中,循环语句的循环次数是______。‍int x=0;‍while( x<6 )‍{‍        if ( x%2 ) continue;‍        if ( x==4 ) break;‍        x++; ‍ }‍‍‍
选项:
A: 1
B: 4
C: 6
D: 死循环
答案: 【 死循环

2、判断题:
‎设有变量定义: int i;‌‎下列两段代码的执行效果完全相同。‌‎第一段代码:‌for (i=1;i<=5;i++) ‌{   ‌    if (i%2)   ‌        printf("*"); ‌    else   ‌        continue; ‌    printf("#"); ‌‎}‌‎第二段代码:‌for (i=1;i<=5;i++) ‌   if (i%2)‌    {‌       printf("*");      ‌        printf("#"); ‌‎    } ‌‎‌
选项:
A: 正确
B: 错误
答案: 【 正确

4.6 随堂测验

1、单选题:
有语句定义:int x,y;,则程序段中“{…循环体….} ”的执行次数是      。‏for (i=5;  i;  i--)  ‏for (j=0; j<4; j++)  {…循环体….}‏‎‏
选项:
A: 20
B: 24
C: 25
D: 30
答案: 【 20

2、判断题:
‍打印一个规则图形需要用到两层循环,外层控制行变化,第一层的循环体内最多需要完成三个功能:处理前导空格(可能要用到内层循环)、打印本行图形(可能要用到内层循环)、换行。‎
选项:
A: 正确
B: 错误
答案: 【 正确

第四章单元测验

1、单选题:
下列程序段执行后,m的值为______。​int a=0, b=20, c=40, m=60;​if (a) m=a;​else if(b) m=b;​else if(c) m=c;​‎​
选项:
A: 0
B: 20
C: 40
D: 60
答案: 【 20

2、单选题:
已有定义“int x = 0, y = 3;”,对于下面if语句,说法正确的是______。‏   if  (x = y)  printf(“X与Y相等n”);‏‌‏
选项:
A: 输出:X与Y相等,且执行完后x等于y
B: 无输出
C: 输出:X与Y相等,但执行完后x不等于y
D: 编译出错
答案: 【 输出:X与Y相等,且执行完后x等于y

3、单选题:
‏关于switch语句,下列说法中不正确的是______。‌
选项:
A: case语句必须以break结束
B: default分支可以没有
C: switch后面的表达式可以是整型或字符型
D: case后面的常量值必须唯一
答案: 【 case语句必须以break结束

4、单选题:
下面程序段的运行结果是______。‍int a, b=0;‍       for ( a=0 ; a++<=2 ; ) ;‍              b += a;‍       printf("%d, %dn",a,b);‍‎‍‎‍
选项:
A: 3,6
B: 3,3
C: 4,4
D: 语法错误
答案: 【 4,4

5、单选题:
下面程序段中,循环语句的循环次数是______。‍int x=0;‍while( x<6 )‍{‍        if ( x%2 ) continue;‍       if ( x==4 ) break;‍        x++;‍}‍​‍
选项:
A: 死循环
B: 1
C: 4
D: 6
答案: 【 死循环

6、单选题:
若变量已正确定义,有以下程序段:‏int a=3,b=5,c=7;‏if(a>b) a=b; c=a;‏if(c!=a) c=b;‏printf("%d,%d,%dn",a,b,c);‏其输出结果是________。‏‏&r

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注