




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、流程控制语句【学习要点】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) &
2、lt;< 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分支的常量表达式值中,寻找与
3、之值相等的分支作为执行入口,并从该分支的语句序列开始执行下去,其后的每个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 后面的语句
4、;若表达式的值为false,则执行 else 后面的语句。4退出一个循环语句(不能终止当前函数的执行)的有效措施是_。A用break语句B用continue 语句C用return语句D调用函数exit(1)【答案】A【解析】break 是结束循环;continue 是结束本次循环;return 是从当前执行的函数返回其主调函数;exit(1) 是终止整个程序的执行。5下面程序的运行结果是_。#include<iostream.h>void main() int i=0, x=0, y=0 ;do i+ ;if ( i%3 != 0 ) x+=i ; i+ ; y += i+ ; w
5、hile( i<5 ) ;cout << "x= " << x << "ty= " << y << endl ;【答案】输出:x=5 y=76下面程序的运行结果是_。#include<iostream.h>void main() int x, y=10 ;while ( x = y-1 ) y -= 2 ;if ( y%3 = 0 ) x+ ; continue ; else if ( y<4 ) break ;x+ ; cout << "x=&qu
6、ot; << x << "ty=" << y << endl ;【答案】输出:x=3 y=27下面程序的运行结果是_。#include<iostream.h>void 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 << "×” &l
7、t;< j << " = " << m << "t" ; cout << endl ;【答案】第1行输出:1×2 = 2 1×3 = 3 Bye!第2行输出:2×3 = 6 Bye!第3行输出:Bye!第4行输出:4×5 = 20 4×6 = 24 4×7 = 28 4×8 = 32第5行输出:5×6 = 30 5×7 = 35 5×8 = 40第6行输出:6×7 = 42 6×8
8、= 48【解析】当 j 的值为4时,break语句结束的是内层循环,外层for循环继续执行。8完善下列程序,程序功能是:输入一个自然数,输出其各因子的连乘形式。(如输入自然数12,输出12 = 1×2×2×3 )#include <iostream.h>void main() int i=2 , n ;cout << "输入一个自然数:" ;cin >> n ;cout << n << " = 1" ;do if ( n%i = 0 ) cout <<
9、“×” << i ;_; else i+ ; while ( _ ) ;cout << endl ;【答案】 n = n / i【答案】 n != 19编写程序:(要求用if-else语句实现)键盘输入某班同学的一门成绩,统计该班级的不及格、6069、 7079、 8089、 90分以上的各个档次的人数,并将该班同学的原始成绩,以及统计出来的各个档次人数写入数据文件 data1.txt 中,原始成绩按一行4个数据的格式写入 data1.txt 中。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定,以输入流结束符 Ctrl+Z 作为统计结束条件
10、。)【答案】编写程序如下 :#include<fstream.h>#include<iomanip.h>void main() int x , n=0 , c9=0 , c8=0 , c7=0 , c6=0 , c0=0 ;ofstream outf ( “data1.txt” ) ;cout << “请输入成绩 :” ;cin >> x ;while ( cin ) outf << setw(8) << x ;n+ ;if ( n%4=0 ) outf << endl ;if ( x >= 90 ) c
11、9+ ;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分之间人数=” &l
12、t;< c7 << endl ;outf << “6069分之间人数=” << c6 << endl ;outf << “不及格人数=” << c0 << endl ;outf.close() ;10编写程序:键盘输入某班同学的一门成绩,找出最高分和最低分,并统计出全班的平均成绩。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定,以输入负数作为统计结束条件。)【答案】编写程序如下 :#include<iostream.h>#include<iomanip.h>vo
13、id main() float score , max , min , sum = 0 ;int num = 0 ;cout << “请输入成绩 :” ;cin >> score ;max = min = score ;while ( score >= 0 ) num+ ; sum += score ;if ( score > max ) max = score ;if ( score < min ) min = score ;cin >> score ; if (num) cout << "学生人数= "
14、<< num << endl ;cout << "平均成绩= " << sum/num << endl ;cout << "最高分=" << max << endl ;cout << "最低分= " << min << endl ; else cout << "无输入数据,无法统计!" << endl ;11编写程序:输出下面的图案。【答案】编写程序如下 :#
15、include < iostream.h >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 << ; /内
16、循环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【答
17、案】?-填空题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 < iostr
18、eam.h ># 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 < iostream.h >void main ( ) int n ;
19、cout << “ 请输入一个整数:” ;cin >> n;while ( n != 0 ) cout << _;n = _; cout << endl ;【答案】?【答案】?-写出下列程序的输出结果1下面程序的运行结果是_。#include<iostream.h>void main() int i=0, x=0, y=0 ;while ( i<5 ) i+ ;if ( i%3=0 ) x+=i ; i+ ; y += i+ ; cout << "x= " << x <<
20、"ty= " << y << endl ;【答案】输出:?2下面程序的运行结果是_。#include<iostream.h>void main() int x, y=10 ;while ( x = y-1 ) y -= 2 ;if ( y%3 != 0 ) x+ ; break ; else if ( y<4 ) continue ;x+ ; cout << "x=" << x << "ty=" << y << endl ;【答案】输
21、出:?3下面程序的运行结果是_。#include<iostream.h>void 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行输出:?第
22、2行输出:?第3行输出:?第4行输出:?第5行输出:?-编程题1编写程序:(要求用switch语句实现)键盘输入某班同学的一门成绩,统计该班级的不及格、6069、 7079、 8089、 90分以上的各个档次的人数,并将该班同学的原始成绩,以及统计出来的各个档次人数写入数据文件 data2.txt 中,原始成绩按一行6个数据的格式写入 data2.txt 中。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定,以输入流结束符 Ctrl+Z 作为统计结束条件。)编写程序如下:【答案】#include<iostream>#include<fstream>us
23、ing 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;cout<<"please enter student's grade:"cin>>grade;while(cin)fout<<" "<<grade;n+;if(n%6=0)fout<<endl;switch(grade/10)case 10:case 9:c9+;b
24、reak;case 8:c8+;break;case 7:c7+;break;case 6:c6+;break;default:c0+;/*case 5:case 4:case 3:case 2:case 1:case 0:c0+;break;*/cin>>grade;fout<<endl;/使“总人数”这行不合成绩输出在一行。fout<<"总人数为:"<<n<<endl;fout<<"不及格人数为:"<<c0<<endl;fout<<"
25、6069人数为:"<<c6<<endl;fout<<"7079人数为:"<<c7<<endl;fout<<"8089人数为:"<<c8<<endl;fout<<"90以上人数为:"<<c9<<endl;fout.close();2编写程序:在文件 data3.txt 中有某班同学的一门成绩,从中找出最高分和最低分,并统计出全班的平均成绩,将结果输出到显示器。(要求程序具有灵活性,参加统计的学生人数应随具体情况而定,不应固定。)编写程序如下:【答案】#include<fstream>#include<iostream>using namespace std;int main()ifstream fi("D:vc+data3.txt");float grade,max,min,sum=0;int num=0;fi&g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工工艺安全与环保要求测试卷
- 我的未来之旅想象作文4篇范文
- 未来的科技幻想想象作文(8篇)
- 家用电器销售平台合作协议
- 跨境贸易合作协议之国际贸易业务合作细节
- go与become的区别与用法:初中语法课教案
- 解除劳动关系正式离职证明(5篇)
- 环境科学水污染治理技术知识梳理
- 中医馆与健康管理体系的融合发展模式
- 高管绿色经历对企业ESG表现的影响
- 护理网格化管理制度
- 浙江省温州市乐清市2023-2024学年四年级下学期数学期末考试试卷(含答案)
- 2025中考英语书面表达终极押题(附范文)
- 2025年高考真题-数学(全国一卷) 无答案
- 2025《政务数据共享条例》解读课件
- 国开电大《公司金融》形考任务1234答案
- 江苏省镇江市江南中学2025届七下数学期末调研试题含解析
- 安徽省历年中考作文题与审题指导(2015-2024)
- 2025年北京市丰台区九年级初三二模英语试卷(含答案)
- 设定目标的2025年税法考试试题及答案
- Unit 7 A Day to Remember 单元话题阅读理解练习(原卷版)
评论
0/150
提交评论