c程序基本結構_第1頁
c程序基本結構_第2頁
c程序基本結構_第3頁
c程序基本結構_第4頁
c程序基本結構_第5頁
已閱讀5頁,還剩68頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1高級語言程序設計高級語言程序設計2課程前言(課程前言(4W) Why What How Then How3Why 程序設計思維訓練 后續專業課程需要 就業素養需要 實習技能需要 畢業論文選題4What 算法表示的一般方法 C程序設計的基礎知識 程序設計的常用技能、技巧 程序設計的基本訓練 是報考全國計算機等級考試二級、三級的基礎5How 課堂講授 分組學習 案例研習 講練結合 項目實訓 提交程序6Then How 算法表示的一般方法 C程序設計的基礎知識 程序設計的常用技能、技巧 能用編程解決一定難度的應用問題 獲得全國計算機等級考試二級C語言考證 考核要求:平時成績30考試7078C語言學

2、習網站:語言學習網站:910p 程序是什么?程序是什么? 程序是問題處理過程的程序是問題處理過程的步驟描述步驟描述。p程序設計:程序設計:用計算機語言來描述程序用計算機語言來描述程序。int a,b,c;scanf(“%d%d”,&a,&b);c=a+b;printf(“sum is%d.n”,c);11p 演示三個簡單程序,演示三個簡單程序,p 觀察觀察C程序結構程序結構【例【例1】向屏幕上輸出一句話:】向屏幕上輸出一句話: Hello,everyone!12主函數主函數#include void main( ) printf(“Hel

3、lo everyone!n); 預處理命令預處理命令主函數主函數【例【例1】函數體函數體13#include void main( ) int a,b,c; scanf(“%d%d”,&a,&b); c=a+b; printf(“sum is %d.n”,c); 【例【例2】定義簡單變量,求計算結果】定義簡單變量,求計算結果14int max(int x,int y) int z; if(xy) z=x; else z=y; return z; main() int a,b,c; scanf(%d%d,&a,&b); c=max(a,b); printf(The

4、 max is: %dn,c);/* 用戶自定義函數用戶自定義函數 */【例【例3】定義用戶函數,求兩個數的最大值】定義用戶函數,求兩個數的最大值/* 主函數主函數 */* 調用用戶自定義函數調用用戶自定義函數 */15v C程序是由函數組成的。程序是由函數組成的。v 每個程序有且只有一個每個程序有且只有一個main()主函數。()主函數。v 用戶自定義的函數獨立于主函數,位置位于主函用戶自定義的函數獨立于主函數,位置位于主函數前后都可以。數前后都可以。C程序總是以程序總是以main()函數作為入()函數作為入口開始執行,結束于口開始執行,結束于main()的最后一條語句()的最后一條語句。v

5、 每個函數都由函數首行信息和函數體構成。每個函數都由函數首行信息和函數體構成。v 函數體首先書寫變量定義語句,然后是其它程序函數體首先書寫變量定義語句,然后是其它程序語句。語句。v 以以# 開始的預處理命令寫在整個程序開始之處。開始的預處理命令寫在整個程序開始之處。C程序框架結構程序框架結構【分析與總結】【分析與總結】16注意:注意:一個源程序存盤就是一個擴展名為一個源程序存盤就是一個擴展名為.C的文件的文件(Turbo C 或或 Borland C)。)。當使用當使用Visual C+等環境調試程序時,默認生等環境調試程序時,默認生成文件擴展名為成文件擴展名為.cpp,同時還自動生成一些其,

6、同時還自動生成一些其它的附帶文件。本學期學習僅關注它的附帶文件。本學期學習僅關注.cpp或或.c文件文件即可。即可。1718程序演示程序演示注意觀察:注意觀察: (提問)(提問)如何新建文件?如何輸入源程序?如何保存或命名?如何編譯源文件?如何組建和運行源文件?1. 如何查看結果?19VC環境操作總結環境操作總結文件新建C+source文件輸入源程序在右側的主窗口?保存:文件保存;或CtrlS編譯:組建編譯,或CtrlF7 信息提示窗口(下方)組建:F7;運行:CtrlF5查看結果:press any key to continue?20幾個基本概念幾個基本概念源程序:用源程序:用C語法描述的

