已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
流程控制语句【学习要点】1掌握算法描述的三种基本结构。2掌握if-else条件语句及其应用,掌握if语句的嵌套结构。3掌握switch开关语句及其应用,掌握break在switch语句中的作用。4掌握while循环语句及其应用。5掌握do-while循环语句及其应用。6掌握for循环语句及其应用。7掌握循环语句的嵌套结构。8掌握break语句、continue语句在循环结构中的作用。 9掌握return语句、goto语句、exit()函数、abort()函数的作用及其应用。-【例题分析】1 若int x=3,执行以下循环语句后,输出的结果是_。do cout (x-=2) t ;while ( !(-x) ) ;A1B1 -2C1 -1D死循环【答案】B【解析】先执行一次do后面的循环体语句,遇到while,判断下次循环是否进行,即求解while后面表达式的值,若表达式的值为true,则再次回到do ;若表达式的值为 false ,则跳出整个do-while语句。2若int x=10,执行以下switch语句后,x的值是_。switch ( x ) case 9: x+=1;case 10: x+=1;case 11: x+=1;defaule: x+=1; A10B11C12D13【答案】D【解析】从上往下在case分支的常量表达式值中,寻找与之值相等的分支作为执行入口,并从该分支的语句序列开始执行下去,其后的每个case分支(包括default分支)中的语句序列都有可能执行到,直到遇到break语句才跳出switch语句,或遇到switch语句的结束括号“ ”为止。3以下三条语句,正确的论断是_。(1)if ( a ) s1 ; else s2 ;(2)if ( a=0 ) s2 ; else s1 ;(3)if ( a!=0 ) s1 ; else s2 ;A三者相互等价B只有(2)和(3)等价C只有(1)和(3)等价D三者相互不等价【答案】A【解析】先求解 if 后面表达式的值,若表达式的值为true,则执行 if 后面的语句;若表达式的值为false,则执行 else 后面的语句。4退出一个循环语句(不能终止当前函数的执行)的有效措施是_。A用break语句B用continue 语句C用return语句D调用函数exit(1)【答案】A【解析】break 是结束循环;continue 是结束本次循环;return 是从当前执行的函数返回其主调函数;exit(1) 是终止整个程序的执行。5下面程序的运行结果是_。#includevoid main() int i=0, x=0, y=0 ;do i+ ;if ( i%3 != 0 ) x+=i ; i+ ; y += i+ ; while( i5 ) ;cout x= x ty= y endl ;【答案】输出:x=5 y=76下面程序的运行结果是_。#includevoid main() int x, y=10 ;while ( x = y-1 ) y -= 2 ;if ( y%3 = 0 ) x+ ; continue ; else if ( y4 ) break ;x+ ; cout x= x ty= y endl ;【答案】输出:x=3 y=27下面程序的运行结果是_。#includevoid main() int i , j , m ;for ( i=1 ; i=6; i+ ) for ( j=i+1 ; j=8 ; j+ ) if ( j=4 ) cout Bye!” ; break ; m = i * j ;cout i ” j = m t ; cout endl ;【答案】第1行输出:12 = 2 13 = 3 Bye!第2行输出:23 = 6 Bye!第3行输出:Bye!第4行输出:45 = 20 46 = 24 47 = 28 48 = 32第5行输出:56 = 30 57 = 35 58 = 40第6行输出:67 = 42 68 = 48【解析】当 j 的值为4时,break语句结束的是内层循环,外层for循环继续执行。8完善下列程序,程序功能是:输入一个自然数,输出其各因子的连乘形式。(如输入自然数12,输出12 = 1223 )#include void main() int i=2 , n ;cout n ;cout n = 1 ;do if ( n%i = 0 ) cout “” i ;_; else i+ ; while ( _ ) ;cout endl ;【答案】 n = n / i【答案】 n != 19编写程序:(要求用if-else语句实现)键盘输入某班同学的一门成绩,统计该班级的不及格、6069、 7079、 8089、 90分以上的各个档次的人数,并将该班同学的原始成绩,以及统计出来的各个档次人数写入数据文件 data1.txt 中,原始成绩按一行4个数据的格式写入 data1.txt 中。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定,以输入流结束符 Ctrl+Z 作为统计结束条件。)【答案】编写程序如下 :#include#includevoid main() int x , n=0 , c9=0 , c8=0 , c7=0 , c6=0 , c0=0 ;ofstream outf ( “data1.txt” ) ;cout x ;while ( cin ) outf setw(8) x ;n+ ;if ( n%4=0 ) outf = 90 ) c9+ ;else if ( x = 80 ) c8+ ;else if ( x = 70 ) c7+ ; else if ( x = 60 ) c6+ ;else c0+ ; cin x ; outf “n总人数=” n endl ;outf “90分以上人数=” c9 endl ;outf “8089分之间人数=” c8 endl ;outf “7079分之间人数=” c7 endl ;outf “6069分之间人数=” c6 endl ;outf “不及格人数=” c0 endl ;outf.close() ;10编写程序:键盘输入某班同学的一门成绩,找出最高分和最低分,并统计出全班的平均成绩。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定,以输入负数作为统计结束条件。)【答案】编写程序如下 :#include#includevoid main() float score , max , min , sum = 0 ;int num = 0 ;cout score ;max = min = score ;while ( score = 0 ) num+ ; sum += score ;if ( score max ) max = score ;if ( score score ; if (num) cout 学生人数= num endl ;cout 平均成绩= sum/num endl ;cout 最高分= max endl ;cout 最低分= min endl ; else cout 无输入数据,无法统计! endl ;11编写程序:输出下面的图案。【答案】编写程序如下 :# include void main ( ) int i , j , n=7 ;for ( i=1 ; i=n ; i+ ) /输出前7行图案 for ( j=1 ; j=7- i ; j+ ) cout ; /内循环for ( j=1 ; j=2*i-1 ; j+ ) cout ; /内循环cout endl ; for ( i=1 ; i=n-1 ; i+ ) /输出后6行图案 for ( j=1 ; j=i ; j+ ) cout ; /内循环for ( j=1 ; j=13-2*i ; j+ ) cout ; /内循环cout endl ; -【思考题】选择题1若int x=3,执行以下循环语句后,输出的结果是_。while ( !(-x) ) cout (x-=2) t ;A0B0 -3C循环体一次都没做D死循环【答案】?2若int x=10,执行以下switch语句后,x的值是_。switch ( x ) case 10: x+=1;case 9: x+=1;case 11: x+=1;defaule: x+=1; A11B12C13D14【答案】?-填空题1若int i=1;while(i+5);则执行语句后i的值_。【答案】?2break语句只能用在_、_两种语句中。【答案】?【答案】?3程序的三种基本的控制结构是_、_、_。【答案】?【答案】?【答案】?4continue语句只能用在_语句中。【答案】?5exit()函数的作用是_。【答案】?6abort()函数的作用是_。【答案】?7return语句的作用是_。【答案】?8若int i=1;for ( ; ;i+);则循环的执行次数是_。【答案】?-完善程序题1求 150 200 之间所有能被 7 整除的数,要求每行输出四个数。# include # include void main ( ) int n , k=1 ;cout “150 200 之间被7整除的数:n” ;for ( n=150 ; n=200 ; n+ )if ( _ ) cout setw (12) n ; if ( _ ) cout endl ;k+ ; cout endl ;【答案】?【答案】?【答案】?2将整数反转输出。# include void main ( ) int n ; cout n;while ( n != 0 ) cout _;n = _; cout endl ;【答案】?【答案】?-写出下列程序的输出结果1下面程序的运行结果是_。#includevoid main() int i=0, x=0, y=0 ;while ( i5 ) i+ ;if ( i%3=0 ) x+=i ; i+ ; y += i+ ; cout x= x ty= y endl ;【答案】输出:?2下面程序的运行结果是_。#includevoid main() int x, y=10 ;while ( x = y-1 ) y -= 2 ;if ( y%3 != 0 ) x+ ; break ; else if ( y4 ) continue ;x+ ; cout x= x ty= y endl ;【答案】输出:?3下面程序的运行结果是_。#includevoid main() int i , j , m ;for ( i=1 ; i=5; i+ ) for ( j=i+1 ; j=6 ; j+ ) if ( j=4 ) continue ; m = i * j ;cout i ” j = m t ; cout endl ;【答案】第1行输出:?第2行输出:?第3行输出:?第4行输出:?第5行输出:?-编程题1编写程序:(要求用switch语句实现)键盘输入某班同学的一门成绩,统计该班级的不及格、6069、 7079、 8089、 90分以上的各个档次的人数,并将该班同学的原始成绩,以及统计出来的各个档次人数写入数据文件 data2.txt 中,原始成绩按一行6个数据的格式写入 data2.txt 中。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定,以输入流结束符 Ctrl+Z 作为统计结束条件。)编写程序如下:【答案】#include#includeusing namespace std;int main()fstream fout(D:vc+data2.txt);int c9=0,c8=0,c7=0,c6=0,c0=0,n=0;int grade;coutgrade;while(cin)fout grade;n+;if(n%6=0)foutgrade;foutendl;/使“总人数”这行不合成绩输出在一行。fout总人数为:nendl;fout不及格人数为:c0endl;fout6069人数为:c6endl;fout7079人数为:c7endl;fout8089人数为:c8endl;fout90以上人数为:c9endl;fout.close();2编写程序:在文件 data3.txt 中有某班同学的一门成绩,从中找出最高分和最低分,并统计出全班的平均成绩,将结果输出到显示器。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定。)编写程序如下:【答案】#include#includeusing namespace std;int main()ifstream fi(D:vc+data3.txt);float grade,max,min,sum=0;int num=0;figrade;max=min=grade;while(fi)num+;sum+=grade;if(grademax)max=grade;if(gradegrade;if(num)coutthe total studenti number is :numendl;coutthe highest grade is :maxendl;coutthe lowest grade is :minendl;coutthe avarage
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AMD个人AI战略深度解析:从Gorgon Halo到Ten自由的全链路洞察
- 颈椎病护理解析与讨论
- 2025年沈阳市铁西区四下数学期中质量检测模拟试题(含解析)
- 室内电工资格考试试题及答案
- 科研道德测试题与答案解析
- 英语冠词能力提升试题与答案
- 妇科内分泌试题及答案大全
- DB44-T 2887-2026饲料中致病微生物的基因筛查技术规程
- 探秘交警手势试题及对应答案
- 海油培训安全试题及正确答案
- 人教版二年级上册《道德与法治》全册教案
- 初三数学开学第一课
- 教科版四年级英语上册(广州版)全册课件【完整版】
- 国家审计报告
- 重庆市药品技术审评查验中心工作人员岗招考聘用35人笔试题库含答案解析
- 企业班组安全管理标准化通用规范
- GB/T 17421.2-2016机床检验通则第2部分:数控轴线的定位精度和重复定位精度的确定
- 刑事技术基础知识课件
- ISO15189质量体系同济医院检验科ISO15189体系文件-质量手册
- 24度锥接头设计
- 水进、水退、吉尔伯特型湖波扇三角洲亚相和微相的特征
评论
0/150
提交评论