一.关系运算

1.< 

2.<=

3.>

4.>=

5.==

6.!=

表达式 必有结果 有类型 
     
     关系成立   --- 关系真 
     关系不成立 --- 关系假
   

     C语言中表示真和假:
     用
      数值 1 表示真 
      数值 0 表示假

运算中注意符号优先级顺序,前四种运算符的优先级高于后两种。

二.逻辑运算

1. &&  逻辑与

(相当于其他语言中的 AND)

2. ||   逻辑或

(相当于其他语言中的 OR)

3.  !  逻辑非

(相当于其他语言中的 NOT)

 5.3写出下面各逻辑表达式的值。设a=3,b=4,c=5。
   (1) a+b>c && b==c     //0  ((a+b)>c) && (b==c)
   (2) a||b+c&&b-c       //1    a||((b+c)&&(b-c))      
   (3) !(a>b) && !c ||1  //1   ((!(a>b)) && (!c)) || 1   
   (4) !(x=a) && (y=b) && 0 //0  ((!(x=a)) && (y=b)) && 0
   (5) !(a+b)+c-1 && b+c/2 // 1  (((!(a+b))+c)-1) && (b+(c/2))

优先级顺序参考下表:(C程序设计(第三版) 谭浩强著)

三.if语句 

1. if( 表达式)语句

if (表达式)
  {
     语句
  }     
 
  语义:
   判断 表达式 ?
   真 
     执行 if 下面的语句 
     语句执行完 表示if语句结束,程序继续往下
   假    
     表示if语句结束,程序继续往下

2. if( 表达式)语句 1 

        else 语句 2

 语法:
  if (表达式)
  {
     语句1
  }else  
  {
     语句2
  }
  
  
  语义:  
    判断表达式?
    真
       执行语句1
       语句1执行 表示 if 语句结束,程序继续往下        
    假 
       执行语句2
       语句2执行 表示 if 语句结束,程序继续往下

例如,要求比较xy的大小关系,可以用 ifelse语句实现:

3. if( 表达式 1) 语句 1

        else if( 表达式 2)语旬 2

        else if( 表达式 3) 语句 3

                .......

        else if( 表达式 m) 语句 m

        else 语旬 n

 语法:
  if (表达式1)
  {
     语句1;
  }else if (表达式2)
  {
     语句2;
  }else if (表达式3)
  {
     语句3;
  }
   ...
  else 
  {
      语句n;
  }
  
  语义:
   首先  判断表达式1?
   真
       执行 语句1
       语句1 执行完,表示if语句结束,程序继续往下       
   假
       继续判断 表达式2 
          真 
               执行 语句2
               语句2 执行完,表示if语句结束,程序继续往下
          假
               继续判断 表达式3 
       .... 

例如,要求按照考试成绩的等级输出百分制分数段,可以用 ifelse多级语句实现:


四.switch语句


  语法:
  switch (整型表达式)
  {
    case 整型常量表达式1:
         语句1;
         break;
    case 常量表达式2:
         语句2;
         break;
    case 常量表达式3:
         语句3;
         break;
    ...
    default:
         语句n+1;
         break;
  }

  语义:
   求解 表达式?
   得到一个结果 
   与下面 case 后的值 进行匹配
   如果匹配上,
   则执行对应 case 后的语句,
   直到遇到 break 或者是 switch 的 } 则执行结束

例如,要求按照考试成绩的等级输出百分制分数段,可以用 switch语句实现:

最后一个分支(default)可以不加 break 语句。

多个 case 可以共用一组执行语句,例如:

grade 的值为'A或B'或'C'时都执行同一组语句。

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