C語言學(xué)習(xí)文檔_第1頁
C語言學(xué)習(xí)文檔_第2頁
C語言學(xué)習(xí)文檔_第3頁
C語言學(xué)習(xí)文檔_第4頁
C語言學(xué)習(xí)文檔_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言西安郵電學(xué)院計算機學(xué)院西安郵電學(xué)院計算機學(xué)院王小銀王小銀第一章第一章 C C語言概述語言概述 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述2n發(fā)展過程發(fā)展過程 :Bell實驗室,實驗室,1970年年 在在PDP機器上用其編寫機器上用其編寫UNIX系統(tǒng)系統(tǒng):劍橋大學(xué),:劍橋大學(xué),1963年年:劍橋大學(xué),:劍橋大學(xué),1967年年:Bell實驗室,實驗室,19721973年用其改寫年用其改寫 UNIX系統(tǒng)系統(tǒng)經(jīng)簡化經(jīng)簡化進一步簡化進一步簡化保持精練、接近硬件的優(yōu)點,保持精練、接近硬件的優(yōu)點,克服數(shù)據(jù)類型過少的不足克服數(shù)據(jù)類型過少的

2、不足 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述3nC標準標準與版本與版本1983年:年:ANSI C1987年:年:87 ANSI C:1990年:國際標準的年:國際標準的ANSI Cn 從軟件類型來看從軟件類型來看p面向過程:面向過程:常用常用Turbo C(PC機版機版) Visual C (可視化可視化)p面向?qū)ο螅好嫦驅(qū)ο螅撼S贸S肅+/Visual C (可視化可視化)p最新:最新:為為Windows和和Web應(yīng)用程序提供動態(tài)應(yīng)用程序提供動態(tài)開發(fā)環(huán)境的開發(fā)環(huán)境的Visual C+.NET(C#) 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章

3、 C C語言概述語言概述4n學(xué)習(xí)編程好比學(xué)習(xí)寫作學(xué)習(xí)編程好比學(xué)習(xí)寫作學(xué)語基:學(xué)語基:學(xué)習(xí)數(shù)據(jù)類型、控制結(jié)構(gòu)、語法規(guī)則等學(xué)習(xí)數(shù)據(jù)類型、控制結(jié)構(gòu)、語法規(guī)則等寫文章:寫文章:掌握程序分析、算法與編程等掌握程序分析、算法與編程等n循次漸進循次漸進 閱讀閱讀/分析程序分析程序摹仿編程摹仿編程掌握常見程序模塊掌握常見程序模塊簡單程序簡單程序復(fù)雜編程復(fù)雜編程n多看參考書和現(xiàn)有程序多看參考書和現(xiàn)有程序n重視上機,切實掌握程序調(diào)試技術(shù)重視上機,切實掌握程序調(diào)試技術(shù) 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述51.語言簡潔,表達能力強,易于理解語言簡潔,表達能力強,易于理解只有只

4、有32個關(guān)鍵字,個關(guān)鍵字,9種控制語句種控制語句數(shù)據(jù)構(gòu)造能力強數(shù)據(jù)構(gòu)造能力強運算符和數(shù)據(jù)結(jié)構(gòu)豐富運算符和數(shù)據(jù)結(jié)構(gòu)豐富程序書寫格式自由程序書寫格式自由2.程序設(shè)計結(jié)構(gòu)化、模塊化程序設(shè)計結(jié)構(gòu)化、模塊化3.可直接訪問物理地址,實現(xiàn)對硬件和低可直接訪問物理地址,實現(xiàn)對硬件和低層系統(tǒng)軟件的訪問層系統(tǒng)軟件的訪問4.語言生成的代碼質(zhì)量高語言生成的代碼質(zhì)量高5.可移植性好可移植性好增加學(xué)習(xí)難度增加學(xué)習(xí)難度 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述6例例1.1 第一個程序第一個程序 Hello,World!/* The first C Program*/#include ma

5、in() printf(“Hello,World!”);注釋注釋編譯預(yù)處理編譯預(yù)處理函數(shù)函數(shù)語句語句輸出:輸出:Hello,World!printf(“Hello,World!n”); 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述7用戶用戶C源程序源程序.c文件文件目標程序目標程序.OBJ文件文件可執(zhí)行程序可執(zhí)行程序.exe文件文件結(jié)結(jié)果果編編輯輯編編譯譯連連接接運運行行編譯編譯出錯出錯連接連接出錯出錯運行運行出錯出錯對源文件進行語法和對源文件進行語法和邏輯結(jié)構(gòu)檢查邏輯結(jié)構(gòu)檢查將目標程序、庫函數(shù)或其將目標程序、庫函數(shù)或其他目標程序連接成一個可他目標程序連接成一個

6、可執(zhí)行文件執(zhí)行文件 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述8n名詞:名詞: 【源程序【源程序】用匯編語言或高級語言編寫的程用匯編語言或高級語言編寫的程序序 【目標程序【目標程序】經(jīng)翻譯程序翻譯生成的程序經(jīng)翻譯程序翻譯生成的程序 【可執(zhí)行程序【可執(zhí)行程序】經(jīng)連接程序處理過的程序經(jīng)連接程序處理過的程序 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述9/* Calculate the sum of two integers*/#include main( ) int a, b, sum; printf(“Please input t

7、wo intergers:”); scanf(“%d%d”, &a, &b); sum=a+b; printf(“sum=%d”, sum);輸入:輸入:5 105 10輸出:輸出:sum=15sum=15n例例1.2 求兩個整數(shù)之和求兩個整數(shù)之和 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述10n例例1.3 求兩個求兩個整數(shù)整數(shù)的最大值的最大值/* Get the max-value of two integers*/#include int GetMax(int a, int b) int max; if(a=b) max=a; else m

