【前言】

     本篇博客简介C语言中的选择结构,选择结构的条件中总是会出现各种各样表达式的判断,所以本篇博客又补充了一些表达式的内容,结尾还有分析程序和表达式的方法总结,希望对读者有所帮助。

【一起来学C语言】C语言的组成:选择结构

 

 

【两类表达式】

     一、关系运算符和关系表达式      逻辑值01

     关系运算符有<   <=小于或者等于,   >   >=大于或者等于,为6级运算符。  == 等于  != 不等于为7级运算符。注意区分“=”为赋值运算符,“==”才是表示等于关系的运算符。

     由关系运算符组成的表达式称为关系表达式。 

举个栗子:

  1. 7=7是错误的,因为赋值运算符“=”,左边必须是变量。“==”才是表示等于关系的运算符。
  2. 5 >4> 3  符号同级,从左向右  5 >4为真得11>3为假得0
  3. 1 <2 <3  符号同级,从左向右  1 <2为真得11<3为真得1

-------------------------------------------------------------------------------------------------------- 

     二、逻辑运算符与逻辑表达式    逻辑值01

     逻辑运算符有&& 逻辑与 || 逻辑或   !(单目)逻辑非。运算符等级为 && 11级、 || 12级、2级。

     逻辑与就像乘法,非0就是真,全真为1,有00

     逻辑或 就像加法a|| b00,有真为1

     逻辑非为单目,只需一个对象 真变假,假变真。


     关于运算短路,与的短路 ,遇到 0就短路,因为与运算有0表达式就为0。非的短路,遇到非0短路。

 

if语句三种格式】

格式1

    if(表达式)

          语句序列1

   后继语句 

表达式结果为真就执行语句序列1,表达式结果为假就执行后继语句。

 -------------------------------------------------------------------------------------------------------- 

格式2

    if(表达式)

           语句序列1

   else

            语句序列2

  后继语句    

If表达式后,有多条语句加花括号,整个花括号表示一个语句。

 -------------------------------------------------------------------------------------------------------- 

格式3if语句的嵌套

     if(表达式1

   if(表达式2

      语句序列11

  else

     语句序列12

     else

       语句序列2

    后继语句

   

switch语句】

switch(表达式)

{

  case常量表达式1:子句1

  case常量表达式1:子句2

   …

  case常量表达式n:子句n

  defalut: 子句n+1

} 

  switch表达式的值求出和case的值比较,都不符合执行default,如果执行完子句1,一定会执行后面的子句2到子句ncase2符合,就执行子句2,以及后面的case

 

注意:

1.switch后必须用小括号将表达式括起。

2.case后常量整型或字符型,不能有变量和逗号运算符。

3.case后常量不能出现相同的值。

4.switch算作一条语句

5.变量没有赋值,就是随机值

 

【运算符操作级别】

1()特殊运算符

2单目(一个运算对象) ++ -- ++ -- 从右向左计算)、!


3-12双目 两个操作对象 从左向右计算

3.4 算术  双目(两个运算对象)

6.7 关系  双目

11-12逻辑 双目 


13三目

14  = 14赋值

15逗号

 

【程序和表达式判别】

看到程序,如何标语句?

找配对(比如if else就是配对),找控制(比如if控制哪些语句),标语句(哪些是执行语句)

 

拿到表达式,如何判别?

先检查合法性,短路优先,优先级高的先算,同级考虑结合性

 

【小结】

    本篇选择结构就介绍到这里,下篇简介C语言循环结构,下篇见~  

相关文章: