條件語句 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 注意點
- switch 和case 後面只能是“整數”或者“字符”
- 在case 模塊中 可以加大括號
但是如果第一句是一個定義變量的語句 必須加大括號 - case語句中可以是一句也可以是多句 甚至可以沒有語句
- case 後面不能是變量 只能是常量中的“整數”和“字符”
- case 後面的額值不能相同