8、ax=b; return max;main( ) int a, b, max; printf(“Please input two intergers:”); scanf(“%d%d”, &a, &b); max=GetMax(a, b); printf(“max=%d”, max); 輸入:輸入:5 105 10輸出:輸出:max=10max=10函數(shù)函數(shù)語句語句預(yù)處理命令預(yù)處理命令注釋注釋 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述11int GetMax(int a, int b) int max; if(a=b) max=a; else

9、max=b; return max;函數(shù)類型函數(shù)類型 函數(shù)名函數(shù)名(形參類型說明表形參類型說明表) 說明語句說明語句;執(zhí)行語句執(zhí)行語句; 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述12n例例 求兩個求兩個實數(shù)實數(shù)的最大值的最大值#include float GetMax(float a, float b) float max; if(a=b) max=a; else max=b; return max;main( ) float a, b, max; printf(Please input two float number:); scanf(%f%f, &am

10、p;a, &b); max=GetMax(a, b); printf(max=%f, max); 輸入:輸入:5.6 10.85.6 10.8輸出:輸出:max=10.8max=10.8 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述13n格式特點格式特點習(xí)慣用習(xí)慣用小寫小寫字母,大小寫敏感字母,大小寫敏感不使用行號,不使用行號,無程序行無程序行概念概念可使用空行和空格可使用空行和空格常用常用鋸齒形鋸齒形書寫格式書寫格式main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+)

11、 for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);優(yōu)秀程序員的素質(zhì)之一優(yōu)秀程序員的素質(zhì)之一:使用使用TAB縮進縮進 對齊對齊有足夠的注釋有足夠的注釋有合適的空行有合適的空行 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述14n函數(shù)與主函數(shù)函數(shù)與主函數(shù)1.程序由一個或多個函數(shù)組成程序由一個或多個函數(shù)組成2.必須必須有且只能有有且只能有一個主函數(shù)一個主函數(shù)main()3.程序執(zhí)行從程序執(zhí)行從main開始,在開始,在main中結(jié)束,其中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。它函數(shù)通過嵌套調(diào)用得以執(zhí)行。n程序語句程序語句C程序由語句

