C++程序设计基础课后答案 第二章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 阅读下列程序,写出执行结果
1. #include
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;
}
2.#include
void main()
{ int a = 0, b = 1;
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;
}
}
3. #include
void main()
{ int i = 1;
while( i<=10 )
if( ++i % 3 != 1 )
continue;
else cout << i << endl;
}
4. #include
void main()
{ int i = 0 , j = 5;
do
{ i++; j--;
if ( i>3 ) break;
} while ( j>0 );
cout << "i=" << i << '\t '<< "j=" << j << endl;
}
5.#include
void main()
{ int i,j;
for( i=1, j=5; i { j--; } cout << i << ′\t′<< j << endl; } 6. #include void main() { int i, s = 0; for( i=0; i<5; i++ ) switch( i ) { case 0: s += i; break; case 1: s += i; break; case 2: s += i; break; default: s += 2; } cout << "s=" << s < } 7. #include void main() { 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; } 2.2 思考题 1. C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。 2. 什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。 3. 根据一个实际问题,用不同的循环语句编程,分析其优缺点。 4. 用if语句和goto语句组织循环,改写思考题2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。 1. C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。 【答案】 语句使用方式使用场合if语句if(表达式)语句1; ·需要对给定的条件进行判断,并根据判断 演示程序: (1)以下程序用if输出等级对应的分数段 //A->=90,B-(90,80],C-(80,70] ,D-(70,60],,E-<60 #include using namespace std; int main() { char gd; cout<<"Enter the grade:"; cin>>gd; //直到输入有效等级,否则程序不继续运行 while(!((gd>='A' && gd<='E')||(gd>='a' && gd<='e'))) { cout<<"Invalid grade! Please retry:"; cin>>gd; } if(gd=='A'||gd=='a') cout<<"\nScored 90-100!\n"; else if(gd=='B'||gd=='b') cout<<"\nScored 80-89!\n"; else if(gd=='C'||gd=='c') cout<<"\nScored 70-79!\n"; else if(gd=='D'||gd=='d') cout<<"\nScored 60-69!\n"; else if(gd=='E'||gd=='e') cout<<"\nScore under 60!\n"; else cout<<"Unexpect error!\n"; //防止意外错误} (2)此程序用switch输出等级对应的分数段 //A->=90,B-(90,80],C-(80,70] ,D-(70,60],,E-<60 #include using namespace std; int main() { char gd; cout<<"Enter the grade:"; cin>>gd; //直到输入有效等级,否则程序不继续运行 while(!((gd>='A' && gd<='E')||(gd>='a' && gd<='e'))) { cout<<"Invalid grade! Please retry:"; cin>>gd; } switch(gd) { case 'A': case 'a': cout<<"\nScored 90-100!\n";break; case 'B': case 'b': cout<<"\nScored 80-89!\n";break;