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)丧失、游戲輔助等