C語言編程學(xué)習(xí)闰围,分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的知識總結(jié)

C語言是面向過程的,而C++是面向?qū)ο蟮?/p>

C和C++的區(qū)別:

C是一個結(jié)構(gòu)化語言既峡,它的重點在于算法和數(shù)據(jù)結(jié)構(gòu)羡榴。C程序的設(shè)計首要考慮的是如何通過一個過程,對輸入(或環(huán)境條件)進行運算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)运敢。

C++校仑,首要考慮的是如何構(gòu)造一個對象模型忠售,讓這個模型能夠契合與之對應(yīng)的問題域,這樣就可以通過獲取對象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制迄沫。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣稻扬。之所以說C++比C更先進,是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”羊瘩。

C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣泰佳。之所以說C++比C更先進,是因為“ 設(shè)計這個概念已經(jīng)被融入到C++之中 ”尘吗,而就語言本身而言逝她,在C中更多的是算法的概念。那么是不是C就不重要了睬捶,錯黔宛!算法是程序設(shè)計的基礎(chǔ),好的設(shè)計如果沒有好的算法擒贸,一樣不行臀晃。而且,“C加上好的設(shè)計”也能寫出非常好的東西介劫。

C語言編程學(xué)習(xí)中常用的編程結(jié)構(gòu)有三種(其它編程語言也是如此)徽惋,它們分別是:

順序結(jié)構(gòu):代碼從前往后依次執(zhí)行,沒有任何“拐彎抹角”蜕猫,不跳過任何一條語句寂曹,所有的語句都會被執(zhí)行到。

選擇結(jié)構(gòu):也叫分支結(jié)構(gòu)回右。代碼會被分成多個部分隆圆,程序會根據(jù)特定條件(某個表達式的運算結(jié)果)來判斷到底執(zhí)行哪一部分。

循環(huán)結(jié)構(gòu):程序會重新執(zhí)行同一段代碼翔烁,直到條件不再滿足渺氧,或者遇到強行跳出語句(break 關(guān)鍵字)。

小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 七三零蹬屹,一三零侣背,二二一 】,無論你是大牛還是小白慨默,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)贩耐!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享厦取!

選擇結(jié)構(gòu)

選擇結(jié)構(gòu)(分支結(jié)構(gòu))涉及到的關(guān)鍵字包括 if潮太、else、switch、case铡买、break更鲁,還有一個條件運算符? :(這是C語言中唯一的一個三目運算符)。

其中奇钞,if...else 是最基本的結(jié)構(gòu)澡为,switch...case 和? :都是由 if...else 演化而來,它們都是為了讓程序員書寫更加方便景埃。

你可以只使用 if媒至,也可以 if...else 配對使用。另外要善于使用 switch...case 和? :纠亚,有時候它們看起來更加清爽塘慕。

if...else 可以嵌套使用筋夏,原則上嵌套的層次(深度)沒有限制蒂胞,但是過多的嵌套層次會讓代碼結(jié)構(gòu)混亂。

循環(huán)結(jié)構(gòu)

C語言中常用的循環(huán)結(jié)構(gòu)有 while 循環(huán)和 for 循環(huán)条篷,它們都可以用來處理同一個問題骗随,一般可以互相代替。

除了 while 和 for赴叹,C語言中還有一個 goto 語句鸿染,它也能構(gòu)成循環(huán)結(jié)構(gòu)。不過由于 goto 語句很容易造成代碼混亂乞巧,維護和閱讀困難涨椒,飽受詬病,不被推薦绽媒,而且 goto 循環(huán)完全可以被其他循環(huán)取代蚕冬,所以后來的很多編程語言都取消了 goto 語句,我們也不再講解是辕。

國內(nèi)很多大學(xué)仍然講解 goto 語句囤热,但也僅僅是完成教材所設(shè)定的課程,goto 語句在實際開發(fā)中很難見到获三。

對于 while 和 do-while 循環(huán)旁蔼,循環(huán)體中應(yīng)包括使循環(huán)趨于結(jié)束的語句。

對于 while 和 do-while 循環(huán)疙教,循環(huán)變量的初始化操作應(yīng)該在 while 和 do-while 語句之前完成棺聊,而 for 循環(huán)可以在內(nèi)部實現(xiàn)循環(huán)變量的初始化。

for 循環(huán)是最常用的循環(huán)贞谓,它的功能強大限佩,一般都可以代替其他循環(huán)。

最后還要注意 break 和 continue 關(guān)鍵字用于循環(huán)結(jié)構(gòu)時的區(qū)別:

break 用來跳出所有循環(huán)经宏,循環(huán)語句不再有執(zhí)行的機會犀暑;

continue 用來結(jié)束本次循環(huán)驯击,直接跳到下一次循環(huán),如果循環(huán)條件成立耐亏,還會繼續(xù)循環(huán)徊都。

此外,break 關(guān)鍵字還可以用于跳出 switch...case 語句广辰。所謂“跳出”暇矫,是指一旦遇到 break,就不再執(zhí)行 switch 中的任何語句择吊,包括當前分支中的語句和其他分支中的語句李根;也就是說,整個 switch 執(zhí)行結(jié)束了几睛,接著會執(zhí)行整個 switch 后面的代碼房轿。

循環(huán)嵌套的總結(jié):