12、組成程序由語句組成,用用“;”作為語句終止作為語句終止符符注釋注釋/* */為注釋,不能嵌套,不產(chǎn)生編譯代碼為注釋,不能嵌套,不產(chǎn)生編譯代碼例:例: /*This is the main /* of example1.1*/ */ n編譯預(yù)處理命令編譯預(yù)處理命令例例#include stdio.h#include 非法非法 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述15n 字符集字符集 字符是可以區(qū)分的最小符號,是構(gòu)成程序字符是可以區(qū)分的最小符號,是構(gòu)成程序的基礎(chǔ)。包括的基礎(chǔ)。包括三方面三方面:1. 英文字母:英文字母:az和和AZ;2. 數(shù)字:數(shù)字:09;3

13、. 特殊字符:特殊字符:空格空格 ! 等等由字符集可構(gòu)成進一步的語法成分,例:由字符集可構(gòu)成進一步的語法成分,例:標識符、關(guān)鍵字標識符、關(guān)鍵字和和特殊運算符特殊運算符等。等。 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述16n 標識符標識符 標識符在程序中用來標識各種程序成分,標識符在程序中用來標識各種程序成分,命名程序中的一些實體。包括命名程序中的一些實體。包括三方面三方面:1. 字母;字母; 2. 數(shù)字;數(shù)字; 3. 下劃線:下劃線:“_”注意注意:1. 開頭:開頭:必須是必須是英文字母英文字母或或下劃線;下劃線;2. 大小寫敏感:大小寫敏感:大小寫字母是大

14、小寫字母是不同不同的字符;的字符;3. 長度:長度:一般系統(tǒng)規(guī)定標識符的長度一般系統(tǒng)規(guī)定標識符的長度=8。4. 標識符的選擇要有意義標識符的選擇要有意義: :例如,例如,name, city, name, city, data, sum, averagedata, sum, average等等 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述171 1系統(tǒng)定義標識符系統(tǒng)定義標識符具有固定名字和特定含義的標識符具有固定名字和特定含義的標識符分為分為關(guān)鍵字關(guān)鍵字和和預(yù)定義標識符預(yù)定義標識符 2 2用戶定義標識符用戶定義標識符 用于對用戶使用的變量、數(shù)組、函數(shù)用于對用戶使

15、用的變量、數(shù)組、函數(shù)等操作對象進行命名等操作對象進行命名 n標識符的分類標識符的分類 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述1832個關(guān)鍵字:個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義由系統(tǒng)定義,不能重作其它定義)n數(shù)據(jù)類型:數(shù)據(jù)類型: int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile n存儲類別:存儲類別:auto、static、register、extern n語句命令字:語句命令字:if、else、switch、c

16、ase、default、for、do while、goto、 break、continue、returnn運算符:運算符:sizeof 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述199種控制語句:種控制語句:1條件判斷語句條件判斷語句 if ( ) else switch ( ) 2循環(huán)控制語句循環(huán)控制語句 for ( ) while ( ) do while ( )3轉(zhuǎn)移語句轉(zhuǎn)移語句 break、continue、goto return 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述20n系統(tǒng)標準庫函數(shù)系統(tǒng)標準庫函數(shù)scanf、

17、printf、putchar、getchar、strcpy、strcmp、sqrt等等n編譯預(yù)備處理命令編譯預(yù)備處理命令include、define等等 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述21對對用戶定義用戶定義標識符的規(guī)定標識符的規(guī)定 不能含有除不能含有除字母字母、數(shù)字數(shù)字和和下劃線下劃線“_”外的外的其他字符其他字符 必須以必須以字母字母或或下劃線下劃線“_”開頭開頭 標識符中標識符中大小寫字母含義不同大小寫字母含義不同 長度:長度:一般系統(tǒng)規(guī)定標識符的長度一般系統(tǒng)規(guī)定標識符的長度=8。 標識符的選擇要有意義標識符的選擇要有意義:例如,例如,nam

