- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 基本控制结构程序设计习题
一.基本概念与基础知识自测题
3.1 程序阅读题
3.1.1 设有说明:
int a=3, b=100;
下面的循环语句执行 (1) 次,执行后a、b的值分别为 (2) 、 (3) 。
while(b/a5){
if(b-a25) a++;
else b/=a;
}
解答:
本题检查学生整除的概念。跟踪:
a
b
b/a
循环次数
b-a
3
100
33
1
97
4
100
25
2
96
5
100
20
3
95
…
…
…
…
…
15
100
6
13
85
16
100
6
14
84
17
100
5
停
(1)14
(2)17
(3)100
3.1.2 设有说明:
int n,x,k,y;
下面程序段的功能是备选答案中的 (1) ,当n=10,x=10打印结果是 (2) 。
cinxn;
k=0;
do{
x/=2;
k++;
}while(kn);
y=1+x;
k=0;
do{
y=y*y;
k++;
}while(kn);
coutyendl;
备选答案:
A. B. C. D.
解答:
第一个循环使x成为:;y成为:;第一个循环使y成为:;
(1)B
考虑整除,连除4次以后为零,所以:
(2)1
3.1.3 请看如下程序段:
if(num==1) cout”Alpha”;
else if(num==2) cout”Bata”;
else if(num==3) cout”Gamma”;
else cout”Delta”;
当num的值分别为1、2、3时,上面程序段的输出分别为(1) 、(2) 、(3) 。
解答:
检查条件语句与字符串输出概念:
(1)Alpha
(2)Bata
(3)Gamma
3.1.4 执行下面程序段后,m和k的值分别为 (1) 、 (2) 。
int m,k;
for(k=1,m=0;k=50;k++){
if(m=10) break;
if(m%2==0){
m+=5;
continue;
}
m-=3;
}
解答:注意continue语句的使用
初值
m=1
k=0
第1次循环后
m=5
k=1
第2次循环
m=2
k=2
第3次循环
m=7
k=3
第4次循环
m=4
k=4
第5次循环
m=9
k=5
第6次循环
m=6
k=6
第7次循环
m=11
结束,k++未做
(1)11
(2)6
二.编程与综合练习题
3.2 编程求一元二次方程ax2+bx+c=0的根。包括以下判断和结果:若输入a=0,给出提示;若?0,输出两个不等实根;若?=0,输出两个相等实根;若?0,输出两个复数根。
解:本题以一个绝对值极小的数作为实数0。
#include iostream.h
#include math.h
#include stdlib.h
void main(){
double a,b,c;
double delta,x1,x2;
const double zero=1e-9; //定义一个很小的常数
int sign;
cout输入三个系数a(a!=0), b, c:endl;
cinabc;
if(fabs(a)zero){
cout二次项系数为0,方程根是-c/b;
exit(0);
}
couta=a\tb=b\tc=cendl;
delta=b*b-4*a*c;
if(fabs(delta)zero){//绝对值很小的数即被认为是0
cout方程有两个相同实根:;
coutx1=x2=-b/(2*a)endl;
}
else {
if(delta0)
sign=1;
else
sign=0;
delta=sqrt(fabs(delta));
x1=-b/(2*a);
x2=delta/(2*a);
if(sign){
cout方程有两个不同实根:;
coutx1=x1+x2\tx2=x1-x2endl;
}
else{//delta0
cout方程无实根!有两个不同复数根:;
coutx1=x1+ix2\tx2=x1-ix2endl;
}
}
}
3.3 设计程序将输入的百分制成绩转换为五分制输出,90分以上为5分,80?89分为4分,70?79分为3分,60?69分为2分,60分以下为1分。
解:10分一档用10进行整除获得,转换用开关语句实行。
#include iostream.h
void main(){
int mark,result; //mark是百分制成绩,result是5分制
cout请输入百分制成绩:endl;
cinmark;
if(mark0)
您可能关注的文档
最近下载
- 2022小学语文新课标测试题库及答案.pdf VIP
- 初中生积极心理品质培育策略与实践研究.docx VIP
- 投标服务承诺书(20篇).docx VIP
- 七年级英语第一次月考卷(考试版A4)【测试范围:沪教版五四学制2024 Starter~Unit 1】(上海专用).docx VIP
- 李白按年龄顺序写的诗.docx VIP
- 2025年四川省高考化学试卷真题(含答案解析).docx
- 高频精选:京东快递员ai面试题及答案.doc VIP
- 高频精选:京东快递员ai面试题及答案大全.doc VIP
- 吉林省中药软片炮制规范.pptx VIP
- 名著阅读《湘行散记》七年级语文上册部编版(共9页).docx VIP
文档评论(0)