7、程序;存盤擴展語法描述的程序;存盤擴展名為名為.C目標程序:經過編譯得到的二進制代碼。目標程序:經過編譯得到的二進制代碼。擴展名為擴展名為.OBJ可執行程序:目標程序與庫函數連接后的可執行程序:目標程序與庫函數連接后的完整、獨立執行的程序。擴展名為完整、獨立執行的程序。擴展名為.EXE21C程序上機程序上機補充兩點:補充兩點: 每個默認工作空間只能生成一個每個默認工作空間只能生成一個.exe文件,文件,因此當再建一個新的因此當再建一個新的C源程序時,需:源程序時,需: “文件文件” “關閉工作空間工作空間” 然后再“文件”“新建”C+source文件1. 2.建立個人文件夾,將你的程序放在其中

8、,建立個人文件夾,將你的程序放在其中,清晰易查找。清晰易查找。22編程小練編程小練現在我們能編寫簡單程序嗎?現在我們能編寫簡單程序嗎?仿照例仿照例1編寫程序:向屏幕上輸編寫程序:向屏幕上輸出一句話出一句話“My name is .”。仿照例仿照例2編寫程序:求三個數的編寫程序:求三個數的平均數。補充一個數據類型平均數。補充一個數據類型float23初識初識scanf函數函數輸入數據使用輸入函數:輸入數據使用輸入函數:scanf(%d%d,&a,&b);說明:說明:輸入整型數(輸入整型數(int)用)用d,輸入實數類型(,輸入實數類型(float)用)用f,輸入幾個變量值就用幾個

9、格式符;例如:,輸入幾個變量值就用幾個格式符;例如: scanf(%f%f%f,&a,&b,&c);1. 第二部分參數是變量的名稱前加運算符第二部分參數是變量的名稱前加運算符“&”24初識初識printf函數函數簡單輸出數據: 只輸出簡單信息:只輸出簡單信息: printf(“Hello students!n); 輸出變量值:輸出變量值: printf(sum is %dn, sum);25由若干程序語句按順序書寫,按順序執行;由若干程序語句按順序書寫,按順序執行;每條語句以分號每條語句以分號“ ;”結束;結束; 一個復雜的語句也可以寫成幾行,用反斜杠一個復雜的

10、語句也可以寫成幾行,用反斜杠 表示續行;幾個簡單語句也可寫在一起,都必須表示續行;幾個簡單語句也可寫在一起,都必須用用“;”作為每句結束標志。作為每句結束標志。通常變量定義放在開始部分;通常變量定義放在開始部分;語句后面可以有注釋,注釋內容放在語句后面可以有注釋,注釋內容放在 /* */內內程序體的基本語法要素程序體的基本語法要素【總結【總結1】26標識符只能由字母、數字和下劃線三種字符組成,且第一標識符只能由字母、數字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。個字符必須為字母或下劃線。例如:例如:sum,average,_total,Class,day,stu_name,p405

11、 不合法的標識符:不合法的標識符:M.D.John,$123,#33,3D64,ab 區別大小寫。區別大小寫。例如:例如:sum不同不同Sum。BOOK不同不同book。標識符長度有限制標識符長度有限制(TC 最多最多32個字符,有的系統最多個字符,有的系統最多8個個)。例如:例如:student_name,student_number 如果取如果取8個,這兩個標個,這兩個標識符是相同的。識符是相同的。標識符不能與標識符不能與“關鍵詞關鍵詞”同名,見教材同名,見教材13頁。頁。建議:標識符命名應當有一定的意義,做到見名知義。建議:標識符命名應當有一定的意義,做到見名知義。C語言標識符定義規則語

