第5讲C++的控制语句_第1页
第5讲C++的控制语句_第2页
第5讲C++的控制语句_第3页
第5讲C++的控制语句_第4页
第5讲C++的控制语句_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

制作者:王甜甜C++的控制语句学习内容C++语句概述C++程序的三种基本结构顺序结构分支结构循环结构限定转向语句breakcontinueC++语句概述语句(statement)是程序中最小的可执行单位。一条语句可以完成一种基本操作,若干条语句组合在一起就能实现某种特定的功能。C++中语句可以分为以下三种形式:1、单一语句在任何一个表达式后面加上分号(;)就构成了一条简单的C++语句例如:c=a+b;a>b?a:b;cout<<“HelloC++”<<endl;C++语句概述2.空语句仅由单个分号构成的语句,即;空语句不进行任何操作。该语句被用在从语法上需要一条语句,但实际上却又不进行任何操作的地方。3.复合语句复合语句是用一对花括号{}括起来的语句块。复合语句在语法上等效于一个单一语句。使用复合语句应注意:(1)

花括号必须配对使用;(2)花括号外不要加分号C++程序的三种基本结构顺序结构分支结构循环结构顺序结构BA程序按照语句的书写顺序依次执行,语句在前的先执行,语句在后的后执行,只能满足设计简单程序的要求。

分支结构BNAY条件P在分支结构中,程序根据判断条件是否成立,来选择执行不同的程序段。也就是说,这种程序结构,能有选择地执行程序中的不同程序段。

循环结构在循环结构中,程序根据判断条件是否成立,来决定是否重复执行某个程序段。

条件PA当型循环直到型循环真假假条件PA假真if语句if语句是最常用的一种分支语句,也称为条件语句。if语句有三种形式:单分支if

语句、双分支if语句多分支if语句单分支if语句语法:if(表达式)语句执行过程先计算关键字if后面的表达式的值,若为真,则执行if后的“语句”部分,否则跳过该“语句”部分。不管是否执行“语句”部分,最后都要接着“语句”部分的后面,继续执行程序的其它部分。真假表达式语句单分支if语句说明:括号不能省略。在if(表达式)后不能加分号“;”。关键字if的后面的表达式可以是任意的表达式,只要表达式的值为非0,即当真值处理,否则当假值处理。if语句的内嵌语句可以是单一语句,也可以是复合语句。尽量使if语句的内嵌语句比if语句缩进这是良好编程书写风格。例子:intx=0,y=2;

if(x==0)y++;

cout<<x<<y;双分支if语句语法格式:

if(表达式)

语句块1

else

语句块2

执行过程:先判断表达式的值,若为真,则执行语句块1,否则执行语句块2。不管程序执行语句块1还是执行语句块2,最后都要跳到语句块2的后面接着执行程序中后面的语句。真假表达式语句块1语句块2双分支if语句说明:语句块1、语句块2既可以是单一语句也可以是用{}括起来的复合语句。else子句必须与if子句配对使用,不能单独使用else子句必须处在if子句的后面,且else语句总是和离它最近的前面未配对的if语句配对。例子:输入一个年号,判断是否为闰年,如果是则输出“yes”,否则输出“Not”。分析:只要满足下列两个条件之一者,即是闰年。①年号能被4整除,但要排除同时能被100整除;②年号能被400整除。#include<iostream.h>voidmain(){inty;

cout<<"输入一个年号:";

cin>>y;if((y%4==0&&y%100!=0)||(y%400==0))

cout<<"Yes";else

cout<<"Not";

cout<<"\n程序运行结束";}多分支if语句一般形式为:if(表达式1)

语句1elseif(表达式2)

语句2elseif(表达式3)

语句3 ………………elseif(表达式N)

语句Nelse

语块N+1说明:在if语句嵌套中else与if配对关系,else与离它最近的if语句相匹配。真真真假假假表达式1表达式2语句1语句2语句3语句4多分支if语句#include<iostream.h>voidmain(){ floatscore;

cout<<"Inputscore(0~100):";

cin>>score;

if(score>=90)

cout<<"Excellent!"; elseif(score>=80)

cout<<"Good!"; elseif(score>=70)

cout<<"Right!"; elseif(score>=60)

cout<<"Pass!";else

cout<<"Failed!";}例子:输入学生的成绩score,按分数输出其等级:score≥90为优,90>score≥80为良,80>score≥70为中等,70>score≥60为及格,score<60为不及格。switch语句一般形式为:

switch(表达式){

case常数1:

语句序列1;

case常数2:

语句序列2;

…………

default:

语句序列3;

}执行过程:说明:1、表达式可以是整形、字符型、枚举型2、case后的常量类型=switch中表达式类型3、常数1-常数n必须互不相同且每一常数后面要有冒号:4、各case子句和default子句的次序可任意5、default可以没有,但最好不省略6、如果要使每个case处相当于一种if(s)else的效果,必须在其语句组最后加上break语句。7、各case子句后面必须是常数,而不能是变量或表达式switch语句#include<iostream.h>voidmain(){floatscore;

