1. 程式人生 > >else ; 三目運算子 ; switch 語句的基本用法

else ; 三目運算子 ; switch 語句的基本用法

條件語句 if ; 三目運算子 ; switch

if 語句

格式

    if(關係表示式)//所謂的關係表示式的值 (真假性)
    {
        語句塊1;                                                 可以是一句也可以是多句話,甚至可以沒有
    }

1. 變數的作用域:變數的有效範圍,變數所在的大括號

2. 自定義變數的作用域

    {   這個大括號  就是定義了 i這個變數的作用域
    int i = 0;
    printf("i = %d\n",i);
    }

一個經典的面試題
這裡寫圖片描述

if-else 結構

格式

    if         如果
    else      否則

    if(關係表示式)  關係表示式只有兩個結果
    {
    語句塊1;    如果為真 執行  “語句塊1”
    }
    else
    {
    語句塊2;    如果為假   執行 “語句塊2”
    }

* 注意1 : 語句塊1 和語句塊2 有且僅有一個會被執行*

if - else if - else

    if(條件表示式1)
    {
        執行語句塊1;
    }
    else if(條件表示式2)
    {
        執行語句塊2;
    }
    else if(條件表示式3)
    {
        執行語句塊3;
    }else if(條件表示式4)
    {
        執行語句塊4;
    }
    else{
        //是指以上的條件表示式都不滿足的時候
        語句塊n;
    }

執行順序

    先判斷一個條件表示式 如果不成立,在判斷第二個
    條件表示式
    如果前面的條件表示式都不成立  那麼執行else

三目運算子

* 格式*
條件表示式? 值1 : 值2
int num = 20;
num > 0 ? 第一個值 : 第二個值;
注意
1. 條件表示式 也可以是一個普通的表示式
eg : 2 - 3 ? 100 : 200
2. 值1 和值2 也是可以 別的語句
eg:
int num = 20;
num > 10 ? printf(“比較大”) : printf(“比較小”);

產生隨機數

 1. 隨機數: 一個範圍內的 隨機產生的數
 2. c語言中:
 引入一個東西: #include<stdio.h>
 使用這個函式: arc4random_uniform(一個整數);

 eg: 產生一個 20 --- 200 之間的數
 arc4random_uniform(181) + 20;
    ( 最大數-最小數 + 1 )+ 最小數

switch 語句

      switch(普通的表示式)
      {//只要是表示式
                肯定是有一個結果的 1,2,3,4...
    case 1:
        語句1;
        break;
    case 2:
        語句2;
        break;
    case 3:
        語句3;
        break;
    case 4:
        語句4;
        break;
    case 6:
        語句5;
        break;
    default:    預設:就是上面的case都沒有符合
                            那麼執行預設
        語句n;
        break;
    }
    注意:switch 中 有且僅有一個會被執行

case 穿透

 1. 介紹一下 switch-case中的break的用途:
    break的作用就是打斷switch語句
    使switch語句結束(執行到最後的大括號)
 2.如果case中沒有break,那麼switch就不會結束
    會執行下一個case裡的語句
    而不用進行判斷,這個現象就是穿透現象

switch 注意點

  1. switch 和case 後面只能是“整數”或者“字元”
  2. 在case 模組中 可以加大括號
    但是如果第一句是一個定義變數的語句 必須加大括號
  3. case語句中可以是一句也可以是多句 甚至可以沒有語句
  4. case 後面不能是變數 只能是常量中的“整數”和“字元”
  5. case 後面的額值不能相同