在C語言中,if-else所森、while囱持、do-while、for 都可以相互嵌套焕济。所謂嵌套(Nest)纷妆,就是一條語句里面還有另一條語句,例如 for 里面還有 for晴弃,while 里面還有 while掩幢,或者 for 里面有 while,while 里面有 if-else上鞠,這都是允許的际邻。

在C語言中,代碼是順序旗国、同步執(zhí)行的枯怖,當前代碼必須執(zhí)行完畢后才能執(zhí)行后面的代碼。這就意味著能曾,外層 for 每次循環(huán)時度硝,都必須等待內(nèi)層 for 循環(huán)完畢才能進行下次循環(huán)。雖然 i 是變量寿冕,但是對于內(nèi)層 for 來說蕊程,每次循環(huán)時它的值都是固定的。

輸出一個4×4的整數(shù)矩陣驼唱。

#include

int main()

{

int i, j;

for(i=1; i<=4; i++){ //外層for循環(huán)

for(j=1; j<=4; j++){ //內(nèi)層for循環(huán)

printf("%-4d", i*j);

}

printf(" ");

}

return 0;

}

運行結(jié)果:

1 2 3 4

2 4 6 8

3 6 9 12

4 8 12 16

外層 for 第一次循環(huán)時藻茂,i為1,內(nèi)層 for 要輸出四次 1*j 的值,也就是第一行數(shù)據(jù)辨赐;內(nèi)層 for 循環(huán)結(jié)束后執(zhí)行 printf(" ")优俘,輸出換行符;接著執(zhí)行外層 for 的 i++ 語句掀序。此時外層 for 的第一次循環(huán)才算結(jié)束帆焕。

外層 for 第二次循環(huán)時,i為2不恭,內(nèi)層 for 要輸出四次 2*j 的值叶雹,也就是第二行的數(shù)據(jù);接下來執(zhí)行 printf(" ") 和 i++换吧,外層 for 的第二次循環(huán)才算結(jié)束折晦。外層 for 第三次、第四次循環(huán)以此類推沾瓦。

可以看到满着,內(nèi)層 for 每循環(huán)一次輸出一個數(shù)據(jù),而外層 for 每循環(huán)一次輸出一行數(shù)據(jù)暴拄。

小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 七三零漓滔,一三零,二二一 】乖篷,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)透且!裙內(nèi)有開發(fā)工具撕蔼,很多干貨和技術(shù)資料分享!

輸出九九乘法表秽誊。

#include

int main(){

int i, j;

for(i=1; i<=9; i++){ //外層for循環(huán)

for(j=1; j<=i; j++){ //內(nèi)層for循環(huán)

printf("%d*%d=%-2d ", i, j, i*j);

}

printf(" ");

}

return 0;

}

運行結(jié)果:

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9

4*1=4 4*2=8 4*3=12 4*4=16

5*1=5 5*2=10 5*3=15 5*4=20 5*5=25

6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36

7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49

8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64

9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

小編推薦一個學(xué)C語言/C++的學(xué)習(xí)裙【 七三零鲸沮,一三零,二二一 】锅论,無論你是大牛還是小白讼溺,是想轉(zhuǎn)行還是想入行都可以來了解一起進步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具最易,很多干貨和技術(shù)資料分享怒坯!

內(nèi)層 for 每循環(huán)一次輸出一條數(shù)據(jù),外層 for 每循環(huán)一次輸出一行數(shù)據(jù)藻懒。

循環(huán)的嵌套是程序必不可免的剔猿,只有認真仔細區(qū)分,經(jīng)常運用并實踐嬉荆,我們才能從中的到更大的收獲归敬。

才能真的理解C語言編程,從中感受到計算機的魅力!

這些是C/C++能做的

服務(wù)器開發(fā)工程師汪茧、人工智能椅亚、云計算工程師、信息安全(黑客反黑客)舱污、大數(shù)據(jù) 什往、數(shù)據(jù)平臺、嵌入式工程師慌闭、流媒體服務(wù)器别威、數(shù)據(jù)控解、圖像處理驴剔、音頻視頻開發(fā)工程師省古、游戲服務(wù)器、分布式系統(tǒng)丧失、游戲輔助等

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末豺妓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子布讹,更是在濱河造成了極大的恐慌琳拭,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件描验,死亡現(xiàn)場離奇詭異白嘁,居然都是意外死亡,警方通過查閱死者的電腦和手機膘流,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門絮缅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呼股,你說我怎么就攤上這事耕魄。” “怎么了彭谁?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵吸奴,是天一觀的道長。 經(jīng)常有香客問我缠局,道長则奥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任甩鳄,我火速辦了婚禮逞度,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘妙啃。我一直安慰自己档泽,他們只是感情好俊戳,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著馆匿,像睡著了一般抑胎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渐北,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天阿逃,我揣著相機與錄音,去河邊找鬼赃蛛。 笑死恃锉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的呕臂。 我是一名探鬼主播破托,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼歧蒋!你這毒婦竟也來了土砂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤谜洽,失蹤者是張志新(化名)和其女友劉穎萝映,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阐虚,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡序臂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了敌呈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贸宏。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖磕洪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诫龙,我是刑警寧澤析显,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站签赃,受9級特大地震影響谷异,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锦聊,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一歹嘹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧孔庭,春花似錦尺上、人聲如沸材蛛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卑吭。三九已至,卻和暖如春马绝,著一層夾襖步出監(jiān)牢的瞬間豆赏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工富稻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掷邦,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓椭赋,卻偏偏與公主長得像抚岗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子纹份,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容