hi!我是漁火。今天開始跟我學(xué),從零開始學(xué)C語(yǔ)言(一)
讓我們先來(lái)了解一下 C 語(yǔ)言。C 語(yǔ)言是一種用途廣泛、功能強(qiáng)大、使用靈活的高級(jí)語(yǔ)言,使用 C 語(yǔ)言既可以開發(fā)應(yīng)用,又可以開發(fā)系統(tǒng)軟件。C 語(yǔ)言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C 語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言。接下來(lái),讓我們看一段基礎(chǔ)的代碼。
【1.1】
#include int main() { int a,b,c; int max(int,int); printf("請(qǐng)輸入第一個(gè)整數(shù):"); scanf("%d",&a); printf("請(qǐng)輸入第二個(gè)整數(shù):"); scanf("%d",&b); c=max(a,b); printf("整數(shù)%d和%d的最大值是:%d ",a,b,c); return 0; } int max(int x,int y) { int z; if(x>y) z=x; else z=y; return z; }
以下是運(yùn)行結(jié)果:
小白提示:
(1)從上面的程序可以看出。C 語(yǔ)言是由函數(shù)組成的。本程序涉及4個(gè)函數(shù):main()、max()、scanf()和printf()。其中main()函數(shù)是程序的主函數(shù),max() 是程序中定義的函數(shù)。其作用是求兩個(gè)數(shù)中的最大數(shù),scanf() 和printf() 是系統(tǒng)事先設(shè)計(jì)好的函數(shù),分別用于輸入和輸出。
(2)所有的 C 語(yǔ)言有且只有一個(gè) main() 函數(shù)。C 語(yǔ)言總是從 main() 函數(shù)的第一條語(yǔ)句開始運(yùn)行,當(dāng)main() 函數(shù)結(jié)束時(shí),程序也就結(jié)束了。
代碼分析:
1、本程序運(yùn)行時(shí),首先從調(diào)用 printf() 函數(shù)開始,輸出第一個(gè)提示。
2、然后調(diào)用 scanf() 函數(shù)從鍵盤獲得一個(gè)值,并賦給變量a。
3、接著調(diào)用第二個(gè) printf() 函數(shù)輸出第二個(gè)提示。
4、再調(diào)用第二個(gè)scanf()函數(shù)從鍵盤獲得一個(gè)值,并賦給b。
5、求兩個(gè)數(shù)的最大值是由max()函數(shù)完成的,所以在程序執(zhí)行到c=max(a,b)時(shí),會(huì)首先調(diào)用max()函數(shù),調(diào)用時(shí)將實(shí)際參數(shù)a和b的值分別傳遞給max()函數(shù)中的形式參數(shù)x和。
6、然后開始執(zhí)行函數(shù)max()中的語(yǔ)句;用if的語(yǔ)句判斷并得到最大值,在執(zhí)行到“return z;”時(shí),函數(shù)結(jié)束運(yùn)行并把z的值返回。
7、程序運(yùn)行回到main()函數(shù)調(diào)用的地方(c=max(a,b)),變量c得到最大值。
8、最后再次調(diào)用printf()函數(shù)輸出最大值,輸出格式中的每個(gè)%d對(duì)應(yīng)輸出一個(gè)十進(jìn)制整型數(shù),第一個(gè)%d對(duì)應(yīng)a,第二個(gè)%d對(duì)應(yīng)b,第三個(gè)%d對(duì)應(yīng)c。
我們需要簡(jiǎn)單的了解一些概念,比如程序、程序設(shè)計(jì)語(yǔ)言、程序的算法表示等等。
程序是為實(shí)現(xiàn)特定目標(biāo)或解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言(程序設(shè)計(jì)語(yǔ)言)編寫的一系列語(yǔ)句和指令,計(jì)算機(jī)能夠嚴(yán)格按照這些指令去做。程序的執(zhí)行過(guò)程實(shí)際上是對(duì)程序所表達(dá)的數(shù)據(jù)處理的過(guò)程。程序具有以下特點(diǎn):1、完成某一特定的任務(wù);2、使用某種程序設(shè)計(jì)描述如何完成該任務(wù);3、存儲(chǔ)在計(jì)算機(jī)中,并且被運(yùn)行后才能起作用。
計(jì)算機(jī)語(yǔ)言的發(fā)展大致經(jīng)歷了幾個(gè)階段:1、機(jī)器語(yǔ)言。2、匯編語(yǔ)言。3、高級(jí)語(yǔ)言。按照語(yǔ)言的特性,高級(jí)語(yǔ)言又經(jīng)歷了不同的發(fā)展階段:1、非結(jié)構(gòu)性的語(yǔ)言。2、結(jié)構(gòu)化的語(yǔ)言。3、面向?qū)ο蟮恼Z(yǔ)言。程序設(shè)計(jì)語(yǔ)言是與人與計(jì)算機(jī)進(jìn)行交流的橋梁,人要讓計(jì)算機(jī)按照自己的意愿處理數(shù)據(jù),就必須用程序設(shè)計(jì)語(yǔ)言表達(dá)所要處理的數(shù)據(jù)以及控制數(shù)據(jù)處理的流程。因此程序設(shè)計(jì)語(yǔ)言必須有數(shù)據(jù)表達(dá)與數(shù)據(jù)處理的能力。任何程序的基本結(jié)構(gòu)都可以通過(guò)基本的控制結(jié)構(gòu)進(jìn)行組合。分別是順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。這三種結(jié)構(gòu)的共同特點(diǎn)是:1、只有單一的入口和單一的出口;2、結(jié)構(gòu)中的每個(gè)部分都有被執(zhí)行的可能;3、結(jié)構(gòu)內(nèi)不應(yīng)出現(xiàn)永不終止的死循環(huán)。
通俗的講,算法就是解決問(wèn)題的方法與步驟。盡管針對(duì)不同問(wèn)題所設(shè)計(jì)的算法千變?nèi)f化,簡(jiǎn)繁各異,但作為算法,都應(yīng)具備以下幾個(gè)特征:(1)確定性;(2)有窮性;(3)可行性;(4)有零個(gè)或多個(gè)輸入;(5)有一個(gè)或多個(gè)輸出。
下面對(duì)算法的表示方式進(jìn)行簡(jiǎn)單的敘述
1、用文字描述算法
2、用流程圖描述算法
3、偽代碼表示
4、程序代碼表示
補(bǔ)充:偽代碼是指一種近似高級(jí)語(yǔ)言但又不受語(yǔ)法約束的語(yǔ)言描述方式,它不能在計(jì)算機(jī)中運(yùn)行,但可以來(lái)描述算法。舉例:
題目:隨機(jī)放入10個(gè)兩位正整數(shù),找出其中最大的數(shù)。
{ 輸入第一個(gè)數(shù)賦給max; for(int i=1;i<=9;i++); { 輸入第i+1個(gè)數(shù)賦給x; if(x>max) max=x; } 輸出max; }
最后,我們?cè)倏匆粋€(gè)簡(jiǎn)單的小問(wèn)題,編寫一段代碼。
題目:交換兩個(gè)變量a和b的值。
#include int main() { int a,b,t; a=3; b=5; a=b; b=t; printf("%d %d",a,b); return 0; }
運(yùn)行結(jié)果如下:
如果還有什么疑問(wèn)或建議,請(qǐng)?jiān)谙旅娴脑u(píng)論部分給我們留言,歡迎分享Linux迷 給你們的朋友。
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7484瀏覽量
163772 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136711 -
程序
+關(guān)注
關(guān)注
117文章
3785瀏覽量
81009 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4329瀏覽量
62576 -
代碼
+關(guān)注
關(guān)注
30文章
4780瀏覽量
68539
原文標(biāo)題:跟我從零開始學(xué) C 語(yǔ)言系列(一)
文章出處:【微信號(hào):Linux迷,微信公眾號(hào):Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論