c++之选择结构

程序由若干条语句组成,各语句按照顺序一条一条地执行,这种顺序结构是简洁的。但在现实世界中,在解决问题的过程中,不可避免地遇到需要进行选择、或需要循环工作的情况。这时,程序执行的顺序需要发生变化,而非从前向后逐一执行。因此,程序中除了顺序结构以外,通常还有选择结构、循环结构以及转移机制。C++为了支持这些控制结构,提供了丰富、灵活的控制语句。从结构化程序设计的观点看,所有程序都可用3种控制结构即顺序结构、选择结构、和循环结构实现。C++在默认的情况下采取顺序结构,除非特别指明,计算机总是按语句顺序一条一条地执行。为使程序更清晰、更易调试与修改,并且不容易出错,结构化编程要尽量少用或不用goto等跳转语句。

if选择结构

  • 01

    一、if语句(单分支结构) 格式1: if  (条件表达式) 语句1; 功能:如果条件表达式的值为真,即条件成立,语句1将被执行。否则,语句1将被忽略(不被执行),程序将按顺序从整个选择结构之后的下一条语句继续执行。执行流程如图3-1所示 说明:格式中的“条件表达式”必须用圆括号括起来。

  • 02

    格式2 : if  (条件表达式) { 语句1; 语句2; …… } 条件成立时,要执行的操作由多个句子构成,我们必须把这些句子括在一对花括号{ }内,我们称这种形式为语句块或复合语句。

  • 03

    二、if-else语句(双分支结构) if单分支选择结构只在条件为true时采取操作,条件为false时则忽略这个操作。利用if-else双分支选择结构则可以在条件为true时和条件为false时采取不同操作。 格式1: 功能:如果(条件表达式)的值为“真” ,即条件成立,则执行语句1,执行完“语句1”后继续执行整个if-else语句的后继语句;如果(条件表达式)的值为“假” ,即条件不成立,那么跳过语句1选择执行“语句2” ,执行完语句2后继续执行整个if-else语句的后继语句;也就是说if-else语句总是根据(条件表达式)的结果,选择“语句1”和“语句2”中的一个执行,执行完以后,整个if-else就算执行完了。 if  (条件表达式) 语句1; else 语句2; 执行流程如图所示

  • 04

    格式2 : if  (条件表达式) { 语句1; 语句2; …… } else {  语句1; 语句2; …… } 若分支语句由多个句子构成,我们必须把这些句子括在一对花括号{ }内。if语句允许嵌套。

switch语句

  • 01

    应用条件语句可以很方便地使程序实现分支,但是出现 分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程 序结构会显得复杂,其至凌乱。为方便实现多情况选择,C++ 提供了一种switch开关语句。

  • 02

    1.语句格式: switch(表达式) { case  常量表达式1: 语句序列1; break; case  常量表达式2: 语句序列2; break; …… case  常量表达式n: 语句序列n; break; default: 语句序列n+1; } 该语句中可以使用一次或多次case标号,但只能使用一次default标号,或者省略整个default部分;多个case标号也允许使用在同一个语句序列的前面;每个语句标号有保留字case和后面的常量表达式及冒号组成,每个常量表达式通常为字面常量,如常数或字符。 下方两图实际上相等。

  • 03

    2.语句执行过程 switch语句执行过程分为以下3步描述。 (1)计算出switch后面圆括号内表达式的值,假定为M,若它不是整型,系统将自动舍去其小数部分,只取其整数部分作为结果值。 (2)依次计算出每个case后常量表达式的值,假定它们为M1、M2、…,同样若它们的值不是整型,则自动转换为整型。 (3)让M依次同M1、M2、…进行比较,一旦遇到M与某个值相等,则就从对应标号的语句开始执行;在碰不到相等的情况下,若存在default子句,则就执行其冒号后面的语句序列,否则不执行任何操作;当执行到复合语句最后的右花括号时就结束整个switch语句的执行。在实际使用switch语句时,通常要求当执行完某个case后的一组语句序列后,就结束整个语句的执行,而不让它继续执行下一个case语句后面的语句序列,为此,可通过使用break语句来实现。该语句只有保留字break,而没有其它任何成分。它是一条跳转语句,在switch中执行到它时,将结束该switch语句,系统接着向下执行其它语句。

  • 04

    在使用switch语句时,还应注意以下几点: 1.case语句后的各常量表达式的值不能相同,否则会出现错误码。 2.每个case或default后,可以包含多条语句,不需要使用“{”和“}”括起来。 3.各case和default子句的先后顺序可以变动,这不会影响程序执行结果。 4. default子句可以省略,default后面的语句末尾可以不必写break。

(0)

相关推荐

  • java中的选择结构

    java的基本选择结构,<在还没有知道java选择结构的时候,我们编写的程序总是从程序入口开始,顺序执行每一条语句直到执行完最后一条语句结束>,但是生活中经常需要进行条件判断,根据判断结果 ...

  • C语言选择结构

    C语言提供了可以进行逻辑判断的选择语句,有这些选择语句可以构成程序中的选择结构,通常又称为分支结构,在这里讲讲述选择结构中的if语句,请看下文. 操作方法 01 作为教程讲解,小编以一个简单的例子讲解 ...

  • Switch选择结构的用法

    什么是switch选择结构?为什么要使用switch选择结构?如和使用switch选择结构? 操作方法 01 什么是switch选择结构: 语法:  switch(表达式){ case 常量 1: 代 ...

  • C/C++ switch case选择结构的用法

    介绍了C/C++中 switch case语句的具体用法 操作方法 01 switch...case...是一种分支结构,作用和if...else...类似,在执行switch...case...语句 ...

  • solidworks怎么制作结构构件?

    solidworks结构构件制作详细教程,详细如下图文所示. 1.首先创建新建结构构件轮廓所在文件夹.值得注意的是,所建立的文件夹需有两级,也就是说在新建文件夹内在新建一个子文件夹,否则构件轮廓保存后 ...

  • 程序基本结构的流程图实例讲解

    不论什么程序设计语言,程序设计都有3种基本结构:顺序结构.选择结构和循环结构.三种基本结构的特点: 一个入口,一个出口,不出现死循环和死语句. 操作方法 01 1.程序流程图 程序流程图是用一系列的图 ...

  • Autodesk Revit绘制结构柱步骤详解

    Autodesk Revit拥有拥有很强大的建筑绘图功能,并且能够在绘制平面图的同时,进行三维的建模工作,因此,我们在使用Autodesk Revit绘图时,能够在绘图过程中,及时查看三维情况,从而把 ...

  • Revit中如何绘制结构构件(柱、梁、板)

    在使用Revit软件时,对于经常使用的结构专业的梁板柱构件,我们应该掌握正确的绘制方法,多加练习以提高我们的工作效率,保证模型的质量,为后期模型的生命全周期运用提供基础保障!以个人的分享一下结构构件的 ...

  • c语言入门:[7]输入数据scanf及顺序结构

    用c语言编写一个类似下面的简单的加法程序我们应该已经会了. main() { int a=5; int b=6; int c; c=a+b; printf("%d+%d=%d ", ...