if语句和用if语句以及条件表达式构成的选择结构

1.if语句和用if语句构成的选择结构

1.1  if语句

C语言中if语句有两种基本形式,一种是不含else子句的if语句,另一种是含else子句的if 语句。

1.1.1  不含else子句的if语句
  一.语句形式

if(表达式)语句

例如:if (a < b) { t = a; a = b; b = t }

二.if语句的执行过程

  执行if语句时,首先计算紧跟在if后面一对圆括号中的表达式的值,如果表达式的值为非零(”真“),则执行其后的if子句,然后去执行if语句后的下一条语句;如果表达式的值为0(”假“),则跳过if子句直接执行if语句后的下一条语句。

 例题1:输入三个整数,从大到小排序if语句和用if语句以及条件表达式构成的选择结构_第1张图片

 1.1.2  含else子句的if 语句
一. if_else语句的一般形式为(二分支)

if(表达式)  语句1

else    语句2

例题2:输入两个整数,并输出较大的整数

if语句和用if语句以及条件表达式构成的选择结构_第2张图片

二 在if子句中嵌套具有else子句的if语句

if(表达式1)

          if(表达式2) 语句1

          else                语句2

else

    语句3

当表达式1的值为非0时,执行内嵌的if_else;当表达式1的值为0时,执行语句3。

三. 在if子句中嵌套不含else子句的if语句

if(表达式1)

     {if(表达式2) 语句1}

else

     语句2

  当用花括号把内层if语句括起来后,使得内层if语句在语法上成为一条独立的语句,从而在语法上使得else与外层的if配对。

四. 在else子句中嵌套if语句

(1)内嵌的if语句中带else


if(表达式1)语句1

else

      if(表达式2)语句2

      else              语句3

(2)内嵌的if语句中不带else

if(表达式1)语句1

else

     if(表达式2)语句2

五. 不断在else子句中嵌套if语句形成多层嵌套:

if(表达式1)

           语句1

              else if(表达式2)

                       语句2

                    else if(表达式3)

                               语句3

                                           …

                                             else if (表达式n)

                                            语句n

                                                            else 

                                                           语句n+1

2.条件表达式构成的选择结构

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

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

注意:1.条件运算符由两个符号(?和:)组成,必须一起使用。

 2.要求有3个操作对象,成为三目(元)运算符,它是C语言中唯一的一个三目运算符。

二.条件操作符的计算逻辑

如果 表达式1 为真, 表达式2 计算,计算的结果是整个表达式的结果;如果 表达式1 为假, 表达式3 计算,计算的结果是整个表达式的结果。

三.条件运算符的优先级

条件运算符优先于赋值运算符,但低于关系运算符和算术运算符

例如:

y=x>10?100:200

由于赋值运算符的优先级低于条件运算符,因此首先求出条件表达式的值,然后把值赋给y。在条件表达式中,先求x>1的值,若x大于10,取100作为表达式的值赋给变量y,否则将200作为表达式的值付给变量y。

你可能感兴趣的:(c语言)