inta;

cout<<"Inputscore(0~100):";

cin>>score;a=score/10;

switch(a){case0:case9:cout<<"Excellent!";break;case8:cout<<"Good!";break;case7:cout<<"Right!";break;case6:cout<<"Pass!";break;

default:cout<<"Failed!";}}例子:输入学生的成绩score,按分数输出其等级:score≥90为优,90>score≥80为良,80>score≥70为中等,70>score≥60为及格,score<60为不及格。switch和else-if的比较else-if比switch的条件控制更强大一些else-if可以依照各种逻辑运算的结果进行流程控制switch只能进行==判断,并且只能是整数判断switch比else-if更清晰两者都要尽量避免用得过多、过长,尤其不要嵌套得太多它们大大增加程序的分支,使逻辑关系显得混乱,不易维护,易出错循环语句C++提供了三种循环结构:while循环语句、do-while循环语句for循环语句while语句语法形式:while(表达式){循环体语句}执行过程:首先判断while后面的表达式的值,若表达式的值为真,则执行while的内嵌语句(即循环体)一次;然后重复以上过程,直到表达式的值为假时,才退出循环接着执行循环体语句后面的其它程序语句循环体语句表达式FTwhilewhile语句例子:求#include<iostream.h>#include<iostream.h>voidmain(){int

i,n;n=0; i=1;

while(i<=100) {n=n+i; i++;}

cout<<"n="<<n<<endl;}do-while循环语句语法形式:do{循环体语句}while(表达式);执行过程:首先执行do-while的内嵌语句(循环体语句)一次然后再判断while后面的表达式的值,若表达式的值为真,则重复执行do-while的内嵌语句,如此反复,直到表达式的值为假时,循环结束,执行while后面的语句。statements表达式FTdo/whiledo-while循环语句例子:求#include<iostream.h>voidmain(){int

i,n; n=0;i=1;do{n=n+i; i++;}

while(i<=100);

cout<<"n="<<n<<endl;}while语句和do-while在循环体相同的情况下while语句和do-while语句的功能基本相同二者的区别在于:while:先验证条件,再执行语句do/while:先执行语句,再验证条件当循环条件一开始就为假时,do-while语句中的循环体至少会被执行一次,而while语句则一次都不执行。

for循环语句语法形式:for(表达式1;表达式2;表达式3){循环体语句}说明:表达式1:初始化表达式表达式2:判断条件表达式表达式3:修正表达式,循环参数调整循环体有多条语句时,要加{}表达式可缺省,但分号不能省,如

intn=1;for(;n<10;n++)变量可在表达式中声明:

for(intn=1;n<10;n++)

等价于:while(表达式2){

语句;

表达式3;

}for循环语句执行过程:①执行for后面的表达式1;②执行表达式2,若表达式2的值为真,则执行for语句的内嵌语句(即循环体语句),然后执行第③步,若为假,则循环结束,执行第⑤步;③执行表达式3;④返回继续执行第②步;⑤循环结束,执行for语句的循环体下面的语句。表达式1

表达式2表达式3循环体语句TFfor循环语句例子:求#include<iostream.h>voidmain(){int

i,n;n=0;

for(i=1;i<=100;i++) n=n+i;

cout<<"n="<<n<<endl;}选择三种循环的一般原则如果循环次数已知,用for如果循环次数未知,用while如果循环体至少要执行一次,用do-while这只是“一般”原则,不是“原则”循环嵌套在一个循环的循环体中又包含另一个循环语句,称为循环嵌套。C++的三种循环语句可以相互嵌套,构成循环嵌套。以下几种都是合法的循环嵌套:

(1)for(;;) {…… for(;;) { } ……}(2)while(){……for(;;) {}do{…… }while();……}(3)do{…… for(;;) { }

……}while();循环嵌套在嵌套的各层循环体中,使用复合语句(即用一对大花括号将循环体语句括起来)保证逻辑上的正确性内层和外层循环控制变量不应同名,以免造成混乱嵌套的循环最好采用右缩进格式书写,以保证层次的清晰性循环嵌套不能交叉,即在一个循环体内必须完整的包含着另一个循环限定转向语句breakcontinuebreak语句语法形式:break;该语句只能用于两种情况:(1)用在switch结构中,当某个case子句执行完后,使用break语句跳出switch结构。(2)用在循环结构中,用break语句来结束循环。如果在嵌套循环中,break语句只能结束其所在的那层循环。假假真真break表达式1表达式2循环语句的下一条语句break语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论