3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
能夠互動以後,你會不會希望程式在不同時候能夠做不同的事情呢?這時候就要用到選擇結構;選擇結構是什麼?講白話一點,就是 if 啦! if 的用法就是,如果達到某種條件,就做這件事情;反之,就做另外一件事情。不過,為了描述達到某種條件,我們必須先學會關係運算子。 關係運算子 關係運算子是什麼呢?別看它名字很困難一樣,其實關係運算子就是數學上數字的比較,有大於(>)、小於(<)、大於等於(>=)、小於等於(<=)、等於(==)、及不等於(!=)。 在第二章的時候提過:數學上的 = 和 C 語言裡面的 =,意思不太一樣。數學上的 = 是指等號左右兩邊的值相等;但在 C 語言(及絕大部分程式語言裡面),= 的意思是把等號右邊的值存放(assign)到等號左邊的變數裡,有←的味道存在。 而如果要比較等號兩邊是不是相等,用的是 ==,很重要!**if 裡面幾乎只會用到 ==!**如果你寫 = 不會出錯,但意思不一樣。 邏輯運算子 邏輯運算子其實也不是太難的東西,就是且(AND)、或(OR)和非(NOT)而已。若要在同時達到條件 a 和條件 b 才做某件事,可以使用 if (a && b);若要達到條件 a 或 條件 b 就做某件事,可以使用 if (a || b)。注意:關係運算子和等於(==)一樣,且(&&)與或(||) 都必須重複。 而非則是用 ! 來表達,例如當沒有達成 a 的時候做某件事可以寫成 if(!a)。 選擇結構:if 下面這段程式碼可以判斷輸入的整數是否大於 5: #include int main(){ int a; scanf("%d", &a); if(a>5){ printf("%d 大於 5\n", a); }else{ printf("%d 沒有大於 5\n", a); } return 0; } 把條件放在小括號裡面,然後用大括號開啟一個新的區段,並把達成條件要做的事情(敘述)放在該區段裡面;也可以使用 else,指定沒有達成條件才做的事情。 然而不使用 else 也是可以的: #include int main(){ int a; scanf("%d", &a); if(a>5){ printf("a>5才會輸出這行"); } printf("不管怎樣都會輸出這行\n"); return 0; } 也可以在使用 else if,例如經典的是否為閏年題目: #include int main(){ int y=0; printf("請輸入年份:"); scanf("%d", &y); if(y@00==0){ printf("%d 年不是閏年\n", y); }else if(y0==0 && y@0!=0){ printf("%d 年不是閏年\n", y); }else if(y%4==0){ printf("%d 年是閏年\n", y); }else{ printf("%d 年不是閏年\n", y); } return 0; } if 裡面也可以再包 if (所謂的巢狀 if): #include int main(){ int a=0; scanf("%d", &a); if(a%7==0 && a%3==0){ printf("%d 是 21 的倍數\n", a); }else{ if(a%7==0){ printf("%d 是 7 的倍數\n", a); }else if(a%3==0){ printf("%d 是 3 的倍數\n", a); }else{ printf("%d 不是 3 或 7 的倍數\n", a); } } return 0; } if 的用法大概是這樣,如果把多個 if 拿來做搭配,就能夠做出決策樹的效果。基本上選擇結構學到這裡就可以了。但如果你嫌 if 很麻煩的話,可以試著學學看 switch 結構。 我要學會 C 語言 目錄 我要學會 C 語言(一):Hello, World! 我要學會 C 語言(二):有小數點的數不是整數之資料型態 我要學會 C 語言(三):加加減減乘除的變數運算 我要學會 C 語言(四):輸入與輸出好好玩 我要學會 C 語言(五):如果這樣會怎樣之選擇結構 我要學會 C 語言(六):繞啊繞轉啊轉的迴圈結構 我要學會 C 語言(七):寫一遍就能用好幾遍好方便的函式

本文由noobtw提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