C语言——选择结构程序设计

一、关系运算符和关系表达式

1、关系运算符及其优先次序

        C语言提供6种关系运算符:
优先
        (1)前4种关系运算符(<,<=,>,>=)的优先级别相同,后2种也相同。前4种高于后2种。
        (2)关系运算符的优先级低于算术运算符。
        (3)关系运算符的优先级高于赋值运算符。

2、关系表达式

        ·关系表达式“a>b”的值为“真”,表达式的值为1。
        ·关系表达式“(a>b)==c”的值为“真”(因为a>b的值为1,等于c的值),表达式 的值为1。
        ·关系表达式“b+c<a”的值为“假”,表达式的值为0。
        ·d= a>b              则d的值为1。
        ·f=a>b>c           则f的值为0(因为“>”运算符是自左至右的结合方向,先执行 “a>b”得值为1,再执行关系运算“1>c”,得值0,赋给f)。

二、逻辑运算符和逻辑表达式

1、逻辑运算符及其优先次序

        C语言提供3种逻辑运算符:
逻辑运算的真值表
        在一个逻辑表达式中如果包含多个逻辑运算符,按以
                (1)!(非)→&&(与)→||(或),即“!”为三者中最高的。
                (2)逻辑运算符中的“&.&.”和“||”低于关系运算符,“!”高于算术运算符,见图。

2、逻辑表达式

        (1)若a=4,则!a的值为0。因为a的值为非0,被认作“真”,对它进行“非”运算,得“假”,“假”以0代表。
        (2)若a=4,b=5,则a&&b的值为1。因为a和b均为非0,被认为是“真”,因此a&&b ”, 1
        (3)a、b值分别为4、5,al|b的值为1。
        (4)a、b值分别为4、5,!al|b的值为1。
        (5 ) 4 && 0 11 2 1
逻辑运算的真值表
        (1)、a&&b&&c只有a为真(非0)时,才需要判断b的值,只有a和b都为真的情况下才需要判断c的值。只要a为假,就不必判别b和c。
        (2)、a || b || c只要a为真(非0),就不必判断b和c。只有a为假,才判别b。a和b为假才判断c。

三、if语句

1、if语句的3种形式

C语言提供了3种形式的if语句:

(1)、if(表达式)语句;
(2)、if(表达式)语句1 else语句2;
  (3)、if(表达式1)语句1
          else if(表达式2)语句2
          else if(表达式3)语句3;
          :
          :
          else if(表达式m)语句m
          el s e n

2、if语句的嵌套

3、条件运算符

(1)、条件表达式的一般形式为:

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

四、switch语句

1、switch语句的一般形式

switch(表达式)

{

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

…………

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

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

default :                          语句n+1;        break;

}

说明:

        (1)switch后面括号内的“表达式”,ANSI标准允许它为任何类型。
        (2)当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句。
        (3)每一个case的常量表达式的值必须互不相同;否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。
        (4)各个case和default的出现次序不影响执行结果。例如,可以先出现“default:…”,再出“case'D’:…”,然后是“case 'A’:…”。
        (5)执行完一个case后面的语句后,流程控制转移到下一个case继续执行。“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断。在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。例如,上面的例子中,若grade的值等于'A',则将连续输出:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值