第三章 流程控制语句
一、填空题
1. 流程控制类语句包括______、______和______三类语句。 2. 跳转类语句包括______、______、______和______四种。 3. 选择类和循环类中的每一种语句都属于______语句。
4. 在switch语句中,每个语句标号所含关键字case后面的表达式必须是
______。
5. 在嵌套的if语句中,每个else关键字与它前面最接近的______关键字
相配套。
6. 作为语句标号使用的C++保留字case和default只能用于______语句
中。
7. 执行switch语句时,在进行作为条件的表达式求值后,将从某个标号
位置起向下执行,当碰到下一个标号位置时(停止/不停止)______执行。 8. 任何______语句都可以改写位具有同样功能的if 语句来实现。 9. 在for 语句中,假定循环体被执行次数为n,则<表达式1>共被计算
______次,<表达式2>共被计算______次,<表达式3>共被计算______次。
10.执行for 和while循环时,每次是先进行______的判断,然后再执行______,
执行do循环时则相反。
11.continue语句只能使用在______类语句中,break语句中既可以使用在
______类语句中,也可以使用在______语句中。
12.for语句中<表达式2>是在每次执行______之前被计算,而<表达式3>是在
每次执行______之后被计算。
13.在所有结构性语句中,只有____________语句的最后必定是以分号结束的,
而其余语句的最后一个字符可能是分号,也可能是______。
14._____语句的循环体至少被执行一次,______和______语句的循环体可能不
会被执行。
15. 若for循环的”头”为 “for(int i=0;i<10;i++)”,并且在循环体
中不会修改i的值,则循环体将被重复执行______次后正常结束。
16. 若while循环的”头”为”while(i++<=10)”,并且i的初值为0,
同时在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。
17. 当do循环的”尾”为”while(i++<=10)”,并且i的初值为0,同时
在循环体中不会修改i的值,则循环体将被重复执行______次后正常结束。
18. 当在程序中执行到______语句时,将结束本层循环类语句或switch
语句的执行。
19. 当在程序中执行到______语句时,将结束所在循环语句中循环体的
一次执行。
20. 在程序中执行到______语句时,将结束所在函数的执行过程,返回
到调用该函数的位置。
二、写出下列每个程序运行后的输出结果并上机验证
1. #include
void main() {
int a=2,b=5,c=4;
if(a+b>10)c=a*b;else c=3*a+b;
if(c<=20) cout< a=a+b;b=a+b;c=a+b+c; cout<<”a,b,c=”< 2. #include void main() { int x=5; switch(2*x-3) { case 4: cout< cout<<”switch end.”< 3. #include #include int I,x,y; for(i=0;i<6;i++) { cin>>x; if(x<0)y=1; else if(x<10) y=x*x+3; else if(x<60) y=4*x-5; else y=int(sqrt(x)); cout< 假定从键盘上输入的6个常数为:36,-5,73,192,6,44。 4. #include void main() { int s0,s1,s2,x; s0=s1=s2=0; for(int i=0;i<12;i++) { cin>>x; switch(x%3){ case 0: s0+=x;break; case 1: s1+=x;break; case 2: s2+=x;break; } } cout< 定 从 键 盘 上 输 入 的 为:36,25,20,43,12,70,66,34,28,15,32,55 5. #include const int N=5; void main() { int I,p=1,s=0; for(i=1;i p=p*I; s=s+p; cout< 6. #include const int M=20; void main() { int c2,c3,c5; 个 整 数 ‘< c2=c3=c5=0; for(int i=1;i<=M;i++) { if(i%2==0) c2++; if(i%3==0) c3++; if(i%5==0) c5++; } cout< 7. #include void main() { int I,j; for(i=0;i<5;i++) { for(j=I;j<5;j++) cout<<’*’; cout< 8. #include void main() { for(int i=1,s=0;i<30;i++) { if(i%2==0||i%3==0)continue; cout< cout<