C++课后习题答案2习题及其解答.docx
- 文档编号:2085772
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:18
- 大小:43.88KB
C++课后习题答案2习题及其解答.docx
《C++课后习题答案2习题及其解答.docx》由会员分享,可在线阅读,更多相关《C++课后习题答案2习题及其解答.docx(18页珍藏版)》请在冰豆网上搜索。
C++课后习题答案2习题及其解答
习题2及其解答
选择题
1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。
(a)if(x&&y)i++;(b)if(x==y)i++;
(c)if(x||y)i++;(d)if(!
x)i++;
2.设有函数关系为y=,下面选项中能正确表示上述关系为(c)。
(a)y=1;(b)y=-1;
if(x>=0)if(x!
=0)
if(x==0)y=0;if(x>0)y=1;
elsey=-1;elsey=0;
(c)if(x<=0)(d)y=-1;
if(x<0)y=-1;if(x<=0)
elsey=0;if(x<0)y=-1;
elsey=1;elsey=1;
3.假设i=2,执行下列语句后i的值为(b)。
switch(i)
{case1:
i++;
case2:
i--;
case3:
++i;break;
case4:
--i;
default:
i++;
}
(a)1(b)2(c)3(d)4
4.已知inti=0,x=0;下面while语句执行时循环次数为(d)。
while(!
x&&i<3){x++;i++;}
(a)4(b)3(c)2(d)1
5.已知inti=3;下面do_while语句执行时循环次数为(b)。
do{i--;cout<
=1);
(a)1(b)2(c)3(d)无限
6.下面for语句执行时循环次数为(b)。
inti;
for(i=0,j=5;i=j;)
{cout<
i++;j--;
}
(a)0(b)5(c)10(d)无限
7.以下死循环的程序段是(b)。
(a)intx;for(intx=0;x<3;){x++;};
(b)intk=0;do{++k;}while(k>=0);
(c)inta=5;while(a){a--;};
(d)inti=3;for(;i;i--);
阅读下列程序,写出执行结果
1.
#include
usingnamespacestd;
intmain()
{inta,b,c,d,x;
a=c=0;b=1;d=20;
if(a)d=d-10;
elseif(!
b)
if(!
c)
x=15;
elsex=25;
cout< } 【解答】 20 2. #include usingnamespacestd; intmain() {inta=0,b=1; switch(a) {case0: switch(b) {case0: cout<<"a="< case1: cout<<"a="< } case1: a++;b++;cout<<"a="< } } 【解答】 a=0b=1 a=1b=2 3. #include usingnamespacestd; intmain() {inti=1; while(i<=10) if(++i%3! =1) continue; elsecout< } 【解答】 4 7 10 4. #include usingnamespacestd; intmain() {inti=0,j=5; do {i++;j--; if(i>3)break; }while(j>0); cout<<"i="< } 【解答】 i=4j=1 5. #include usingnamespacestd; intmain() {inti,j; for(i=1,j=5;i {j--;} cout< } 【解答】 33 6. #include usingnamespacestd; intmain() {inti,s=0; for(i=0;i<5;i++) switch(i) {case0: s+=i;break; case1: s+=i;break; case2: s+=i;break; default: s+=2; } cout<<"s="< } 【解答】 s=7 7. #include usingnamespacestd; intmain() {inti,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=16 思考题 1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。 根据一个实际问题使用不同的条件语句编程。 【解答】 语句 使用方式 使用场合 if语句 if(表达式)语句1; else语句2; 需要对给定的条件进行判断,并根据判断的结果选择不同的操作。 适用于复杂的条件表达式判断。 switch语句 switch(表达式) {case常量表达式1: 语句1; case常量表达式2: 语句2; …… case常量表达式n;语句n; [default: 语句n+1;] } 根据整型表达式的不同值决定程序分支的情况。 适用于判断表达式简单,需要多个分支处理的情况。 演示程序: 程序 (1) 什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。 【解答】 循环控制是在特定的条件下,程序重复执行一些特定动作。 语句 语法 执行流程 使用场合 while语句 while(表达式) 循环体; 循环条件: 表达式值为非0(真) 循环结束条件: 表达式值为0(假) 程序中常用于根据条件执行操作而不需关心循环次数的情况。 先判断形式循环,条件不成立时不进入循环体。 do-while语句 do 循环体 while(表达式); 循环条件: 表达式值为非0(真) 循环结束条件: 表达式值为0(假) 程序中常用于根据条件执行操作而不需关心循环次数。 后判断形式循环,至少执行1次循环体。 一般情况,while语句和dowhile语句可以互换使用。 for语句 for([表达式1];[表达式2];[表达式3]) 循环体; (1)表达式1称为初始化表达式,不是循环体执行部分。 (2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。 (3)循环条件: 表达式2值为非0(真) 循环结束条件: 表达式2值为0(假) for语句称为步长循环语句,通常用于确定循环次数的情况。 由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。 3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。 【解答】 略。 4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。 分析在什么情况下可以适当使用goto语句。 【解答】 在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。 程序略。 5.有以下程序 #include usingnamespacestd; intmain() {charc; cin>>c; if(c=='y'||c=='Y') inta=1; else inta=0; cout<<"a="< } 编译错误为: errorC2065: 'a': undeclaredidentifier,指示语句行 cout<<"a="< 变量a没有定义。 请分析原因,并做出修改。 【解答】 程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。 正确的程序是: #include usingnamespacestd; intmain() {charc; inta; cin>>c; if(c=='y'||c=='Y') a=1; else a=0; cout<<"a="< } 6.有以下程序,希望判断两个输入的整数是否相等。 程序通过编译,但不能达到预期结果。 请分析程序能够通过C++编译而不能得到期望结果的原因。 #include usingnamespacestd; intmain() {inta,b; cout<<"a: ";cin>>a; cout<<"b: ";cin>>b; if(a=b) cout< else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课后 习题 答案 及其 解答