C語言選擇結構精講篇,零基礎學習程式設計,新手福利,

weixin_34292287發表於2018-03-01

C語言是程式導向的,而C++是物件導向的

C是一個結構化語言,它的重點在於演算法和資料結構。C程式的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。

C++,首要考慮的是如何構造一個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取物件的狀態資訊得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。

C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是演算法的概念。那麼是不是C就不重要了,錯!演算法是程式設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。

9850446-71ea803f131a7ca1.jpg

閱讀須知:

9850446-09fe80de5d009ad8.jpg

小編推薦一個學C語言/C++的學習裙【 二六三,六八八,二七六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

1.如何比較

生活中我們常常會做比較,通過比較我們知道6大於5,那麼C語言中又是怎麼來比較的呢?

C語言是通過>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)、!=(不等於),這些運算子來進行比較的,比如:

9850446-a232933d3903f0d2

像上面的表示式叫做關係表示式,關係表示式的值為"真"或者"假",像上面a < b就為真,a > b就為假。

注意當比較兩個變數是否相等時是使用==來比較的,是兩個等號連著用哦,如果只是一個等號=這是賦值的意思,比如a = 4是把4賦值給a這個變數,而不是a是不是等於4的意思。

2.如何判斷真假

C語言除了會做比較運算外還有一種新的運算叫做邏輯運算,那什麼叫邏輯運算呢?就是用"真"和"假"這兩個值來做運算。邏輯運算的值也是"真"和"假",用"0"表示假,用非0數字表示"真",一般使用"1"表示"真"。

首先我們先來介紹三種符號:&&與運算,規則:"真&&真"為真,"真&&假"為假,"假&&真"為假,"假&&假"為假||或運算,規則:"真||真"為真,"真||假"為真,"假||真"為真,"假||假"為假 ! 非運算,規則:"!真"為假,"!假"為真

舉個例子:

9850446-8dace6a6bafbb5ff

(a < b) && (b < c) 為真 (a < b) || (a < c) 為真 a < b 為真, !(a < b) 為假

3.判斷是正數還是負數

一個非0整數不是正數就是負數,如果我們想判斷一個數字是不是負數,用C語言該怎麼解決呢?

我們知道小於0的數就是負數,現在用C語言來判斷一個數是不是負數,如果是就讓它自己說出來"我是負數":

9850446-c17d4614898f9ab6

這裡出現一個新的用法--if語句,它就是C語言中的判斷語句。

if語句括號中的句子就是條件,條件可以是關係表示式也可以是邏輯表示式,比如a < 0就是一個條件。 if語句後面都會跟著一對花括號{},在這個花括號的裡面的內容就是滿足if條件後的一些處理,在這裡可以寫任意的C語言的語句。

當if語句中只有一個C語言的語句時可以不適用花括號,所以

if (a < 0)

printf("我是負數!");

也是合法的,只不過為了程式碼的可讀性考慮,一般都會加上花括號。

4.如何判斷是奇數還是偶數

一個整數不是奇數就是偶數,現實中我們判斷偶數的依據是看這個數是否能被2整除,也就是看看這個數字除以2之後的餘數是否為0,如果不為0那肯定就是奇數。現在我們把這個想法轉化為C的語句吧!

在C語言中求餘數是用%這個符號的,運用上個練習中我們學習的if()語句來試試吧。

9850446-cf6a8e3b64be73e8

嘿嘿,這裡我們又使用了一個新的語句else,其實else就是它英文字面的意思,就是除了符合if條件之外的它都接收。比如上面的例子中如果不是偶數那剩下的肯定是奇數。

else的使用方法和if類似,也要在後面加上{}這對花括號,所有符合else條件的處理都要包含在花括號中。

5.分數等級查詢小系統

我們知道老師一般會把分數進行分級,學生可以根據自己的考試分數來查詢自己的成績是哪個等級:

80 < score <= 100 為優秀 60 <= score <= 80 為良好 score < 60 為不及格

既然我們知道了分等級的規則就幫著老師來做一個分數等級查詢的小系統吧。

優秀等級對應的C語言的語句是:

if (score <= 100 && score >80)

{

printf("你的成績是優秀! ");

}

良好等級對應的C語言的語句是:

if(score <= 80 && score >=60)

{

printf("你的成績是良好! ");

}

不及格等級對應的C語言的語句是:

if (score < 60)

{

printf("你的成績是不及格! ");

}

上面寫這麼多的if語句是不是有點兒煩,C語言中有一種方法可以把上邊所有的if語句連起來,看清楚哦:

9850446-435d3505cb3127c8

小編推薦一個學C語言/C++的學習裙【 二六三,六八八,二七六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

這個程式碼看起來有點兒長,但是非常好理解。如果不符合第一個條件的分支我就走到else裡面,結果else裡面還有條件判斷,再跟這個條件進行匹配,直到匹配到合適的條件為止。使用這麼一層一層的if和else就叫條件語句的巢狀。使用時一定要注意格式對齊,這樣你的程式碼看起來才清楚。

6.星期查詢小系統

我們已經學習了if和else的巢狀使用,當多層的巢狀使用時出錯的可能性就增加了。C語言中還有一種新的語句能解決這個問題,我一直叫它開關語句:switch,下面我們來講一下怎麼使用switch語句:

switch (weekday)

{

case1:

printf("Today is Monday ");

break;

case2:

printf("Today is Tuesday ");

break;

… …

case7:

printf("Today is Sunday ");

break;

default:

printf("You write number is wrong!");

break;

}

9850446-fec782467f767e2c.jpeg

小編推薦一個學C語言/C++的學習裙【 二六三,六八八,二七六 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!

上面的程式碼就是switch的使用方法,switch後面的括號()裡是一個變數,上面的例子中weekday就是個變數,用來存數字的,我們希望這個數字是1-7之間的整數。

case後面跟著的數字就是用來跟weekday進行匹配的,如果是weekday中存1,就進入case 1中,進行相應的處理,否則就不會進去。

case後面不只能寫數字,也可以是一個字母,但是不能是變數,每個case後面跟的不能重複。

default是用來處理異常的,比如weekday中存的不是1-7的數字而是別的,這時就會進入到default這個語句中進行相應的處理。

每個case後面必須有一個break,是跳出的意思。

7.打賭輸贏機

生活中我們經常會打賭,賭你贏了怎麼樣我贏了怎麼樣,C語言中有一個跟這個非常類似的語句,叫條件運算子:

(表示式 ? 值1 : 值2)

"表示式"就是賭注的內容,值1和值2就是賭贏的獎勵。

y = (x == 2 ? 100 : 50) ;

如果x等於2,那麼y就等於100,如果x不等於2,那麼y就等於50.

以上是基礎篇,更有思維篇,程式設計篇,那麼今天分享就到這裡結束了,謝謝大家

9850446-8529cf3f11f11be7.png
9850446-d04b246a91267ed0.png
9850446-7d44b53dfe9be3de.png

相關文章