C 運算子,分支

2021-06-22 05:23:08 字數 4343 閱讀 5419

// 

1.定義變數儲存使用者輸入的整數

inttime;

// 2.

接收使用者輸入的整數

scanf

("%d"

, &time);

// 3.拿到秒數換算成多少分多少秒

intminu = time /60;

//分鐘數

intsec = time %60;

//秒數

// 4.輸出到螢幕上

printf

("%d分%d

秒\n"

,minu, sec);

intresult =1+

2+3+

4;// 注意點;算術運算子

,運算方向是從左往右

//   

有優先順序的問題,

()優先順序最高

單目運算子

: !條件

雙目運算子

: 條件

a&&條件

b三目運算子格式:條件

a?結果

1:結果

2command + shift + n新建工程快捷鍵

//   

求三個數的最大值

inta =

10, b =

20, c =30;

//  

1.求前兩個數的最大值

inttemp = a > b ? a : b;

//  

2.把兩個數中的較大值跟最後乙個值進行比較

intmax = temp > c ? temp : c;

//   

int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;

printf

("max = %d\n"

, max);

一.基本形式

1.if(條件表示式

)//

特點:只有條件滿足,才會執行大括號裡的**

()可看成乙個井蓋

2.if(條件表示式

)else

特點:當條件滿足就執行

if後面大括號裡的內容,如果不成立,就執行

else

後面大括號裡的內容

// 就像上廁所,只有男女兩種情況,總會執行乙個

3.if(條件表示式

1)else if(條件表示式

2)else if(條件表示式

3)......

else

特點:1.

無論寫多少種條件,最後只會執行乙個大括號裡的內容

2.如果執行了某乙個

if elseif

大括號裡的內容,就說明前面的條件都不成立

4.if(條件表示式)語句

1;特點:當條件成立,就會執行

if後面的

「第一條語句

」當條件不成立,

if後面的第一條語句不會執行

二.注意點

//1.

任何數值都有真假性

//   

if (-100) else

//   

// 2.判斷乙個變數等於或者不等於乙個常量的時候,把常量寫在前面

inta =10;

if(0==a) else

// 3.直接加個

;表示乙個空語句

//   

if(1);

//   

// 4.變數的作用域問題

//   

if (1)

//   

printf("a = %d\n", a);

// 5.作用域混亂

如果使用

a的值,應該把列印函式放到

{}裡面去

//   

if(1)

//       

int a = 10;

//   

printf("a = %d\n", a);

// 6.if巢狀,if和

else

是乙個整體,

else

會匹配離他最近的

if//   

if(0)

//   

if(1)

//   

printf("a\n");

//   

else

//   

printf("b\n");

//   

else

//   

if(0)

//   

printf("c\n");

//   

else

//   

printf("d\n");

//   

if (1) else

1.    switch概念

if(條件表示式

)switch(表示式

)1.break的作用,是結束

switch

語句2.switch裡面的

case

只要匹配一次,其他的就失效了.包括

defulat

3.switch遇到了

break或者}

就結束了

4.預設情況下,

default

後面的break

可以省略

// 注意點:

1.case

後面的值不能放小數

,可以放整數和字元

//   2.case後面的值不能重複

//   3.case後面還可以放返回值為整數的表示式

//   4.case後面不能放變數

//   default可以放在

switch

的任意地方,但是無論放在**,都會先判斷其他的

case

,只有所有的

case

都不滿足條件,才會執行

default

//   當

de****t

放在其他地方的時候,

break

不能省略

//   default可以省略

*/2.if和switch對比

//  1.提示使用者輸入學生分數

printf("

請輸入乙個0~

100之間的分數

\n");

//   

2.定義變數儲存使用者輸入的分數

intscore = -1;

//   

3.接收使用者輸入

scanf

("%d"

, &score);

//   

4.判斷使用者輸入的分數,輸出對應的等級

/*if (score >= 90 && score <= 100) else if(score >= 80 && score <= 89)else if(score >= 70 && score <= 79)else if(score >= 60 && score <= 69)else if (score >= 0 && score <= 59)else

*/// 

90 ~ 100 a 100/10 = 10 99/10 = 9

// 80 ~ 89 b

// 70 ~ 79 c

// 60 ~ 69 d

//  

0 ~ 59 e

switch

(score/

10)

case9:

printf

("a\n"

);break

;case8:

printf

("b\n"

);break

;case7:

printf

("c\n"

);break

;case6:

printf

("d\n"

);break

;case5:

case4:

case3:

case2:

case1:

case0:

printf

("e\n"

);break

;default

:printf("

少喝點三鹿

\n");

break;}

// if switch使用

// 

但凡switch

能解決的問題,

if全部能解決

// 

但是if

能解決的問題,

switch

不一定能解決

// 

當遇到乙個區間判斷的時候,用

if// 

當對固定不多的幾個值進行判斷的時候,用

switch

,效能稍微高一些

運算子, 分支結構

1,運算子 1.1 算數運算子開發中使用的算數運算子 取餘 例如 5 2 2.1 5 2 1 算術運算子演示 class demo11.2 增強版運算子 案例 int num1 10 int num2 20 num1 num1 num2 num1 num2 優勢 1.減少變數書寫,避免錯誤!2.帶有...

C 運算子過載賦值運算子

自定義類的賦值運算子過載函式的作用與內建賦值運算子的作用類似,但是要要注意的是,它與拷貝建構函式與析構函式一樣,要注意深拷貝淺拷貝的問題,在沒有深拷貝淺拷貝的情況下,如果沒有指定預設的賦值運算子過載函式,那麼系統將會自動提供乙個賦值運算子過載函式。賦值運算子過載函式的定義與其它運算子過載函式的定義是...

C 運算子過載轉換運算子

為什麼需要轉換運算子?大家知道對於內建型別的資料我們可以通過強制轉換符的使用來轉換資料,例如 int 2.1f 自定義類也是型別,那麼自定義類的物件在很多情況下也需要支援此操作,c 提供了轉換運算子過載函式 它使得自定義類物件的強轉換成為可能。轉換運算子的生命方式比較特別,方法如下 operator...