12、言標識符定義規則27內容總結及回顧內容總結及回顧C程序的基本結構:函數;函數;main框架框架; 預處理命令在前;有且只有一個預處理命令在前;有且只有一個main函函數、數、函數組成(函數說明部分、函數體);函數說明部分、函數體);函數體內順序:先變量定義,再其它語句先變量定義,再其它語句。簡單變量定義:int、float標識符的命名規則。 C程序的VC上機過程。簡單使用scanf輸入數據、printf輸出數據2829【回答】如果程序中處理的數據需要由用戶在【回答】如果程序中處理的數據需要由用戶在運行程序時確定,應該用運行程序時確定,應該用scanf()函數輸入;()函數輸入;如果數據不需用戶

13、確定,而由程序自身確定,如果數據不需用戶確定,而由程序自身確定,可直接賦值。可直接賦值。【思考】【思考】你知道以下兩種方法為變量輸入已知值的不同嗎?你知道以下兩種方法為變量輸入已知值的不同嗎?main() int a,b,c; a=4; b=5; c=a+b; printf(“sum is %dn”,c);main() int a,b,c; scanf(“%d%d”,&a,&b); c=a+b; printf(“sum is %dn”,c);30基本編程經驗基本編程經驗總結總結2:程序由程序由 “輸入處理輸出輸入處理輸出” 三個模塊組成。三個模塊組成。輸入時通常先定義變量,然后

14、用輸入函數輸入時通常先定義變量,然后用輸入函數scanf()輸()輸入數據,或直接給變量賦值。入數據,或直接給變量賦值。程序的關鍵算法語句。程序的關鍵算法語句。使用輸出函數,如使用輸出函數,如printf()輸出結果。()輸出結果。31讓我們一起分析、編寫一個程序吧讓我們一起分析、編寫一個程序吧【實例【實例4】某鐵桶廠應客戶要求定做一批鐵桶,】某鐵桶廠應客戶要求定做一批鐵桶,客戶給出了鐵桶的規格,高客戶給出了鐵桶的規格,高30cm,半徑,半徑10cm,共訂做共訂做1500個鐵桶。工廠接到訂單后需馬上計個鐵桶。工廠接到訂單后需馬上計算出所需的原材料組織生產。算出所需的原材料組織生產。1-1.c3

15、2分析:分析:我們知道鐵桶為圓柱形,其表面積的計算可以利用數學公式:我們知道鐵桶為圓柱形,其表面積的計算可以利用數學公式: S=2RH+R2為了計算為了計算S的值,我們首先需要向計算機輸入兩個已知值的值,我們首先需要向計算機輸入兩個已知值R和和H,計算機根據上面的公式進行運算,得到一只鐵桶的鐵皮,計算機根據上面的公式進行運算,得到一只鐵桶的鐵皮用量,然后計算用量,然后計算N只鐵桶的總鐵皮用量,最后輸出計算結果。只鐵桶的總鐵皮用量,最后輸出計算結果。因此上面程序的工作步驟可以描述為:因此上面程序的工作步驟可以描述為:1. 定義四個變量定義四個變量S,R,H,N。2. 為為R,H,N輸入已知值。輸

16、入已知值。3. 利用公式利用公式S=2RH+R2求表面積求表面積S。4. 求總用量求總用量SSN。5. 輸出最后結果輸出最后結果S6. 結束。結束。33#include main() float s,r,h; /* 定義變量定義變量s表示面積,表示面積,r表示半徑,表示半徑,h表示桶高表示桶高 */int n; /* 定義變量定義變量n表示桶的數量表示桶的數量 */printf(“input r,h,n:n”); /*友好的屏幕提示,讓用戶輸入已知值友好的屏幕提示,讓用戶輸入已知值*/scanf(“%f%f%d”,&r,&h,&n); /* C語言的輸入函數,語言的輸入

