ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:30.44KB ,
资源ID:20899313      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20899313.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章 C++程序的流程控制Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第3章 C++程序的流程控制Word下载.docx

1、注意空语句;和空复合语句 是等价的。3.2 选择控制语句 针对于不同情况采用不同的处理方式的问题,用选择结构来实现。选择语句包含:if语句和switch语句。3.2.1 if语句 if语句: 格式:if() 作用:当为真时,执行,否则直接执行if语句后边的语句。这里的可以是一条语句,也可以是几条语句,但对于多条语句的情况必须用 将几条语句括起来构成复合语句,在if语句中当做一个整体处理。 ifelse语句:) else语句2为假时,执行。这里和可以是一条语句也可以是复合语句。说明:if语句有时可以用条件表达式替代。if语句支持多种形式的嵌套使用,但一般嵌套层次不超过三层。另外约定else总是与

2、它上边最近的一个if配对。为了防止语法或逻辑错误的发生,建议在较复杂的情形中使用花括号区分。3.2.2 switch语句switch()case :语句序列1常量表达式2语句序列2常量表达式n语句序列ndefault:语句序列n+1 作用:计算判断它与哪个匹配,执行第一个相匹配的后的语句,直到遇到break转去执行switch语句以外的语句;如果均不匹配则执行default后定义的语句(在default省略的情形中,直接执行switch语句以外的语句)。 说明: switch语句中的的值只能是整型、字符型或枚举型表达式。switch语句中,case和其后的间必须有空格否则会产生逻辑错误。cas

3、e后的的值是互不相同的,且它的类型与switch后的的类型一致。通常情况下,每个case分支语句结束后都要加一个break语句来结束switch语句。但在要表示一个范围,或描述一类对象时(如A,B,C都属于合格,D属于不合格)有可能几条case分支语句后才有一个break语句。switch语句与嵌套的if语句都可以用于处理多分支选择的问题。3.3 循环控制语句对于同一个语句或同一组语句序列需要重复多次,则采用循环结构。C+提供了三种循环控制语句:while语句,dowhile语句,for语句。3.3.1 while语句while()判断是否为真,若为真则执行,然后重复判断,直到为假时跳出whi

4、le循环执行其后的语句。这里的可以是单条语句也可以是复合语句。当在循环开始就不满足,则不执行while循环也就是说while循环有可能一次都不执行。3.3.2 dowhile语句 do while();当流程到达do后,立即执行循环体语句,然后再对条件表达式进行判断。若的值为真,则重复执行循环体语句,直到为假时退出循环,执行dowhile循环后的语句。这种循环中至少执行一次,当条件在循环开始时就不满足时这种做法是危险的,所以应尽量使用while语句而避免使用dowhile语句。3.3.3 for语句for(表达式3可以称为初始化表达式,一般用于对循环变量进行初始化或赋初值;可以称为条件表达式,

5、当它的判断条件为真时,就执行循环体,否则终止循环,退出for循环;可以称为修正表达式,一般用于在每次循环体执行之后,对循环变量进行修改操作。for循环中三个表达式可能省略一个、两个或三个都省略,但它们之间分号在三种情况下都不可以省略。3.4 跳转语句3.4.1 break语句break;结束当前正在执行的循环(for、while、dowhile)或多路分支(switch)程序结构,转而执行这些结构后面的语句。在循环结构中使用时,如果有多层循环,只跳出其所在的最近的循环层。3.4.2 continue语句continue;结束当前正在执行的这一次循环(for、while、dowhile),接着执

6、行下一次循环。即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环语句的判定。【典型例题】例题1:下列程序的运行结果为_。 #include void main( ) char c= ; if (c=A & cZ) coutaz是小写字母; else 是其它字符 解答:本题主要考查if语句的嵌套使用方法。首先判断字符变量c是否满足c,如果满足则输出否则判断c是否满足c否则输出else总是与离它最近的前一个if配对。答案为:是其它字符。例题2:已定义:char grade; ,若成绩为A、B、C时输出合格,成绩为D时输出不合格,其他情况提示重新输入。要完成以上功能,则下列switch语句正确

7、的是( )。(a) switch(grade) case A: case B: C:”合格”;break; D:”不合格”; default:”请重新输入:”;(b) B:default:(c) caseA, B, C: case D:(d) A: B:C:D:本题主要考查switch语句的使用。在switch语句执行过程中,找到第一个相匹配的表达式后,转去执行该case后的语句,直到遇到break语句后跳出switch语句执行其后的语句。对于选项b,若grade的值为A则执行结果为“合格不合格请重新输入”,不满足本题的要求;switch语句多个case分支不能简写为多个表达式之间用逗号隔开的

8、一个case分支,选项c错误;case后的表达式只能是整型、字符型或枚举型常量表达式,选项d中case后的A、B、C、D是变量。a。例题3:找出并改正下列程序段中的错误:(1) if(x0);- y=x+1;-else;- y=x-1;-(2) While(i) - coutiendl; - i-;-(3) int i=1,sum; -while(i=100) - sum+=i; - i+;-(4) int i=1,sum=0;do - sum+=i; -while(i=100) -本题中包含了初学者在编程中容易犯的一些错误,提醒读者注意。(1)本题考查对if语句的语法结构的掌握。本题的错误在

9、于在if和else后不应加分号。将、句末的分号去掉。(2)C+是大小写敏感的语言。将中While改为while。(3)本题目的是完成1到100求和,结果放在sum中,但是sum在参与运算前应该首先对其赋值。将改为 int i=1,sum=0;(4)本题主要考查对dowhile的语法结构的掌握以及与while结构进行对比区别两者在作用和语法上的不同。将第行while后加分号即while(i=100);例题4:循环语句for(int i=0;=5&!i;i+) cout执行循环次数为( (a) 1次 (b)3次 (c) 5次 (d)6次本题考查对for循环的理解以及表达式运算。执行for循环i的初

10、值为0,第一次循环时表达式00结果为1所以执行循环体输出0;然后i自加为1,计算表达式1100) break;(d) int i,sum=0;i+,sum+=i);本题主要考查对各种循环结构的以及它们之间转换关系的理解。本题中的程序段是求解1到100的和,循环结束后i的值为101,sum的值为5050。选项a、b分别用dowhile和while循环完成求解1到100的和;选项c是永真循环,通过break语句退出循环,其作用也是求解1到100的和;选项d中i先自加然后求和,其作用为求解2到101的和,循环结束后i的值为101,sum的值为5150。d。例题6:运行下列程序的结果为(1)_。(2)

