云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C++程序设计基础 习题及其解答(第3版) 周霭如版本 华南理工大学

C++程序设计基础 习题及其解答(第3版) 周霭如版本 华南理工大学

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 9:24:23

#include using namespace std; int 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= 16

2.3 思考题

1. C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。 【解答】 语句 使用方式 使用场合 if语句 if(表达式)语句1; 需要对给定的条件进行判断,并根else 语句2; 据判断的结果选择不同的操作。 适用于复杂的条件表达式判断。 switch 语句 switch(表达式) 根据整型表达式的不同值决定程{ case 常量表达式1: 语句1; 序分支的情况。 case 常量表达式2: 语句2; 适用于判断表达式简单,需要多个?? 分支处理的情况。 case 常量表达式n; 语句n; [default : 语句n+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<<\cin>>gd;

//直到输入有效等级,否则程序不继续运行

while(!((gd>='A' && gd<='E')||(gd>='a' && gd<='e'))) { cout<<\ cin>>gd; }

if(gd=='A'||gd=='a') cout<<\ else if(gd=='B'||gd=='b') cout<<\

else if(gd=='C'||gd=='c') cout<<\

else if(gd=='D'||gd=='d') cout<<\ else if(gd=='E'||gd=='e') cout<<\ else cout<<\防止意外错误 }

程序(2)

//此程序用switch输出等级对应的分数段

//A->=90,B-(90,80],C-(80,70] ,D-(70,60],,E-<60 #include using namespace std;

9

int main() { char gd;

cout<<\cin>>gd;

//直到输入有效等级,否则程序不继续运行

while(!((gd>='A' && gd<='E')||(gd>='a' && gd<='e'))) { cout<<\ cin>>gd; }

switch(gd) { case 'A':

case 'a': cout<<\case 'B':

case 'b': cout<<\case 'C':

case 'c':cout<<\case 'D':

case 'd':cout<<\case 'E':

case 'e':cout<<\

default:cout<<\防止意外错误 } }

2. 什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。 【解答】

循环控制是在特定的条件下,程序重复执行一些特定动作。 语句 语法 执行流程 使用场合 while语while(表达式) 程序中常用于根据条件句 循环体; 执行操作而不需关心循环次 数的情况。 循环条件:表达式值为非0(真) 先判断形式循环,条件循环结束条件:表达式值为0(假) 不成立时不进入循环体。 do-while语句 do 循环体 while(表达式); 循环条件:表达式值为非0(真) 循环结束条件:表达式值为0(假) 程序中常用于根据条件执行操作而不需关心循环次数。 后判断形式循环,至少执行1次循环体。 一般情况,while语句和do while语句可以互换使用。 10

3. 根据一个实际问题,用不同的循环语句编程,分析其优缺点。 【解答】 略。

4. 用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。分析在什么情况下可以适当使用goto语句。 【解答】

在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。

程序略。

5.有以下程序

#include using namespace std; int main() { char c; cin>>c;

if(c=='y'||c=='Y') int a=1; else

int a=0;

cout<<\}

编译错误为:error C2065: 'a' : undeclared identifier,指示变量a没有定义。请分析原因,并做出修改。

【解答】

变量a的定义不应该放在if-else语句体中。说明语句和执行语句的执行时机不同。变量说明要求在编译时定义存储空间,而if-else是执行语句,程序运行后才执行。正确的程序是:

#include using namespace std; int main() { char c; int a; cin>>c;

if(c=='y'||c=='Y') a=1; else a=0;

cout<<\}

6. 有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。

#include using namespace std; int main()

for 语句 for([表达式1];[表达式2];[表达式3]) 循环体; (1)表达式1称为初始化表达式,不是循环体执行部分。 (2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。 (3)循环条件:表达式2值为非0(真) 循环结束条件:表达式2值为0(假) for语句称为步长循环语句,通常用于确定循环次数的情况。 由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。 11

{ int a,b;

cout<<\ cout<<\ if( a=b )

cout<

cout<

程序运行后,输入a的值为4,b的值为9,显示结果如下:

a: 4 b: 9 9等于9 【解答】

在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。

2.4编程题

1.输入某学生成绩,若成绩在85分以上输出“very good”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“no good”。 【解答】

#include using namespace std; int main()

{ double score;

cout << \ cin >> score;

if ( score>=85 ) cout << \ else if ( score>=60 ) cout << \ else cout << \}

2.输入三个整数,按从小到大的顺序输出它们的值。 【解答】

#include using namespace std; int main()

{ int a, b, c, t;

cout << \cin >> a >> b >> c;

if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; }

cout<< a << '\\t'<< b << '\\t' << c << endl; }

3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。 【解答】

#include using namespace std; int main()

{ double a, b, c ;

cout << \ cin >> a >> b >> c ;

if ( a+b > c && b+c > a && c+a > b ) { if ( a == b && b == c )

cout << \等边三角形!\

else if ( a == b || a == c || b == c ) cout << \等腰三角形!\

12

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include using namespace std; int 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= 16 2.3 思考题 1. C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。 【解答】 语句 使用方式 使用场合 if语句 if(表达式)语句1; 需要对给定的条件进行判断,并根else 语句2; 据判断的

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com