17、函數, 從鍵盤上接受用戶輸入的已知值分別送給變量從鍵盤上接受用戶輸入的已知值分別送給變量r,h和和n */s=2*3.14*r*h+3.14*r*r; /* 計算一個桶的表面積計算一個桶的表面積 */s=s*n; /* 求求n只桶的總表面積只桶的總表面積 */printf(“Total area is %.2fn”,s); /* 輸出總鐵皮用量輸出總鐵皮用量 */運行程序吧!運行程序吧!34【實例【實例5】利用系統庫函數實現數學運算,求利用系統庫函數實現數學運算,求xy。#include /*系統標準輸入、輸出函數庫系統標準輸入、輸出函數庫*/#include /*系統數學函數庫系統數學函數庫

18、*/main()double x,y,Result; /*定義兩個輸入變量定義兩個輸入變量x,y及輸出變量及輸出變量Result*/printf(Please enter x,y for pow(x,y):); /*提示輸入提示輸入x和和y的值的值*/scanf(%lf%lf,&x,&y); /*輸入輸入x和和y的值的值*/Result = pow(x,y); /*調用數學函數庫中的調用數學函數庫中的pow函數來計算函數來計算 */printf(pow(x,y) = %g,Result); /*輸出結果值輸出結果值*/double是雙精度實數類型是雙精度實數類型3536 C語言

19、字符集(略)語言字符集(略) 標識符:標識符:變量名、符號常量名、函數名、數組變量名、符號常量名、函數名、數組名、類型名等。名、類型名等。 關鍵字(自學)關鍵字(自學) C語言語句及表達式:語言語句及表達式: 變量定義語句、賦值語句、函數調用語句、空變量定義語句、賦值語句、函數調用語句、空語句、表達式語句、表達式 運算符:算術運算符(除法)、賦值運算符、運算符:算術運算符(除法)、賦值運算符、 sizeof運算符、關系運算符。運算符、關系運算符。 優先級見附件,括號優先、括號一律用小括優先級見附件,括號優先、括號一律用小括號、多層括號由內向外算;號、多層括號由內向外算; 分隔符:空格(源程序中

20、起到分隔元素的作用)分隔符:空格(源程序中起到分隔元素的作用) 空格、回車、空格、回車、Tab(輸入數據的分隔)(輸入數據的分隔) 其它符號:略其它符號:略3738本小節目錄本小節目錄 數據類型總體分類數據類型總體分類 整數類型整數類型 實數類型實數類型 字符型數據字符型數據39404142434445#include #include void main( )void main( ) char ch; char ch; int x; int x; ch=A; ch=A; x=ch+32; x=ch+32; printf(%c,%dn, ch, ch); printf(%c,%dn, ch,

21、ch); printf(%c,%dn, x, x); printf(%c,%dn, x, x); 運行結果:運行結果:A, 65A, 65a, 97 46China04748思考:如何實現兩個變量值的互換?思考:如何實現兩個變量值的互換?常見算法有兩種:常見算法有兩種: 算法算法1:定義第:定義第3個變量作為中間變量,借以互換值。個變量作為中間變量,借以互換值。 算法算法2:不需要任何中間變量,利用加減法實現值互換。:不需要任何中間變量,利用加減法實現值互換。 a=a+b; b=a-b; a=a-b;例題例題1_6:定義變量,為它們賦值,互換兩個變量的值。:定義變量,為它們賦值,互換兩個變量的

22、值。49#include main() int a,b,c; a=30; b=40; c=a; a=b; b=c;printf(a=%d,b=%d,a,b); getch();總結:通過本例理解總結:通過本例理解變量是可變的量,變量是可變的量,可以不斷的被賦以新值,只保留最新值。可以不斷的被賦以新值,只保留最新值。1-6.c50#include main() char ch; printf(input a char:); scanf(%c,&ch); printf(%c,ch-32); getch();學生練習:學生練習:從鍵盤上輸入一個小寫字母,把它轉變為大寫從鍵盤上輸入一個小寫字母

