




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 概念填空题1.1任何算法的描述都可以分解为顺序结构、分支结构和循环结构。 顺序结构 的特点是各块按照书写次序依次执行。 分支结构 的特点是根据条件判断选择执行路径。 循环结构 用于实现重复性动作。根据算法的 有穷性 ,循环必须在一定条件下进行,无条件必然会导致 死循环 。1.2 switch语句执行流程是:求表达式的值,其中表达式的值只能是 整型 、 字符型 、 布尔型 或 枚举型 等类型,而不能取 实型 这样的连续值;在常量表达式中找与之相等的分支作为执行入口,并从该分支的语句序列开始执行下去,直到遇到break 或switch的结束括号“”为止;当表达式的值与所有常量表达式的值均不相等时,若有 default 分支,则执行其语句序列;若没有该分支,则结束switch语句,继续 后续 语句的执行;1.3 c+中提供了若干转向语句,可以改变程序原来的执行顺序。 break 语句只能用在switch语句和循环语句中,从该处跳出switch语句或循环语句,转去执行switch语句或循环语句之后的语句。continue语句只能用在 循环 中,程序执行到continue语句时,将跳过其后尚未执行的循环体语句,开始 新的 循环。 return 语句用在函数中,用来返回到函数 调用 处。1.4 C+中的文件有两个相互联系的概念:内部文件和外部文件。文件通常是指 磁盘文件 ,这里称为外部文件;而在程序中运行的文件则称为 内部文件 ,更正式的名称是文件流对象。程序中操作的是 内部文件 ,最后保存的是 外部文件 。2.简答题2.1 C+中有什么形式的选择控制语句?归纳它们的语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2.2什么叫循环控制?归纳比较C+中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程,比较其异同点。2.3 根据一个实际问题,用不同的循环语句编程,分析其优缺点。3.选择题3.1对if语句中的表达式的类型,下面描述正确的是( D )。A.必须是关系表达式B.必须是关系表达式或逻辑表达式C.必须是关系表达式或算术表达式D.可以是任意表达式3.2 与for(表达式1;表达式2;表达式3)功能相同的语句为( A )。A表达式1;B表达式1;while(表达式2)while(表达式2)循环体;表达式3;表达式3;循环体;C表达式1; Ddodo表达式1;循环体;循环体;表达式3;while(表达式2);表达式3; while(表达式2)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; Aa=2,b=1 Ba=1,b=1 Ca=1,b=0 Da=2,b=23.4 已知int i=0,x=0;下面while语句执行时的循环次数为(D)。 while(!x & i3) x+;i+; A. 4 B.3 C.2 D.13.5 以下形成死循环的程序段是(B )。 A. for(int x=0;x=0); C.int a=5;while(a)a-; D.int i=3;for( ; i ; i-);3.6 已知有职工情况结构变量emp定义为; strnct Employeechar name20; long code; structint year;int month;int day; birth; 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;3.7下面的程序段循环执行了(A)次。int k=10;while (k=3) k=k-1;A死循环B0次C3次D7次3.8语句while(!E) 中的表达式!E等价于(A)。AE=0BE!=1CE!=0DE= =14.写出下列程序运行结果4.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; coutdendl; 204.2 #include void main() int a=0, b=1: switch(a) case 0: switch(b) case 0:cout”a=”a”b=”bendl; break; case 1:cout”a=”a”b=”bendl; break; case 1:a+; b+; couta= “a”b=”bendl; a=0 b=1a=1 b=24.3 #include void main() int i=1; while(i=10) if(+i%3!=1) continue; else coutiendl; 4 7 104.4 #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=”xendl; x=165.编程题5.1求100200之间不能被3整除也不能被7整除的数。#includeusing namespace std;int main()int i ;for(i=100;i=200;i+)if(i%3 & i%7)coutit;return 0;5.2输入一元二次方程的系数,求方程的解。5.3编写函数使用循环语句分别求两个数的最大公约数与最小公倍数(两个数的最大公约数一定小于或等于较小的一个数,但大于等于1。两个数的最小公倍数一定大于等于较大的一个数,但小于等于两个数的积)。#includeusing namespace std;int main()int a,b,i;int max,min;cinab;min=ab? a:b;for(i=min;i=1;i-)/求最大公约数if(a%i=0 & b%i=0)coutit;break;for(i=max;i=a*b;i+)/求最小公倍数if(i%a=0 & i%b=0)coutit;break;return 0;5.4从键盘输入一个整数,判断该数是否为回文数。所谓的回文数就是从左到右读与从右向左读都是一样的数。例如7887、23432是回文数。#includeusing namespace std;int main()int a,b;cina;b=0;for(;a;)b=b*10+a%10;a/=10;coutbendl;return 0;5.5编写一程序,按下列公式求,精确到最后一项绝对值小于10-6。=#includeusing namespace std;int main()double s=0,i=1;int p=1;dos=s+p*1/i;i+=2;p*=-1;while(1/i=1e-6);coutsendl;return 0;5.6编程输出如下图形,中间一行英文字母由键盘输入得到。A BBB CCCCC DDDDDDD CCCCC BBBA解法一#include using namespace std;int main()char in;int i,j;docoutin;if(in=97)&(in=122) in-=32;/小写改大写while(in90);int line=in-A;for (i=0;i0;j-) cout ;/前方空格for(j=1;j=2*i+1;j+) cout char(i+A);cout0;i-)/下三角(少一行)for(j=0;j=line-i;j+) cout ;for(j=1;j=2*i-1;j+) cout char(i-1+A);coutendl;return 0;解法二#include using namespace std;void main()char c;int i,j,k,n,&p=i;cinc;/输入AZ等符号n=c-A;for(i=-n;i=n;i+)for(j=0;jabs(i);j+)cout ;k=n-abs(i);for(j=0;j2*k+1;j+)coutchar(A+k) ;coutendl;5.7假定邮寄包裹的计费标准如下表,输入包裹重量以及邮寄距离,计算出邮资。重量(克)邮资(元/件)1530456075及以上591214(每满1000公里加收1元)15(每满1000公里加收1元)*重量在档次之间按高档靠#includeusing namespace std;int main()int s,l,w;/l表示距离,w表示重量cinlw;if(w=15)s=5;else if(w=30)s=9;else if(w=45)s=12;else if(w=60)s=14+l/1000;else s=15+l/1000;coutsendl;return 0;5.8 从键盘输入一组非0整数,以输入0为结束标志,求这组整数的平均值,并统计其中正数和负数的个数。#includeusing namespace std;int main()int s=0,neg=0,plu=0;int n;cinn;while(n!=0)s+=n;if(n0)plu+;else neg+;cinn;cout平均值= s/(neg+plu)endl;cout正数= plu个endl;cout负数= neg个endl;return 0;5.9 编程求1000之内的所有完全数。完全数指的是一个数恰好等于它的所有因子的和。例如6=1+2+3, 6就是一个完全数。#include using namespace std;int main()int i,a,sum_yz; /sum_yz是a的因子和for(a=1;a1000;a+)sum_yz=0;for(i=1;ia;i+) if (a%i=0) sum_yz+=i;/求因子运算未改变循环控制变量a的值,否则要用另一个变量b来代替a来参加运算if (a=sum_yz)coutaendl;return 0;5.10 将100元换成10元、5元和1元的组合,共有多少种组合方法?#include using namespace std;int main()int i,j,k,count=0;for(i=0;i=10;i+)/i是10元张数,j是5元张数,k是1元张数for(j=0;j=0)coutitjtkendl;count+;coutcountendl;return 0;5.11 有两队选手,每队出5人进行一对一的比赛,甲队为A、B、C、D、E,乙队为J、K、L、M、N,经过抽签决定比赛配对名单。规定A不和J比赛,M不和D及E比赛。列出所有可能的比赛名单。解:这是一个组合问题,使用穷举法。共有5个位置,设甲队5名队员位置不变,乙队改变队员位置,进行配对。注意第1个位置可在5个队员中任选一个,以后的位置必须扣除已选过的队员。并扣除不能配对的情况,即得所有可能的比赛名单。#includeusing namespace std;int main()char st15=A,B,C,D,E,st25=J,K,L,M,N;int i=0,j,k,l,m,n;for(j=0;j5;j+)/0号位if(j=0) continue;/A选手不与选手J比赛,即st10不与st20比赛for(k=0;k5;k+)/1号位if(k=j) continue;/剔除乙队占据0号位的选手for(l=0;l5;l+)/2号位if(l=j|l=k) continue;/剔除乙队占据0、1号位的选手for(m=0;m5;m+)/3号位if(m=j|m=k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地产公司提案管理办法
- 处方管理办法药物用量
- 家庭智能线路管理办法
- 山西省取暖费管理办法
- 2025年综合类-一级结构工程师专业知识-一级结构工程师专业知识-一级结构工程师基础知识-基础知识综合练习历年真题摘选带答案(5卷单选100题合辑)
- 山西公务接待管理办法
- 2025年环保气象安全技能考试-灾害信息员考试历年参考题库含答案解析(5套共100道单选题合辑)
- 山东对口支援管理办法
- 2025年煤炭矿山职业技能鉴定考试-输煤原料车间考试历年参考题库含答案解析(5套共100道单选题合辑)
- 学院同行评价管理办法
- 律师保密协议书
- TZNZ 227-2023 藕粉辐照杀菌工艺规范
- 小学2024年暑假致家长的一封信9篇
- 强力霉素的质量控制与标准制定
- 小班数学《认识1到10的数字》课件
- 化纤生产安全知识培训
- 癌性疼痛中西医结合诊疗指南
- 基于MATLAB的赛程安排方案设计
- 家庭保险理财规划师
- 联通新员工入职培训ppt模板
- 科技企业孵化器创新创业项目招商引资方案
评论
0/150
提交评论