11、_。(1)#includey; cmultiple=x; while(1) if(cmultiple%y=0)break; cmultiple+=x;最小公倍数:cmultiple输入:24 7(2) int x,y,var1;输入两个整数: if(xy)var1=x,x=y,y=var1; var1=x%y; while(var1) x=y;y=var1;var1=x%y;最大公约数:y7本题考查理解程序的能力。(1)中求解两个数x,y的最小公倍数思路为若x能够被y整除则x就是这两个数的最小公倍数,否则判断x的整数倍是否能被y整除,直到x的某个倍数可以被y整除,则该数即为这两个数的最小公倍数

12、。(2)中求解两个数x,y的最大公约数思路为用两个数中较大的数作为被除数,较小的数作为除数,如果能够整除则较小的数就是这两个数的最大公约数,否则,将较小的数作为新的被除数,将两个数的模作为除数,重复以上工作直到模为0,则这个除数就是x和y的最大公约数。(1) 最小公倍数:168 (2) 最大公约数:1例题7:以下程序的功能是输出1到100之间每位数的乘积大于每位数的和的数,如对数字12有1*22+3所以输出这个数。请填空。int num,product=1,sum=0,n; for(num=1;numsum) coutnum num%i=0 break例题9:编写一个程序,输入一个正整数,判断

13、它是否能被3,5,7同时整除。参考程序如下请输入一个正整数:num; if(nummonth; switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12:days=31; case 4: case 6: case 9: case 11:days=30; case 2:if(year%400=0) leap=1; else if(year%4=0&year%100!=0)else leap=0; if(leap) days=29;else days=28;year年month月的天数为:days例题11:编写一个

14、程序。计算若一头母牛,它每年年初生一头小母牛,每头小母牛从出生起第四个年头开始每年也生一头小母牛,按此规律,第10年时有多少头母牛?假设f(n)表示第n年的母牛数,已知f(0)=0,f(1)=2,f(2)=3,f(3)=4,推得在第n年时应有f(n-3)头母牛生育出f(n-3)头母牛,所以第n年共有f(n-1)+f(n-3)头母牛。据此得出数学表达式:f(n)=f(n-1)+f(n-3)。在下边的参考程序中分别用变量sum、sum1、sum2、sum3表示f(n),f(n-1),f(n-2),f(n-3)其中n从4变化到10。 int sum1=2,sum2=3,sum3=4,sum=0,n=10; for(int i=4;=n; sum=sum1+sum3; sum1=sum2; sum2=sum3; sum3=sum;第十年有sum头牛!例题12:计算当通项时停止计算。本题主要考查学生对循环结构的运用以及对数学问题编程技巧的掌握。本题为有规律的若干项相加,所以采用循环结构处理。循环的条件是当时继续运算直到这个条件不满足时就达到了题目要求的精度,则停止运算。循环体中完成三件事,首先是求出本次(第i次)循环中的的值,然后计算当前的e,最后完成循环变量增1的操作。在求解本题时主要注意计算中所采用的变量的数据

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1