版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、C語言程序設計 (第二版)主編 王曙燕,,科學出版社,,第一章 C語言概述,發(fā)展過程,1.1 C語言的發(fā)展和特點,C標準與版本1983年:ANSI C1987年:87 ANSI C:1990年:國際標準的ANSI C,從軟件類型來看面向過程:常用—Turbo C(PC機版) Visual C (可視化)面向對象:常用—C++/Visual C (可視化)最新:為W
2、indows和Web應用程序提供動態(tài)開發(fā)環(huán)境的Visual C++.NET(C#),1.1 C語言的發(fā)展和特點,1.1 C語言的發(fā)展和特點,學習編程好比學習寫作學語基:學習數(shù)據(jù)類型、控制結構、語法規(guī)則等寫文章:掌握程序分析、算法與編程等循次漸進 閱讀/分析程序→摹仿編程→掌握常見程序模塊→簡單程序→復雜編程多看參考書和現(xiàn)有程序重視上機,切實掌握程序調(diào)試技術,語言簡潔,表達能力強,易于理解只有32個關鍵字,9種控
3、制語句數(shù)據(jù)構造能力強運算符和數(shù)據(jù)結構豐富程序書寫格式自由程序設計結構化、模塊化可直接訪問物理地址,實現(xiàn)對硬件和低層系統(tǒng)軟件的訪問語言生成的代碼質(zhì)量高可移植性好,增加學習難度,,1.1 C語言的發(fā)展和特點,例1.1 第一個程序 Hello,World!,/* The first C Program*/#include main(){ printf(“Hello,World!”);},輸出
4、:Hello,World!,1.2 C語言的程序結構,printf(“Hello,World!\n”);,C程序的上機步驟,C源程序.c文件,目標程序.OBJ文件,可執(zhí)行程序.exe文件,,,,,,對源文件進行語法和邏輯結構檢查,將目標程序、庫函數(shù)或其他目標程序連接成一個可執(zhí)行文件,程序設計語言處理流程,名詞: 【源程序】用匯編語言或高級語言編寫的程序 【目標程序】經(jīng)翻譯程序翻譯生成的程序 【可執(zhí)行程序】經(jīng)連接程序處理
5、過的程序,/* Calculate the sum of two integers*/#include main( ){ int a, b, sum; printf(“Please input two intergers:”); scanf(“%d%d”, &a, &b); sum=a+b; printf(“sum=%d
6、”, sum);},輸入:5 10輸出:sum=15,例1.2 求兩個整數(shù)之和,例1.3 求兩個整數(shù)的最大值,/* Get the max-value of two integers*/#include int GetMax(int a, int b){ int max; if(a>=b) max=a; else max=b;
7、 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 10輸出:max=10,int
8、GetMax(int a, int b){ int max; if(a>=b) max=a; else max=b; return max;},函數(shù)類型 函數(shù)名(形參類型說明表){ 說明語句;執(zhí)行語句;},例 求兩個實數(shù)的最大值,#include float GetMa
9、x(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:");
10、 scanf("%f%f", &a, &b); max=GetMax(a, b); printf("max=%f", max);},輸入:5.6 10.8輸出:max=10.8,格式特點習慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格常用鋸齒形書寫格式,main( ){ ……………….
11、 ……………… ………….. ………….. ……… ………. …………… ……………. ………………. ………………..},main( ){ int i , j , sum; sum=
12、0; for(i=1; i<10;i++) { for(j=1;j<10;j++) { sum+=i*j ; } } printf(“%d\n”,sum);},優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進{ }對齊有足夠的注釋有合適的空行,1.2 C語言的程序結構,函數(shù)與主函
13、數(shù)程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)main()程序執(zhí)行從main開始,在main中結束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。程序語句C程序由語句組成,用“;”作為語句終止符注釋/* */為注釋,不能嵌套,不產(chǎn)生編譯代碼,例: /*This is the main /* of example1.1*/ */,,編譯預處理命令例#include ,1.2 C語言的程序結構,字符集,字符是可以
14、區(qū)分的最小符號,是構成程序的基礎。包括三方面:英文字母:a~z和A~Z;數(shù)字:0~9;特殊字符:空格 ?。?% 等由字符集可構成進一步的語法成分,例:標識符、關鍵字和特殊運算符等。,1.3 C語言的基本語法成分主要分為:基本字符,標識符兩種。,標識符,標識符在程序中用來標識各種程序成分,命名程序中的一些實體。包括三方面:字母; 2. 數(shù)字; 3. 下劃線:“_”注意:開頭:必須是英文字母或下
15、劃線;大小寫敏感:大小寫字母是不同的字符;長度:一般系統(tǒng)規(guī)定標識符的長度<=8。標識符的選擇要有意義:例如,name, city, data, sum, average等,1.3 C語言的基本語法成分-標識符,1.系統(tǒng)定義標識符具有固定名字和特定含義的標識符分為關鍵字和預定義標識符 2.用戶定義標識符 用于對用戶使用的變量、數(shù)組、函數(shù)等操作對象進行命名,標識符的分類,1.3 C語言的基本語法成分-標識符,32
16、個關鍵字:(由系統(tǒng)定義,不能重作其它定義)數(shù)據(jù)類型: int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile 存儲類別:auto、static、register、extern 語句命令字:if、else、switch、case、default、for、do while、goto、 break
17、、continue、return運算符:sizeof,1.3 C語言的基本語法成分-標識符 關鍵字,預定義標識符,用戶標識符,1.3 C語言的基本語法成分-標識符 關鍵字,預定義標識符,用戶標識符,9種控制語句:,1.條件判斷語句 if ( ) …else … switch ( ) { … } 2.循環(huán)控制語句 for ( ) … while ( ) … do
18、… while ( )3.轉移語句 break、continue、goto return,1.3 C語言的基本語法成分-標識符 關鍵字,預定義標識符,用戶標識符,系統(tǒng)標準庫函數(shù)scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等編譯預備處理命令include、define等,1.3 C語言的基本語法成分,對用戶定義標識符的規(guī)定不能含有除字母、數(shù)字和下劃線“_”外的其
19、他字符必須以字母或下劃線“_”開頭標識符中大小寫字母含義不同長度:一般系統(tǒng)規(guī)定標識符的長度<=8。標識符的選擇要有意義:例如,name, city, data, sum, average等不能使用關鍵字,1.3 C語言的基本語法成分 對標識符的規(guī)定,關鍵字必須用小寫字母。不允許使用關鍵字為變量、數(shù)組、函數(shù)等操作對象命名預定義標識符允許用戶對它們重新定義,當重新定義后將改變它們原來的含義,算術運算符:
20、+ - * / % ++ --關系運算符: >= !=邏輯運算符:! && ||位運算符 :> ~ | ^ &賦值運算符:= 及其擴展條件運算符:? :逗號運算符:,指針運算符:* &求字節(jié)數(shù) :sizeof,1.3 C語言的基本語法成分運算符----34種運算符:,強制類型轉換:(類型)分量運算符:. ->下標運算
21、符:[]其它 :( ) -,記憶C語法規(guī)則,C關鍵字記憶各種數(shù)據(jù)類型名稱及取值范圍記憶變量、函數(shù)等命名規(guī)則 記憶常用的庫函數(shù)(名稱、功能、參數(shù)含義及返回值含義)養(yǎng)成良好的編程風格:層次縮進顯示程序流程獨立、認真完成作業(yè)和上機任務大量的上機編程練習,1.4 如何學習C語言,練習:編寫一個area.c程序,輸入半徑,求圓面積。,#define PI 3.14159 #include
22、 main( ) { float r,s; scanf(“%f ”,&r); s=PI * r * r; printf (“半徑R=%f 時,面積S=%f \n”,r,s);},/*編譯預處理--宏替換*//*編譯預處理--文件包含*//*主函數(shù)*//*定義變量r、s類型為
23、 單精度實型*/ /*變量r賦值*//*計算圓面積s*//*輸出結果*/,練習:編寫一個area.c程序,輸入半徑,求求圓面積。,#define PI 3.14159 #include main( ) { float r,s; scanf(“%f ”,&r); s=PI * r
24、* r; printf (“R=%f , S=%f \n”,r,s);},程序的不足:輸入變量時候沒有提示語句;如果半徑r為負值,也會有正常的s值輸出。輸出結果的小數(shù)位數(shù)為6位,與習慣不符。,練習:編寫一個area.c程序,輸入半徑,求求圓面積。,#define PI 3.14159 #include main( ) { f
25、loat r,s; printf(“Please input the r: ”); scanf(“%f ”,&r); if (r<0) printf(“the radius is negative!”) ; else { s=PI* r *r; printf(“R=%.3f,S=%.3f \n”,r,s); }},練習:求三個整數(shù)的平均值。,#incl
26、ude 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);},練習:求三個整數(shù)的平均值。,#i
27、nclude float average(int x,int y,int z){float av;av=(x+y+z)/3.0;return av;}main(){int a,b,c;float aver;printf("please input the a,b,c: ");scanf("%d%d%d",&a,&b,&c);aver
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論