
4.8 习题
一、填空题
1.代码中最基本的构成单位是_____。
2.空语句由一个_____组成。
3.表达式语句由_____和英文分号组成。
4.顺序结构是指程序运行的顺序会依照语句出现的_____顺序执行。
5.C++语言提供的循环结构包括_____循环语句、while循环语句及_____循环语句。
6.语句的结束符号是_____。
7.语句块由_____条或_____条语句与_____组成。
8.if语句由一个_____和_____语句部分组成,只有一个分支。
9.if-else选择语句是两个_____语句连续使用的组合写法,该语句拥有_____个分支。
10.switch选择语句也可以称为开关语句,它适合处理有_____个以上选项的数据。
11.switch选择语句的基础形式由_____条件、_____子句、常量表达式、执行语句组成。
12.for循环语句由_____、判断条件、_____及循环体四部分组成。
13.在C++语句中跳出循环使用_____语句。
14.在C++语句中跳出当前循环使用_____语句。
15.while循环语句是_____后执行。
16.do-while循环语句是指_____后判断。
二、选择题
1.下面代码的功能是( )。

A.交换a和b的值,并输出这两个值 B.输出a和b的值
C.交换a和b的值 D.其他
2.下面代码的运行结果是( )。

A.10 B.11 C.12 D.13
3.下面代码的运行结果是( )。

A.c B.b C.a D.语法错误
4.下面代码的运行结果是( )。


A.20 B.30 C.2030 D.语法错误
5.下面对流程图的描述错误的是( )。
A.流程图可以用于展示程序的运行顺序
B.通过绘制流程图可以帮助程序员梳理书写程序的思路
C.在绘制流程图过程中需要使用特定的图形与文字对流程进行说明
D.流程图对程序员毫无帮助
6.下面代码的运行结果是( )。

A.4 B.5 C.6 D.语法错误
7.下面运算符中优先级最高的是( )。
A.! B.% C.-= D.&&
8.下面运算符中优先级最低的是( )。
A.|| B.!= C.〈= D.+
9.下面代码的运行结果是( )。

A.a大于b B.b大于a C.无输出 D.编译错误
10.x≥y≥z在C++语言中应该使用的表达式是( )。
A.(x〉=y)&&(y〉=z) B.(x〉=y)AND(y〉=x)
C.(x〉=y〉=z) D.(x〉=y)&(y〉=x)
11.下面代码的运行结果是( )。


A.0 B.1 C.2 D.3
12.下面的代码使用( )能正确表示数学函数关系。


13.下面代码的运行结果是( )。


A.0 B.1 C.10 D.2
14.如果a、b、c都是整型变量,且a=3,b=4,c=5,则值为0的表达式是( )。
A.a&&b B.a〈=b C.a||b+c&&b-c D.!((a〈b)&&!c||1)
15.下面代码的功能是( )。

A.求1!+2!+3!+…+10! B.求1+2+3+…+10
C.求1*2*3*…*10 D.求1!+2!+3!+4!
16.下面代码的运行结果是( )。


A.2550 B.2660 C.2000 D.500000
17.跳出当前循环,需要使用( )语句。
A.for B.continue C.break D.while
18.下面代码的功能是( )。

A.输出0~1000的数 B.输出0~999的数
C.输出0~1000的水仙花数 D.输出0~1000的立方和
19.下面代码的运行结果是( )。

A.+++ B.--- C.+-+ D.-+-
20.下面对for语句描述错误的是( )。
A.for语句也可以称为for循环语句
B.for语句由初始条件、判断条件、迭代条件及循环体四部分组成
C.for语句只做一次判断,结果为假跳出循环,结果为真则进入循环
D.for语句中的初始条件、判断条件与迭代条件都可以由多个表达式组成,每个表达式之间要用逗号隔开
21.下面代码中while循环执行的次数为( )。

A.一次 B.两次 C.无数次 D.一次都不执行
22.下面代码运行后,b的值为( )。

A.2 B.3 C.4 D.5
23.在C++语言中,下面描述正确的是( )。
A.不能使用do-while语句构成的循环
B.do-while语句构成的循环必须用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
24.下面代码的等价代码是( )。


25.C++语言中while和do-while循环的主要区别是( )。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环内部
D.do-while的循环体不能是复合语句
26.下面代码中for循环执行的次数为( )。

A.一次 B.六次 C.无数次 D.一次都不执行
三、编程题
1.在下面画横线的地方填上适当的代码,实现输入两个整数,求两数的平方和并输出。

2.在下面画横线的地方填上适当的代码,实现输入三个整数,求最大值并输出。

3.在下面画横线的地方填上适当的代码,使用复杂嵌套输出如图4.16所示的乘法表。

图4.16 乘法表

4.在下面画横线的地方填上适当的代码,输入一个5位数,判断它是不是回文数。12321是回文数,个位与万位相同,十位与千位相同。
