c程序的控制结构习题复习资料
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程,比较其异同点。
2.3根据一个实际问题,用不同的循环语句编程,分析其优缺点。
3.选择题
3.1对if语句中的表达式的类型,下面描述正确的是(D)。
A.必须是关系表达式
B.必须是关系表达式或逻辑表达式
3.3以下程序输出结果为(A)。
void main() {
int x(1),a(0),b(0);
switch(x){
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
cout<<”a=”<<a<<”,b=”<<b;
}
A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2
void main()
{int a,b,c,d,x;
a=c=0; b=1;d=20;
if(a) d=d-10;
else if(!b)
if(!c)
x=15;
else x=25;
cout<<d<<endl;
}
20
4.2 #include <iostream.h>
void main()
{int a=0, b=1:
3.4已知int i=0,x=0;下面while语句执行时的循环次数为(D)。
while(!x && i<3) {x++;i++;}
A. 4 B.3 C.2 D.1
3.5以下形成死循环的程序段是(B )。
A. for(int x=0;x<3;){x++;};
B. int k=0; do{++k;} while(k>=0);
1.3 c++中提供了若干转向语句,可以改变程序原来的执行顺序。break语句只能用在switch语句和循环语句中,从该处跳出switch语句或循环语句,转去执行switch语句或循环语句之后的语句。continue语句只能用在循环中,程序执行到continue语句时,将跳过其后尚未执行的循环体语句,开始新的循环。return语句用在函数中,用来返回到函数调用处。
}
}
a=0 b=1
a=1 b=2
4.3 #include <iostream.h>
void main()
{int i=1;
while(i<=10)
if(++i%3!=1)
continue;
else cout<<i<<endl;
}
4 7 10
4.4 #include<iostream.h>
void main()
3.7下面的程序段循环执行了(A)次。
int k=10;
while (k=3) k=k-1;
A.死循环B.0次C.3次D.7次
3.8语句while(!E)中的表达式!E等价于(A)。
A.E==0B.E!=1C.E!=0D.E= =1
4.写出下列程序运行来自百度文库果
4.1#include <iostream.h>
C.int a=5;while(a){a--;};
D.int i=3;for( ; i ; i--);
3.6已知有职工情况结构变量emp定义为;
strnct Employee{
char name[20];
long code;
struct{
int year;int month;int day;
}birth;
C.必须是关系表达式或算术表达式
D.可以是任意表达式
3.2与for(表达式1;表达式2;表达式3)功能相同的语句为(A)。
A.表达式1;B.表达式1;
while(表达式2){while(表达式2){
循环体;表达式3;
表达式3;}循环体;}
C.表达式1;D.do{
do{表达式1;
循环体;循环体;
表达式3;}while(表达式2);表达式3;} while(表达式2)
1.4 C++中的文件有两个相互联系的概念:内部文件和外部文件。文件通常是指磁盘文件,这里称为外部文件;而在程序中运行的文件则称为内部文件,更正式的名称是文件流对象。程序中操作的是内部文件,最后保存的是外部文件。
2.简答题
2.1 C++中有什么形式的选择控制语句?归纳它们的语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。
{int i,j,x=0;
for(i=0;i<=3;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2) continue;
x++;
}
x++;
}
cout<<”x=”<<x<<endl;
}
x=16
5.编程题
5.1求100~200之间不能被3整除也不能被7整除的数。
#include<iostream>
using namespace std;
int main(){
int i ;
}emp;
下列对birth的正确赋值方法是( D)。
A.year=1980; month=5; day=1;
B.birth.year=1980; birth.month=5; birthday=1;
C.emp.year=1980; emp.month=5;emp.day=1;
D.emp.birth.year=1980; emp.birth.month=5;emp.birth.day=l;
switch(a)
{case 0: switch(b)
{ case 0:cout<<”a=”<<a<<”b=”<<b<<endl; break;
case 1:cout<<”a=”<<a<<”b=”<<b<<endl; break;
}
case 1:a++; b++; cout<<"a= “<<a<<”b=”<<b<<endl;
概念填空题
1.1任何算法的描述都可以分解为顺序结构、分支结构和循环结构。顺序结构的特点是各块按照书写次序依次执行。分支结构的特点是根据条件判断选择执行路径。循环结构用于实现重复性动作。根据算法的有穷性,循环必须在一定条件下进行,无条件必然会导致死循环。
1.2 switch语句执行流程是:①求表达式的值,其中表达式的值只能是整型、字符型、布尔型或枚举型等类型,而不能取实型这样的连续值;②在常量表达式中找与之相等的分支作为执行入口,并从该分支的语句序列开始执行下去,直到遇到break或switch的结束括号“}”为止;③当表达式的值与所有常量表达式的值均不相等时,若有default分支,则执行其语句序列;④若没有该分支,则结束switch语句,继续后续语句的执行;
2.3根据一个实际问题,用不同的循环语句编程,分析其优缺点。
3.选择题
3.1对if语句中的表达式的类型,下面描述正确的是(D)。
A.必须是关系表达式
B.必须是关系表达式或逻辑表达式
3.3以下程序输出结果为(A)。
void main() {
int x(1),a(0),b(0);
switch(x){
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
cout<<”a=”<<a<<”,b=”<<b;
}
A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2
void main()
{int a,b,c,d,x;
a=c=0; b=1;d=20;
if(a) d=d-10;
else if(!b)
if(!c)
x=15;
else x=25;
cout<<d<<endl;
}
20
4.2 #include <iostream.h>
void main()
{int a=0, b=1:
3.4已知int i=0,x=0;下面while语句执行时的循环次数为(D)。
while(!x && i<3) {x++;i++;}
A. 4 B.3 C.2 D.1
3.5以下形成死循环的程序段是(B )。
A. for(int x=0;x<3;){x++;};
B. int k=0; do{++k;} while(k>=0);
1.3 c++中提供了若干转向语句,可以改变程序原来的执行顺序。break语句只能用在switch语句和循环语句中,从该处跳出switch语句或循环语句,转去执行switch语句或循环语句之后的语句。continue语句只能用在循环中,程序执行到continue语句时,将跳过其后尚未执行的循环体语句,开始新的循环。return语句用在函数中,用来返回到函数调用处。
}
}
a=0 b=1
a=1 b=2
4.3 #include <iostream.h>
void main()
{int i=1;
while(i<=10)
if(++i%3!=1)
continue;
else cout<<i<<endl;
}
4 7 10
4.4 #include<iostream.h>
void main()
3.7下面的程序段循环执行了(A)次。
int k=10;
while (k=3) k=k-1;
A.死循环B.0次C.3次D.7次
3.8语句while(!E)中的表达式!E等价于(A)。
A.E==0B.E!=1C.E!=0D.E= =1
4.写出下列程序运行来自百度文库果
4.1#include <iostream.h>
C.int a=5;while(a){a--;};
D.int i=3;for( ; i ; i--);
3.6已知有职工情况结构变量emp定义为;
strnct Employee{
char name[20];
long code;
struct{
int year;int month;int day;
}birth;
C.必须是关系表达式或算术表达式
D.可以是任意表达式
3.2与for(表达式1;表达式2;表达式3)功能相同的语句为(A)。
A.表达式1;B.表达式1;
while(表达式2){while(表达式2){
循环体;表达式3;
表达式3;}循环体;}
C.表达式1;D.do{
do{表达式1;
循环体;循环体;
表达式3;}while(表达式2);表达式3;} while(表达式2)
1.4 C++中的文件有两个相互联系的概念:内部文件和外部文件。文件通常是指磁盘文件,这里称为外部文件;而在程序中运行的文件则称为内部文件,更正式的名称是文件流对象。程序中操作的是内部文件,最后保存的是外部文件。
2.简答题
2.1 C++中有什么形式的选择控制语句?归纳它们的语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。
{int i,j,x=0;
for(i=0;i<=3;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2) continue;
x++;
}
x++;
}
cout<<”x=”<<x<<endl;
}
x=16
5.编程题
5.1求100~200之间不能被3整除也不能被7整除的数。
#include<iostream>
using namespace std;
int main(){
int i ;
}emp;
下列对birth的正确赋值方法是( D)。
A.year=1980; month=5; day=1;
B.birth.year=1980; birth.month=5; birthday=1;
C.emp.year=1980; emp.month=5;emp.day=1;
D.emp.birth.year=1980; emp.birth.month=5;emp.birth.day=l;
switch(a)
{case 0: switch(b)
{ case 0:cout<<”a=”<<a<<”b=”<<b<<endl; break;
case 1:cout<<”a=”<<a<<”b=”<<b<<endl; break;
}
case 1:a++; b++; cout<<"a= “<<a<<”b=”<<b<<endl;
概念填空题
1.1任何算法的描述都可以分解为顺序结构、分支结构和循环结构。顺序结构的特点是各块按照书写次序依次执行。分支结构的特点是根据条件判断选择执行路径。循环结构用于实现重复性动作。根据算法的有穷性,循环必须在一定条件下进行,无条件必然会导致死循环。
1.2 switch语句执行流程是:①求表达式的值,其中表达式的值只能是整型、字符型、布尔型或枚举型等类型,而不能取实型这样的连续值;②在常量表达式中找与之相等的分支作为执行入口,并从该分支的语句序列开始执行下去,直到遇到break或switch的结束括号“}”为止;③当表达式的值与所有常量表达式的值均不相等时,若有default分支,则执行其语句序列;④若没有该分支,则结束switch语句,继续后续语句的执行;