zoukankan      html  css  js  c++  java
  • c语言学习之基础知识点介绍(六):if和switch结构

    本节主要说c语言中的分支结构。

      c语言中分支结构有两大类:一种是if,一种是switch。

    一、if结构

    //if结构,语法:
    //第一种:
    if(表达式){
          //语句块
    }
    
    //第二种:
    if(表达式){
          //语句块
    }else{
          //语句块
    }
    
    //第三种:
    if(表达式){
          //语句块
          if(表达式){
              //语句块
          }else{
             //语句块
          }
    }else{
          //语句块
    }  
    
    //第四种
    if(表达式){
          //语句块
    }else if(表达式1){
          //语句块1
    }else{
          //语句块2
    }
    /*
     if语句需要注意的地方:
        1.if语句后面千万不要加分号,如果你非要手贱加一个分号,那么就加在大括号后面。
        2.if语句的大括号,其实是可以省略的!  当你省略大括号的时候,那么if 语句只能管到离它最近的一句语句,但是这句语句不能是声明变量的语句。
        3.if语句里面可以写任意条语句(必须要有大括号)。
        4.非0的数就是真,0就是假,避免让你的表达式是永真或永假。
        5.if语句里面定义的变量只能在它语句块里面访问。
        6.if语句小括号里面的表达式可以写任意表达式。
    */  

    上面说了if结构,不过在某些时候可能觉得用 if 会显得代码块有点臃肿。下面介绍一种表达式。

    二、三目表达式

    //语法:
    //  表达式1 ? 表达式2 : 表达式3 ;
    //例如:
    int num1 = 10,num2 = 9;
    num1>num2?num1++:num2++;
    printf(" num1= %d num2 = %d",num1,num2);
    //输出 11,9

    顺便介绍下获取随机数的函数,需要导入头文件,include <stdlib.h>

    include <stdlib.h>
    arc4random_uniform(u_int32_t);
    //括号中填正整数,如果填n,则会随机生成0到n之间的数字,不包括n。

     三、switch结构

    //switch结构语法
    switch(表达式){
        case 常量表达式1:
            //语句块
            break;   
    .........
        default:
            printf("num = %d",num);
            break;   
    }
    //运行机制:先得出表达式的结果,根据结果跳转到对应的case里面去执行,如果没有对应的case,则会跳转到default中。
    //如果case块后不加break,会发生穿透(从当前的case块执行完之后,进入下一个case块)。
    
    /*
    注意:
    1、switch语句后的小括号里面只能写整数类型的表达式,否则会报错。
    2、case后面只能接常量表达式且不能重复。
    3、case后面不能紧跟着就声明变量,若要声明,请在声明之前加1条或者多条语句。
    4、如果一定要直接声明变量,请在case块加上大括号。
    5、如果不加大括号声明的变量,其他case块也可以使用;反之则不能使用
    6、default语句可以写在switch块中任意位置,不影响程序执行。
    */

    凡是能用if的地方,都可以用switch替换,反之,亦然。

     

  • 相关阅读:
    Android layout属性大全
    如何看懂Code128条形码
    二维码
    在线条形码生成器
    GS1已分配给国家(地区)编码组织的前缀码
    POJ 3321 Apple Tree DFS序+fenwick
    bootstrap之WaitForIdle&amp;&amp;Clear
    ubuntu14操作系统chrome标签和书签乱码解决
    动态规划-hdoj-4832-百度之星2014初赛第二场
    截取符合指数分布的一部分样本的理论与实验
  • 原文地址:https://www.cnblogs.com/bobo-pcb/p/4904907.html
Copyright © 2011-2022 走看看