第五天 Linux下的C语言基础学习 流程控制

一、流程控制的定义与分类

定义:程序代码执行的顺序。

分类

        顺序结构 :程序按顺序执行,不发生跳转。
        分支结构 :依据条件是否满足,有选择地执行相应功能。------今天所学的内容
        循环结构 :依据条件是否满足,循环多次执行某段代码。

二、分支结构流程
        分支 -- 选择 

                        有条件 可以判断 

        构造条件 

        关系运算 
                >     >=    <   <=   ==    != 
关系运算的结果 只有 01 ,这个结果 用int型来存储的 


        逻辑运算
        && 规则: 一假则假

        || 规则: 一真则真 

        ! 规则: 真假相对 

逻辑运算 实际是 表示 表达式之间的关系 

表达式1 && 表达式2 

eg:

result = 1>2 && a++

result = ((1>2) && (a++))
         ( 0    && 10  )
         ( 0    && 1   )    //0 
         a = 11 

注意:         
&& 截断特性(短路特性) //逻辑运算中-优先算左边的表达式  

|| 也有截断特性 
 
注:C 语言中如何表示"真"和"假"?
    1-真 
    0-假
    系统如何判断一个量的"真"和"假"?
    非0 即为真 
        2       // 
        -1     // 
        'a'     //真 
        0     为 

if 语句 

//形式1
语法:
  ...
  if (表达式)
  {
      语句
  } //复合语句 
  ...

  语义:
  
  如果 表达式 为真 
  则 执行 if 下的 语句 ,语句执行完后,继续执行if后的代码
  如果 表达式 为假 
  则 跳过 if 下的 语句,执行if语句后面的代码
  
注意:
   1.if 后面 没有 分号 

  //形式2 --双分支 
    ...
    if ( 表达式)
    {
        语句1
    }    
    else 
    {
        语句2
    }
    ....

    语义:
       
      判断 表达式?
      真 
        执行语句1
      假
        执行语句2
        
      执行完后,继续if后面的代码执行

    //形式3
    if( 表达式1)
        语句1
    else if( 表达式2) 
        语句2
    else if( 表达式3) 
        语句3
    else if( 表达式m) 
        语句m
    else 
        语句n

    语义:
     判断 表达式1
     真 
       执行 语句1
       语句1 执行完成就表示if执行完了,程序继续往后       
     假
       判断表达式2
       真 
          执行 语句2
          语句2 执行完成就表示if执行完了,程序继续往后       
       假
         判断表达式3
         真 
            执行 语句3
            语句3 执行完成就表示if执行完了,程序继续往后       
         假
           ....
    
    注意:
       每个判断的if后面不要写分号
Linux vim编译器中快捷键操作-----对齐:
   单独一行 
                      ==

    多行
                   shift + v选中多行 
                   按一下 = 

   全局对齐
                  gg=G (shift+g)
   
问题:
   0.没有单独的else语句,所以else出现必然有其对应if与之配对 
   1.if - else 配对关系 
     可以先从最里面的else寻找 
     找距离else最近的if (在else之前)

 
switch 语句

语法格式:
    switch (整型表达式)
    {
        case 常量表达式1:
             语句1
             break;
        case 常量表达式2:
             语句2
             break;
        case 常量表达式D:
             语句n
             break;
        default :
             语句n+l
             break;
    }//右花括号 

   
    语义:
      首先,求解"表达式",根据表达式的结果,到下面case后依次进行匹配,如果与case 后的常量表达式的值一致,则匹配成功,执行该case下面的"语句",直到遇到了 break或 switch 的右花括号 }。。。
   注意:
     1.switch后 "表达式" ---结果不能是 浮点型 
     2.case 后面 是常量表达式,不能出现变量
     3.default 写错 没有语法问题,但是达不到程序效果

       

    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值