23、,把它轉變為大寫字母再輸出。字母再輸出。提示:大、小寫字母的提示:大、小寫字母的ASCII值相差值相差321-5.c51提問提問算術運算符、關系運算符及關系運算的結果。算術運算符、關系運算符及關系運算的結果。C語言數據類型的分類語言數據類型的分類基本數據類型分類基本數據類型分類整數類型的分類、關鍵字、類型長度整數類型的分類、關鍵字、類型長度整型常量的表示方法整型常量的表示方法實數類型的分類、關鍵字、類型長度實數類型的分類、關鍵字、類型長度實型常量的表示方法實型常量的表示方法字符常量的表示方法字符常量的表示方法字符串常量的表示方法字符串常量的表示方法5253格式格式: scanf(“%d %d

24、%d”,&a,&b,&c);1-scanf.c數據的分隔數據的分隔54格式字符 說明 d o x u c s f e g 用用來來輸輸入入十十進進制制整整數數 用用來來輸輸入入八八進進制制整整數數 用用來來輸輸入入十十六六進進制制整整數數 用用來來輸輸入入無無符符號號十十進進制制整整數數 用用來來輸輸入入單單個個字字符符 用用來來輸輸入入字字符符串串, ,將將字字符符串串送送到到一一個個 字字符符數數組組中中. .遇遇到到第第一一個個空空白白字字符符結結束束 用用來來輸輸入入實實數數, ,可可以以用用小小數數形形式式或或指指 數數形形式式輸輸入入 作作用用和和 f f

25、相相同同 作作用用和和 f f 相相同同 1-scanf.c格式符的選擇格式符的選擇55字符 說明 L 或 l H 或 h 域寬(正整數) * 用于輸入長整形數據 用于輸入短整形數據 指定輸入數據所占寬度(列數) 表示本輸入項讀入后不賦給相應變量 1-4.c56說明并深刻理解說明并深刻理解: 1-7.c57說明說明:58說明說明:不能企圖用格式控制符來規定輸入數據的精度不能企圖用格式控制符來規定輸入數據的精度scanf(“%7.2f”,&a)59printf(“ Input two integers ”);printf(“a=%d,b=%d,%d”,a,b,a+b);格式格式: 說明說

26、明: 格式控制符以外的普通字符串原樣輸出。格式控制符以外的普通字符串原樣輸出。6061在格式控制符中在格式控制符中,%和跟隨的單個字符間又可插入和跟隨的單個字符間又可插入以下幾種附加符號以下幾種附加符號字符字符說明說明 字母字母l 用于長整型用于長整型, 加在格式符加在格式符d、o、x、u前面前面 m(正整數)正整數)數據輸出寬度(域寬)數據輸出寬度(域寬) .n(正整數)正整數)對實數,輸出對實數,輸出n位小數;對字符串,位小數;對字符串, 表示截取的字符個數表示截取的字符個數 輸出的數字或字符在域內向左靠齊輸出的數字或字符在域內向左靠齊注:注:n之之 前前有一小數點有一小數點舉例舉例1-4

27、.c62注意:注意:當當m小于實際長度時,小于實際長度時,m不起作用,按實際不起作用,按實際 長度輸出長度輸出一個整數只要它的值在一個整數只要它的值在0255之間,它即可以整數之間,它即可以整數形式輸出,也可字符形式輸出。同樣一個字符數據形式輸出,也可字符形式輸出。同樣一個字符數據也可用整數形式輸出也可用整數形式輸出1-2.c63其他輸入輸出函數:其他輸入輸出函數:getchar()、putchar()gets()、 puts()例如:例如:char c; c=getchar(); 或或 scan(“%c”,&c);使用這些函數,使用這些函數,需包含頭文件需包含頭文件stdio.h6465 有窮性: 確定性: 有0個或多個輸入: 有1個或多個輸出: 有效性: 6667見見24頁圖頁圖1.568結束輸入a,b,cab?bc?ac?輸出c輸出b輸出c輸出a開始tfftft69即結構化程序設計流程圖,提供了描述三種基本邏輯即結構化程序設計流程圖,提供了描述三種基本邏輯結構的圖形工具,與傳統的程序流程圖對照描述如下:結構的圖形工具,與傳統的程序流程圖對照描述如下:1

溫馨提示

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

評論

0/150

提交評論