C++学习 【3.3】 程序设计初步--选择结构和if语句

学习《C++程序设计》(第二版)  谭浩强  主编

第三章  程序设计初步

3.7    选择结构和if语句

3.7.1    if语句的形式

3.7.2    if语句的嵌套

3.7.3    条件运算符和条件表达式

3.7.4    多分支选择结构与switch语句

3.7.5    编写选择机构的程序

if语句是用来判定所给定的条件是否满足,根据判定的结果来决定执行给出的两种操作之一


3.7.1   if语句的形式 

C++的if语句的一般形式为:

if  (表达式)  语句   1

[else 语句2]

语句1,2可以是简单地语句,也可以是复合语句,也可以是内嵌的if语句

 

在C++中if语句是实现选择结构的主要的语句

 

在执行if语句时先对表达式求解,若表达式的值为非0,则按真处理

 

3.7.2   if语句的嵌套

if与else的配对关系:else总是与它上面最近的、且未配对的if配对

如果if与else的数目不一样,为实现程序设计者的企图,可以加花括号来确定配对的关系

 

3.7.3   条件运算符和条件表达式

若在if语句中,当被判别的表达式的值为真或假时,都执行一个赋值语句且给同一个变量赋值时,可以用简单的条件运算符来处理

例如:如果有下面的if语句

if  (a>b)  max=a;

else max=b ;

可以用条件运算符(?  :)来处理:

max=    (a>b)  ?  a :  b  ;

其中,“ (a>b)  ?  a :  b ”  是一个“条件表达式”;

如果(a>b)为真,则条件表达式的值就取a,否则取b

 

条件运算符要求有3个操作对象,称三目(元)运算符,它是C++中唯一的一个三目运算符

条件表达式的一般形式为:

           表达式1  ?   表达式2   :     表达式3

条件运算符优先于赋值运算符

表达式2和表达式3的数据类型可以不一致

 

3.7.4   多分支选择结构与switch语句

一般形式:

switch(表达式)

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

    case  常量表达式2:语句2

    ...........

    case  常量表达式n:语句n

    default                      :语句 n+1

}

 

说明:

1.switch后面括号内的表达式,可以是数值类型(包括字符类型)数据

2.当switch表达式的值与某一个case子句中的常量表达式的值相匹配时,就执行此case子句中的内嵌语句

   若所有的case子句中的常量表达式的值都不能与switch表达式的值匹配,就执行default子句的内嵌语句

3.各个case和default的出现次序不影响执行结果

4.执行完一个case子句后,流程控制转移到下一个case子句继续执行

   “case常量表达式”只是起语句标号的作用,并不是在该处进行条件判断

    在执行switch语句时,根据switch表达式的值找到与之匹配的case子句,就从此case子句开始执行下去,不再进行判断

    因此,应该在执行一个case子句后,使流程跳出switch结构,即终止switch语句的执行,可以用一个break语句来达到此目的

   

    在case子句中虽然包含一个以上执行语句,但可以不必用花括号括起来,会自动顺序执行case子句中所有的执行语句,当然加上也行

   

    多个case可以共用一组执行语句

 

3.7.5    编写选择结构的程序

转载于:https://my.oschina.net/huangmc/blog/609081

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值