18、e, city, data, sum, average等等 不能使用關(guān)鍵字不能使用關(guān)鍵字 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述222. 關(guān)鍵字必須用小寫字母關(guān)鍵字必須用小寫字母。不允許使用關(guān)鍵字。不允許使用關(guān)鍵字為變量、數(shù)組、函數(shù)等操作對象命名為變量、數(shù)組、函數(shù)等操作對象命名3. 預(yù)定義標識符預(yù)定義標識符允許用戶對它們重新定義,當(dāng)允許用戶對它們重新定義,當(dāng)重新定義后將改變它們原來的含義重新定義后將改變它們原來的含義 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述23算術(shù)運算符:算術(shù)運算符:+ - * / % + -關(guān)系運算符

19、:關(guān)系運算符: = !=邏輯運算符:邏輯運算符:! & |位運算符位運算符 : | &賦值運算符:賦值運算符:= 及其擴展及其擴展條件運算符:條件運算符:? :逗號運算符:逗號運算符:,指針運算符:指針運算符:* &求字節(jié)數(shù)求字節(jié)數(shù) :sizeof強制類型轉(zhuǎn)換:強制類型轉(zhuǎn)換:(類型)類型)分量運算符:分量運算符:. -下標運算符:下標運算符:其它其它 :( ) - 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述24記憶記憶C語法規(guī)則,語法規(guī)則,C關(guān)鍵字關(guān)鍵字記憶各種數(shù)據(jù)類型名稱及取值范圍記憶各種數(shù)據(jù)類型名稱及取值范圍記憶變量、函數(shù)等命名規(guī)則

20、記憶變量、函數(shù)等命名規(guī)則 記憶常用的庫函數(shù)(名稱、功能、參數(shù)含義及記憶常用的庫函數(shù)(名稱、功能、參數(shù)含義及返回值含義)返回值含義)養(yǎng)成良好的編程風(fēng)格:層次縮進顯示程序流程養(yǎng)成良好的編程風(fēng)格:層次縮進顯示程序流程獨立、認真完成作業(yè)和上機任務(wù)獨立、認真完成作業(yè)和上機任務(wù)大量的上機編大量的上機編程練習(xí)程練習(xí) 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述25#define PI 3.14159 #include main( ) float r,s; scanf(“%f ”,&r); s=PI * r * r; printf (“半徑半徑R=%f 時,面積時,面積

21、S=%f n”,r,s);/*編譯預(yù)處理編譯預(yù)處理-宏替換宏替換*/*編譯預(yù)處理編譯預(yù)處理-文件包含文件包含*/*主函數(shù)主函數(shù)*/*定義變量定義變量r、s類型為類型為 單精度實型單精度實型*/ /*變量變量r賦值賦值*/*計算圓面積計算圓面積s*/*輸出結(jié)果輸出結(jié)果*/ 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述26#define PI 3.14159 #include main( ) float r,s; scanf(“%f ”,&r); s=PI * r * r; printf (“R=%f , S=%f n”,r,s);程序的不足:程序的不足:n

22、輸入變量時候沒有提示語句;輸入變量時候沒有提示語句;n如果半徑如果半徑r為負值,也會有正常的為負值,也會有正常的s值輸出。值輸出。n輸出結(jié)果的小數(shù)位數(shù)為輸出結(jié)果的小數(shù)位數(shù)為6位,與習(xí)慣不符位,與習(xí)慣不符。 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述27#define PI 3.14159 #include main( ) float r,s; printf(“Please input the r: ”); scanf(“%f ”,&r); if (r0) printf(“the radius is negative!”) ; else s=PI* r

23、*r; printf(“R=%.3f,S=%.3f n”,r,s); 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述28#include main()int a,b,c;float aver;printf(please input the a,b,c: );scanf(%d%d%d,&a,&b,&c);aver=(a+b+c)/3.0;printf(the average is %f.n,aver); 計算機導(dǎo)論與計算機導(dǎo)論與C C語言語言 第一章第一章 C C語言概述語言概述29#include float average(int x,int y,int z)float av;av=(x+y+z)/3.0;return av;main()int a,b,c;float ave

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論