第3章 流程控制结构_第1页
第3章 流程控制结构_第2页
第3章 流程控制结构_第3页
第3章 流程控制结构_第4页
第3章 流程控制结构_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第3章

流程控制结构

本章将讨论如何给C++程序添加判断功能,以及如何使程序重复执行一组动作,直到特定条件发生为止,这就是C++程序中的流程序控制语句。流程序控制语句分为条件语句,循环语句和转移语句。根据不足的条件使程序执行不同的动作处理多选情况循环语句的使用改变程序的执行流程

3.1条件语句

条件语句可以根据所指定的条件是否满足,决定执行程序的哪部分代码。使用条件语句可以使程序根据不现的情况,决定采取不同的操作。C++提供了3种条件语句:条件运算符if语句swicht语句

3.1.1if语句

if语句可以根据给定的条件进行判断,以决定执行某个分支程序段。C++语言的if语句有三种基本形式。

1.if(表达式)语句

2.if(表达式)语句1else语句2

3.嵌套的if语句

3.1.2条件运算符

如果在if语句中,当if条件为true和false时,都只执行一个赋值语句给同一个变量赋值时,就可以用条件运算符来处理。使用条件运算符可以表示为:max=(a>b)?a:b;其中,“(a>b)?a:b;”是条件表达式。该语句的执行过程是:如a>b条件为真,则条件表达式的值为a,否则条件表达式的值为b。条件表达式要求有3个操作数,因此也称为三元运算符,它是C++语言中唯一的一个三元运算符。由条件运算符通常可以写成如下形式:表达式1?表达式2:表达式3;其求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。

3.1.3switch语句

switch语句是多分支选择语句,也称为开关语句,而if语句是二分支选择语句。

switch语句的一般形式为:switch(表达式){

case常量表达式1:语句1;

case常量表达式2:语句2;

case常量表达式n:语句n;

default:语句n+1;

}其执行过程为:首先计算表达式的值,并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,执行其后的语句,如果所有case中的常量表达式值都没有与表达式匹配,就执行default后面的语句。

3.2循环语句

循环是一种机制,它允许重复执行同一组语句,直到满足指定的条件为止。循环中的语句有时称为迭代语句。循环有两个基本元素:循环体,即循环要执行的语句块;以及决定何时停止重复循环的循环条件。在C++中,有3种循环语句:while循环语句do-while循环语句for循环语句

3.2.1while语句

while循环使用一个逻辑表达式来控制循环体的执行,当满足该条件时进行循环体,不满足该条件时则不再执行循环。其一般形式如下:while(表达式)

循环体while语句的特点是:先判断表达式,后执行循环体语句。其执行流程如右图所示。

3.2.1while语句

do-while循环类似于while循环,只要指定的循环条件为true,循环就继续执行。主要区别是在do-while循环中,循环条件是在循环体执行后进行检查,而不是在开始检查,所以循环体语句至少要执行一次。do-while循环的一般形式如下:do{

循环体语句}while(表达式);do-while循环的执行流程如左图所示。

3.2.3for语句

在C++中,for语句使用最为灵活,它完全可以取代while语句。它的一般形式为for(表达式1;表达式2;表达式3)

循环体语句for循环的执行过如下:(1)先求解表达式1。(2)求解表达式2,若其值为真(非0),则执行for循环体语句。(3)执行for循环体语句后求解表达式3。(4)求解表达式3后重新计算表达式2,如果值为假(0),则结束循环,为真则继续执行循环语句。其执行过程如左图所示。

3.2.4嵌套循环

在实际的应用中,常需要将一个循环放在另一个循环内部,即构成嵌套循环。实际上,可以在循环中嵌套多次,直到能解决问题为止。而且,嵌套的循环可以是任何类型:可以在while循环中嵌套for循环,再把该while循环嵌套在do-while循环中。它们可以以任何方式混合在一起。

3.3跳转结构

在程序中,常常需要因为某种情况的出现,而改变程序中原来的执行流程,这就跳转结构。C++实现跳转功能的语句包括:break语句、continue语句和goto语句。

3.3.1break语句

break语句通常用在循环语句和switch语句中。当break用于switch语句中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则可能执行switch语句中所有的csae后面的语句。

3.3.2continue语句

continue语句的作用是跳过循环体中剩余的语句,而强行执行下一次循环。continue语句常与if条件语句一起使用,用来加速循环。continue语句与break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。

3.3.3goto语句

goto语句能控制程序的执行流程从它所在的地方转移到所标识的语句处。

温馨提示

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

评论

0/150

提交评论