![措辭法度模范設計實例教程中國高級職業(yè)技巧教導研究會推薦[最新]_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/7167cd89-7414-432b-b0da-386f1652efee/7167cd89-7414-432b-b0da-386f1652efee1.gif)
![措辭法度模范設計實例教程中國高級職業(yè)技巧教導研究會推薦[最新]_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/7167cd89-7414-432b-b0da-386f1652efee/7167cd89-7414-432b-b0da-386f1652efee2.gif)
![措辭法度模范設計實例教程中國高級職業(yè)技巧教導研究會推薦[最新]_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/7167cd89-7414-432b-b0da-386f1652efee/7167cd89-7414-432b-b0da-386f1652efee3.gif)
![措辭法度模范設計實例教程中國高級職業(yè)技巧教導研究會推薦[最新]_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/7167cd89-7414-432b-b0da-386f1652efee/7167cd89-7414-432b-b0da-386f1652efee4.gif)
![措辭法度模范設計實例教程中國高級職業(yè)技巧教導研究會推薦[最新]_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/7167cd89-7414-432b-b0da-386f1652efee/7167cd89-7414-432b-b0da-386f1652efee5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、語言程序設計實例教程中國高等職業(yè)技術教育研究會推薦丁愛萍 劉瑞新 莊建敏 編 高 職 系 列 教 材 西安電子科技大學出版社出版http:/ 第1章 程序設計與C語言 第2章 C語言程序設計初步知識 第3章 簡單程序設計 第4章 選擇結構程序設計 第5章 循環(huán)結構程序設計 第6章 數 組 第7章 函 數 第8章 指 針 第9章 編譯預處理 第10章 結構體和共用體 第11章 位運算 第12章 文 件 第13章 程序調試與常見錯誤分析目錄退出第1章 程序設計與C語言 1.1 程序設計的基本概念 1.2 算法 1.3 結構化程序及設計步驟 1.4 C語言的特點 1.5 C語言程序的基本結構 1.6
2、 C程序的上機操作 返回主目錄 1.1 程序設計的基本概念 1.1.1 程序程序 電子計算機只是一種以二進制數據形式在內部存儲信息、以程序存儲為基礎、由程序自動控制的電子設備。 程序是一條條有序指令的集合。第1章 程序設計與C語言 1.1.2 計算機語言計算機語言 程序設計語言是實現程序設計、以便人與計算機進行信息交流的必備工具,又稱計算機語言。目前,社會上廣泛使用的是高級語言,是一種接近人們習慣的程序設計語言,它使用人們所熟悉的文字、符號及數學表達式來編寫程序,使程序的編寫和操作都顯得十分方便。第1章 程序設計與C語言 由高級語言編寫的程序稱為“源程序”。在計算機內部,源程序必須翻譯為機器能
3、夠接受的二進制代碼所表示的“目標程序”(也稱機器語言)。其中,具有這種翻譯功能的程序稱為“編譯程序”,如圖1.1所示。 源程序編譯程序目標程序圖1.1 源程序編譯過程第1章 程序設計與C語言 1.1.3 程序設計程序設計 程序設計的一般步驟: 1. 確定數據結構。 2. 確定算法。 3. 編程。 4. 調試。 5 整理源程序并總結資料。第1章 程序設計與C語言 返回章目錄 1.2 算法算法 所謂算法,是為解決某一特定的問題,所給出的一系列確切的、有限的操作步驟。 1.2.1 算法設計算法設計 程序實際上是用計算機語言所描述的算法。也就是說,依據算法所給定的步驟,用計算機語言所規(guī)定的表達形式去實
4、現這些步驟,即為源程序。 在算法設計中應遵循的準則: (1) 可執(zhí)行性。 (2) 確定性。 (3) 有窮性。 (4) 輸入。 (5) 輸出。第1章 程序設計與C語言 1.2.2 算法的描述算法的描述 目前,對算法的描述,一般采用自然語言、一般流程圖或N-S結構流程圖。 常用一般流程圖符號如圖1.2所示。 處理框 輸入輸出框 判斷框 流程線圖1.2 常用流程圖符號第1章 程序設計與C語言 返回章目錄 1.3 結構化程序及設計步驟結構化程序及設計步驟 1.3.1 結構化程序設計的概念結構化程序設計的概念 結構化程序由3種基本結構組成:順序結構、選擇結構、循環(huán)結構。使用這基本結構編寫的程序,稱為結構
5、化程序。第1章 程序設計與C語言 1. 順序結構 程序中的語句按先后順序逐條執(zhí)行。s=a+b輸出輸出b=4a=3a=3b=4s=a+b輸出輸出s圖1.4 順序結構流程圖(a)一般流程圖;(b)N-S結構流程圖 (a) (b)第1章 程序設計與C語言 2. 選擇結構 在執(zhí)行程序中的選擇結構語句時,該語句的執(zhí)行將根據不同的條件執(zhí)行不同分支的語句。 圖1.5 選擇結構流程圖 (a) 一般流程圖;(b) N-S結構流程圖 abmax=amax=b輸出輸出maxnoyesab yes no max=a max=b(a) (b) 第1章 程序設計與C語言 3. 循環(huán)結構 在執(zhí)行程序中的循環(huán)結構語句時,該語
6、句將根據各自的條件,對循環(huán)結構所限定的語句(即循環(huán)體)重復執(zhí)行多次或零次。 循環(huán)結構又分為當型循環(huán)和直到型循環(huán)兩種情況。 1)當型循環(huán) 該循環(huán)的特點是:當條件滿足時,就執(zhí)行循環(huán)體,否則就退出循環(huán)結構。 第1章 程序設計與C語言 圖1.6 當型循環(huán)流程圖 (a)一般流程圖;(b)N-S結構流程圖 i=1, t=1第1章 程序設計與C語言 (a)i=n?輸出輸出ti=1, t=1輸入輸入n循環(huán)體循環(huán)體t=t* *ii=i+1noyes循環(huán)條件循環(huán)條件i=n 循環(huán)體循環(huán)體t=t*i i=i+1 輸出輸出t(b) 2) 直到型循環(huán)直到型循環(huán) 該循環(huán)的特點是:先執(zhí)行循環(huán)體,再判斷循環(huán)條件,條件不滿足時,
7、就退出循環(huán)結構。 圖1.7 直到型循環(huán)流程圖 (a)一般流程圖; (b) N-S結構流程圖 i=1,t=1輸入輸入n循環(huán)體循環(huán)體t=t* *ii=i+1i=n?輸出輸出tyesnoi=1,t=1循環(huán)體循環(huán)體t=t* *ii=i+1循環(huán)條件循環(huán)條件 i CDTC 回車 C:TC TC 回車 啟動成功后,屏幕上將顯示Turbo C的主菜單窗口。 2. 選擇用戶文件的存放目錄 選擇“File”菜單中的“Change dir”項后回車,彈出子目錄提示框。在該提示框中輸入用戶文件的存放目錄,輸入完后按回車鍵即可。 第1章 程序設計與C語言 3. 建立工作環(huán)境 操作步驟如下: (1) 按F10鍵,選擇“O
8、ption”菜單并按回車鍵。 (2) 在“Option”子菜單中選擇“Directories”選項并按回車鍵,將彈出子菜單。 “Include directories”選項:說明標準包含文件的目錄。 “Library directory”選項:說明Turbo C運行時庫文件所在的目錄。 “Output directory”選項:即編譯、連接后的可執(zhí)行文件所存放的目錄。 “Turbro C directory”選項:即Turbo C文件所在的目錄。第1章 程序設計與C語言 4. 編寫源程序 操作步驟如下: (1) 在主菜單中選擇“File”選項并按回車鍵。 (2) 在“File”的下拉菜單中,選
9、擇“Load”選項,屏幕將出現一個提示框。 用戶輸入要編輯的文件名并按回即可,將進入全屏幕編輯狀態(tài)。第1章 程序設計與C語言 5. 常用編輯鍵 Insert鍵:控制工作狀態(tài)是否為“插入狀態(tài)”。 Delete鍵:刪除光標所在的字符。 Ctrl+Y鍵:刪除光標所在的一行。 Ctrl+N鍵:插入一行。第1章 程序設計與C語言 6. 編譯、連接、運行 (1) 對單一源程序文件進行編譯、連接、運行。 操作步驟如下: a. 按F10鍵選擇“Compile”選項。 b. 選中“Make exe File”項,回車。 c. 按Esc鍵回到主菜單,選擇“Run”菜單中的“Run”項,運行已生成的可執(zhí)行文件。第1
10、章 程序設計與C語言 (2) 對兩個以上源程序文件進行編譯、連接、運行。 利用Turbo C提供的“Project”菜單項,其功能可直接將兩個以上的文件編譯連接后生成一個完整的運行程序。 操作步驟如下: a. 假設有兩個文件組成一個程序,首先要生成兩個源文件(如File1.c和File2.c)。 b. 構造Project文件。 c. 選擇“Project”菜單中的“Project name”項,回車,輸入Project文件名,按F9鍵產生相應的可執(zhí)行文件。 d. 停止編譯的方式。 e. 運行。第1章 程序設計與C語言 返回章目錄第第2章章 C語言程序設計初步知識語言程序設計初步知識 2.1 標
11、識符、常量和變量 2.2 簡單數據類型 2.3 基本運算表達式 返回主目錄 2.1 標識符、常量和變量標識符、常量和變量 2.1.1 標識符標識符 標識符是用來標識變量名、符號常量名、函數名、文件名以及一些具有專門含義的有效字符序列。 C語言規(guī)定:合法的標識符只能由字母、數字和下劃線組成,第一個字符必須為字母或下劃線。大寫字母和小寫字母被視為兩個不同的字符。標識符的長度規(guī)定取前8個字符為有效字符。例如:sum、area、aver.PI、_above、L_1_2_3、S12 合法的標識符 A.B.C、A.123、13、3area、a+b 不合法的標識符第2章 C語言程序設計初步知識 1. 關鍵字
12、標識符 關鍵字又稱為命令符,在程序中具有特定的含義,不能另作它用,其他字符又無法直接替代。 2. 預定義標識符 預定義標識符是指C語言提供的庫函數名和預編譯處理命令(如printf、scanf、define)等。第2章 C語言程序設計初步知識 3. 用戶標識符 由用戶根據需要自定義的標識符稱為用戶標識符。使用用戶自定義標識符時,應注意: (1) 最好根據其含義選用英文縮寫及漢語拼音作標識符,這樣便于閱讀程序。 (2) 不能與關鍵字相同。 (3) 如果與預定義標識符相同系統并不報錯,程序仍能運行,只是預定義標識符失去原來的含義,代之以用戶確認的含義。 第2章 C語言程序設計初步知識 2.1.2
13、常量和變量常量和變量 1. 常量 在程序運行過程中,其值不能被修改的固定量稱為常量,C語言中有3種常量: (1) 算術型運算常量(如整型常量、實型常量等); (2) 字符型常量(如字符常量、字符串常量); (3) 標識符所定義的常量。第2章 C語言程序設計初步知識 2. 變量 程序運行過程中,其值可以改變的量叫變量;程序中使用的變量,屬于用戶自定義標識符,任何一個變量名必須先定義(即確定變量名和變量的類型)后使用。 變量也有類型之分,常用的有整型變量、實型變量、字符型變量等。 第2章 C語言程序設計初步知識 返回章目錄2.2 簡單數據類型簡單數據類型 C語言中的數據類型,如圖2.1所示。 圖2
14、.1 C語言中的數據類型 無符號型(無符號型(unsigned)長整型(長整型(long)短整型(短整型(short)整型(整型(int)單精度型(單精度型(float)雙精度型(雙精度型(double)整型整型文件類型(文件類型(file)字符串類型字符串類型數據類型數據類型指針類型指針類型空類型空類型基本類型基本類型(簡單類型)(簡單類型)數值類型數值類型字符型(字符型(char)構造類型構造類型數組類型數組類型結構體類型(結構體類型(struct)共用體類型(共用體類型(union)實型實型枚舉類型(枚舉類型(enum)第2章 C語言程序設計初步知識 2.2.1 整型數據整型數據 1.
15、整型常量 整型常量,即整型常數。C語言整型常量可用以下3種形式表示: (1) 十進制整型常數。 (2) 八進制數。以0開頭的數。 (3) 十六進制整數。以0 x開頭的數為十六進制數。 第2章 C語言程序設計初步知識 2. 整型變量 1) 整型變量的分類 整型變量可分為以下4種整型類型: a. 基本型,以int表示; b. 短整型,以short表示; c. 長整型,以long表示; d. 無符號整型,以unsigned表示。 第2章 C語言程序設計初步知識 2) 整型變量的定義、使用 變量必須先定義,后使用。定義整型變量的格式為: int i , j ; /* 定義i , j為整型變量 */ l
16、ong e , f ; /* 定義e , f為長整型變量 */ int a=3 , b=4 ; /* 定義a , b為整型變量同 時將3和4分別賦予a和b */ 3. 整型數據在內存中的存放形式 在C語言中,一個整型數通常占用2個字節(jié),低位在前一個字節(jié),高位在后一個字節(jié)。 第2章 C語言程序設計初步知識 2.2.2 實型數據實型數據 1. 實型常量 在C語言中實型表示實數的集合,實型常量又稱實數。實型常量有兩種表現形式。 1) 十進制數形式 十進制數形式和數學中的實數形式類同,由數字和小數點組成,小數點是實數的標志。 2) 指數形式 實數的指數形式類似于數學中的指數形式。組成格式如下: 數字小
17、數E整數 ( 內為可省項)項)第2章 C語言程序設計初步知識 2. 實型變量 在C語言中實型變量分為單精度(float)和雙精度(double)兩類。 實型變量的定義: float a , b ; /* 定義a , b為單精度實型變量 */ double x , y ; /* 定義x , y為雙精度實型變量 */第2章 C語言程序設計初步知識 2.2.3 字符型數據字符型數據 1. 字符型常量 字符型常量(簡稱字符常量)是一個字符,在表示時由兩個單引號括起來。例如A、a、+、2等。 字符型常量在內存中占用一個字節(jié),存放的是字符的ASCII碼值,如字符A的值為65;B的值為66。所有字符常量還可
18、作為整型量進行運算,以及參與相應的各種操作。 第2章 C語言程序設計初步知識 2. 轉義字符 C語言中有一種特殊的字符常量轉義字符,這類字符常量是以反斜杠字符“”開頭的字符序列,它表示某個特定的ASCII碼字符。在程序中,轉義字符要放在一對單引號內。 常用的轉義字符及其含義: n回車換行至下一行開頭 r 回車至本行開頭 b 退格符 反斜杠字符 單引號字符第2章 C語言程序設計初步知識 3. 字符變量 字符變量用于存放一個字符常量。字符變量的定義格式為: char c1 , c2; 其中c1和c2分別被定義為字符型變量。 一個字符型變量在內存中占一個字節(jié),字符型變量可以參加任何整型運算。 第2章
19、 C語言程序設計初步知識 返回章目錄2.3 基本運算表達式基本運算表達式 2.3.1 算術運算符及表達式算術運算符及表達式 1. 基本算術運算符 基本算術運算符及特性,見表2-4。 第2章 C語言程序設計初步知識 表2-4 基本運算符列表 運算符運算符功能功能操作數個數操作數個數結合方向結合方向優(yōu)先級優(yōu)先級+-求正求正求負求負單目單目單目單目自右至左自右至左自右至左自右至左高高 低低*/%乘法乘法除法除法求余求余雙目雙目雙目雙目雙目雙目自左至右自左至右自左至右自左至右自左至右自左至右+-加法加法減法減法雙目雙目雙目雙目自左至右自左至右自左至右自左至右第2章 C語言程序設計初步知識 2. 算術表
20、達式 由算術運算符將操作數連接起來的有意義的式子稱為算術表達式。例如2+a*b。 使用運算符時,應注意: (1) 表達式本身的功能。 (2) 操作數的個數。 (3) 操作數的類型。 (4) 運算符的優(yōu)先級。 (5) 結合性。 (6) 任何一個表達式除了有其所實現的功能外,還有表達式其自身的值。第2章 C語言程序設計初步知識 2.3.2 賦值運算符及表達式賦值運算符及表達式 1. 賦值運算符 “=”符就是賦值運算符,賦值運算符構成的表達式格式如下: 變量名變量名=表達式表達式 2. 復合賦值運算符 在“=”前面加上雙目運算符,如“+”、“-”、“*”、“%”、“/”即構成復合賦值運算符。 例如:
21、a+=3 等價于a=a+3 所有復合賦值運算符級別相同,且與賦值運算符同一優(yōu)先級,都具有右結合性。 例如,設a的初值為10,則表達式a+=a-=a*=a等價于:a+=(a-=a*=a)第2章 C語言程序設計初步知識 2.3.3 不同類型數據間的轉換不同類型數據間的轉換 1. 數據類型自動轉換數據類型自動轉換 數據類型的自動轉換常發(fā)生在以下情況中: (1) 進行運算時轉換。 (2) 賦值轉換。 (3) 輸出轉換。 (4) 函數調用轉換。 2. 不同類型數據間的混合運算不同類型數據間的混合運算 整型、實型、字符型數據可以進行混合運算。在進行運算時,應先把不同類型的數據轉換為同一類型,然后進行運算,
22、轉換規(guī)則,參見圖2.2所示。 第2章 C語言程序設計初步知識 圖2.2 混合運算時不同類型數據間的轉換 doublelongunsignedintchar,shortfloat高高低低第2章 C語言程序設計初步知識 3. 賦值轉換賦值轉換 (1) 將整型數據賦給實型變量,這時數值不變,但以實型數據形式存到變量中。 (2) 將實型數據賦給整型變量,這時舍棄小數部分,取整數部分賦給整型變量中。 (3) 將int型整型數據賦給無符號型整型變量,int型數據按存儲單元中實際二進制位的內容直接賦給unsigned型變量。 若int型數據為正數,即存儲單元中最高位為0,賦值后,則int型數據與unsign
23、ed型數據的數值相同。 若int型數據為負數,即存儲單元中最高位為1,賦值后,unsigned型數據在使用時,最高位將代表一定的數值。第2章 C語言程序設計初步知識 (4) 字符型數據賦給整型變量。 字符型數據占1個字節(jié),而整型變量占2個字節(jié),因此賦值轉換過程中,存在位的擴展。 a. 對于unsigned型變量,字符型數據(8位)傳送給unsigned變量的低8位,而unsigned變量的高8位只須補0; b. 對于int型變量,若字符型數據最高位為0,則int型變量高8位補0。若字符型數據最高位為1,則int型變量的高8位補1。這樣可以保持數值不變。 第2章 C語言程序設計初步知識 4. 強
24、制類型轉換強制類型轉換 在C語言中,可以利用強制類型轉換符,將表達式的類型轉換為所需類型。 一般形式: (類型名類型名)表達式表達式 例如: (int)a表示將a轉換成int類型; 第2章 C語言程序設計初步知識 2.3.4 自增、自減運算符及表達式自增、自減運算符及表達式 1. 格式與功能格式與功能 格式: i+ i- 功能:先使用i的值,然后,變量i的值增加(減少)1,即i=i1。 格式: +i -i 功能:變量i先增加(減少)1,即i=i1,然后,再使用i的值。 第2章 C語言程序設計初步知識 2. 自增、自減運算符的運算自增、自減運算符的運算 自增、自減運算為單目運算,其運算數據為單操
25、作數,且操作數只能是變量,不能是常量或表達式。 3. 自增、自減運算符的結合性自增、自減運算符的結合性 自增、自減運算符屬右結合性。 注意: (1) 使用+i或i+單獨構成語句時,其作用是等價的,均為i=i+1。 (2) 運算對象只能是整型變量和實型變量。 (3) 對于表達式(i+)+(i+)+(i+),不同的編程環(huán)境,其結果不同。第2章 C語言程序設計初步知識 2.3.5 逗號運算符及表達式逗號運算符及表達式 用逗號將表達式連接起來的式子稱為逗號表達式。 1. 逗號表達式的一般形式逗號表達式的一般形式 表達式表達式1 , 表達式表達式2 , 表達式表達式3 , 表達式表達式n 2. 逗號表達
26、式的功能逗號表達式的功能 先計算表達式1,再計算表達式2,最后計算表達式n。最后一個表達式的值即為此逗號表達式的值。 第2章 C語言程序設計初步知識 3. 逗號運算符的優(yōu)先級逗號運算符的優(yōu)先級 在所有運算符中,逗號運算符級別是最低的。 利用逗號表達式可實現在一條C語言中對多個變量賦予不同的值。第2章 C語言程序設計初步知識 返回章目錄第第3章章 簡單程序設計簡單程序設計 3.1 順序結構程序設計的概念 3.2 賦值語句 3.3 數據輸出 3.4 數據輸入 3.5 復合語句和空語句返回主目錄 3.1 順序結構程序設計的概念順序結構程序設計的概念 順序結構是一種線性結構,其特點是:在該結構中,各操
27、作塊(簡稱塊,它所對應的計算機語言表述形式是程序段)按照各自出現的先后順序,依次逐塊執(zhí)行。 3.2 賦值語句賦值語句 賦值語句由賦值表達式加上一個分號構成。格式為: 變量變量 =表達式表達式;第3章 簡單程序設計返回章目錄3.3 數據輸出數據輸出 在使用庫函數中的輸入輸出函數時,要用編譯預處理命令“#include”將有關的“頭文件”包含到用戶源程序中。例如,在使用標準輸入輸出庫函數時,要用到“stdio.h”文件,因此要將此文件包含進來,文件開頭應使用下面的編譯預處理命令: # include 或 # include stdio.h第3章 簡單程序設計返回章目錄3.3.1 printf函數函
28、數 1. printf函數的一般格式 printf函數的一般格式為: printf ( 格式控制格式控制 , 輸出項輸出項1 , 輸出項輸出項2 , ) 該函數按照指定的格式,將輸出項列表中的各項輸出到標準輸出文件中。 第3章 簡單程序設計 2. printf函數中格式控制說明函數中格式控制說明 每個格式控制說明必須用“%”開頭,以一個格式控制字符結束,在格式控制字符的前面還可以插入“寬度說明”、左對齊符號“-”、前導零符號“0”等附加字符。 1) 格式控制字符格式控制字符 常用的格式控制字符和它們的功能,見表3-1。使用時要注意區(qū)分大小寫。 第3章 簡單程序設計表3-1 printf函數的格
29、式控制字符 格 式 控 制 字格 式 控 制 字符符 說說 明明d , i輸出帶符號的十進制整型數(正數不輸出符號)輸出帶符號的十進制整型數(正數不輸出符號)o輸出無符號八進制整型數輸出無符號八進制整型數x 或或 X輸出無符號十六進制整型數(用輸出無符號十六進制整型數(用x時輸出時輸出af,用,用X時輸出時輸出AF)u輸出無符號十進制整型數輸出無符號十進制整型數c輸出一個字符輸出一個字符s輸出字符串輸出字符串f以小數形式輸出浮點數(隱含輸出以小數形式輸出浮點數(隱含輸出6位小數)位小數)e 或或 E以指數形式輸出浮點數,數字部分小數位數隱含輸出以指數形式輸出浮點數,數字部分小數位數隱含輸出6位
30、。位。g 或或 G選用選用%f和和%e格式中輸出寬度較短的一種格式格式中輸出寬度較短的一種格式p輸出變量或數組的地址輸出變量或數組的地址第3章 簡單程序設計 2) 附加格式說明字符附加格式說明字符 為了使程序的輸出結果更加整齊美觀,可以在控制字符的前面加上附加格式說明字符,見表3-2。 表3-2 printf函數的附加格式說明符 字字 符符 說說 明明字母字母l用于長整型數據,可加在格式控制符用于長整型數據,可加在格式控制符d、o、x、u的前面的前面m(正整數)(正整數)數據最小寬度數據最小寬度n(正整數)(正整數)對于浮點數,表示輸出對于浮點數,表示輸出n位小數;對于字符串,表示截取的位小數
31、;對于字符串,表示截取的字符個數;對于整數,指定必須輸出的數字個數,若輸出的字符個數;對于整數,指定必須輸出的數字個數,若輸出的數字少于指定的個數,則前面補數字少于指定的個數,則前面補0,否則按原樣輸出,否則按原樣輸出-輸出的數字或字符向左對齊輸出的數字或字符向左對齊+輸出的結果總是帶有輸出的結果總是帶有+號或號或-號號0 在輸出數據前加在輸出數據前加0第3章 簡單程序設計3.3.2 putchar函數函數 putchar函數的作用是向屏幕終端輸出一個字符。格式為: putchar(ch) ; 其中ch可以是字符型常量、變量或整型變量。 第3章 簡單程序設計返回章目錄3.4 數據輸入 3.4.
32、1 scanf函數函數 scanf函數的格式為: scanf(格式控制格式控制 , 地址地址1 , 地址地址2 , ); 3.4.2 getchar函數函數 此函數的作用是從屏幕終端輸入一個字符。getchar函數沒有參數,其一般格式為: getchar( ) 當執(zhí)行此函數調用語句時,變量將獲得一個從標準設備上讀取的字符代碼值。 第3章 簡單程序設計返回章目錄3.5 復合語句和空語句 3.5.1 復合語句復合語句 在C語言中,一對花括號“ ”不僅可用作函數體的開頭和結尾的標志,也可用作復合語句的開頭和結尾的標志;復合語句也可稱為“語句塊”,復合語句的語句格式為: 語句語句1 ; 語句語句2 ;
33、 ; 語句語句n ; 一個復合語句在語法上視為一條語句,在一對花括號中的語句數量不限。 3.5.2 空語句空語句 C程序中的所有語句必須由一個分號“;”作為結束。如 果語句只有一個分號,就是空語句。程序執(zhí)行空語句時不產生任何動作。第3章 簡單程序設計返回章目錄第4章 選擇結構程序設計 選擇結構是計算機科學用來描述自然界和社會生活中分支現象的手段。其特點是:根據所給定選擇條件為真(即分支條件成立)與否,而決定從各實際可能的不同操作分支中執(zhí)行某一分支的相應操作,并且任何情況下恒有“無論分支多寡,必擇其一;縱然分支眾多,僅選其一”的特性。 4.1 關系運算符及表達式 4.2 邏輯運算符及表達式 4.
34、3 條件運算符 4.4 單條件選擇 if 語句 4.5 開關分支 switch 語句 第4章 選擇結構程序設計返回主目錄 第4章 選擇結構程序設計4.1 關系運算符及表達式 關系表達式是由關系運算符連接表達式構成的。 1. 關系運算符關系運算符 關系運算符都是雙目運算符,共有如下6種: ,=,y、(x=5)=y等。 關系表達式的值是整數0或1,其中0代表邏輯假;1代表邏輯真。第4章 選擇結構程序設計返回章目錄4.2 邏輯運算符及表達式 邏輯表達式是由邏輯運算符連接表達式構成的。 1. 邏輯運算符邏輯運算符 C語言中提供了3種邏輯運算符: (1) 單目邏輯運算符:!(邏輯“非”)。 (2) 雙目
35、邏輯運算符:&(邏輯“與”)。 (3) 雙目邏輯運算符:|(邏輯“或”)。 其中邏輯“與”&的優(yōu)先級大于邏輯“或”|,它們的優(yōu)先級都小于邏輯“非”!。邏輯運算符具有自左至右的結合性。 第4章 選擇結構程序設計 2. 邏輯表達式邏輯表達式 由邏輯運算符組成的表達式稱為邏輯表達式。 邏輯表達式的結果為1(結果為“真”時)或0(結果為“假“時)。 表達式a和表達式b進行邏輯運算時,其運算規(guī)則,見表4-1。 第4章 選擇結構程序設計表4-1 邏輯運算的真值表 ab!a!ba & ba | b非0非00011非0001010非01001001100第4章 選擇結構程序設計 3.
36、短路表達式短路表達式 在由 & 和 | 運算符組成的邏輯表達式中,只對能確定整個表達式值所需要的最少數目的子表達式進行計算。也就是說,當計算出一個子表達式的值之后便可確定整個邏輯表達式的值時,后面的子表達式就不需要再計算了,整個表達式的值就是該子表達式的值。這種表達式也稱為短路表達式。 第4章 選擇結構程序設計返回章目錄4.3 條件運算符 條件運算符是C語言中唯一的三目運算符,條件表達式的一般格式為: 表達式表達式1 ? 表達式表達式2 : 表達式表達式3 條件運算符的執(zhí)行過程是:先求解表達式1,當值為非0(真),則求解表達式2,此時表達式2的值就作為整個條件表達式的值;否則求解表達式
37、3,此時表達式3的值就作為整個條件表達式的值。 條件運算符的優(yōu)先級高于賦值運算符,但是低于關系運算符和算術運算符。條件運算符的結合性為自右至左。 第4章 選擇結構程序設計返回章目錄4.4 單條件選擇 if 語句 單條件選擇結構的特點是:所給定的選擇條件(它可以是邏輯表達式也可以是關系表達式)的值如果為真,則執(zhí)行為真時的分支;如果為假則執(zhí)行為假時的分支。 第4章 選擇結構程序設計4.4.1 if 語句語句 if 語句是根據所給定的條件決定執(zhí)行的操作,是“二選一”的分支結構。If 語句的一般格式為: if (表達式表達式) 語句序列語句序列1; else 語句序列語句序列2; 第4章 選擇結構程序
38、設計4.4.2 if 語句的嵌套語句的嵌套 條件分支嵌套就是在一個分支中可以嵌套另一個分支。 單條件選擇 if 語句完整的嵌套格式為: if(表達式表達式1) if(表達式表達式2) 語句序列語句序列1 ; else 語句序列語句序列2 ; else if(表達式表達式3) 語句序列語句序列3 ; else 語句序列語句序列4 ;第4章 選擇結構程序設計返回章目錄4.5 開關分支switch語句 C語言提供了switch多路選擇語句。格式如下: switch(表達式表達式) case 常量表達式常量表達式1 : 語句組語句組1 ; case 常量表達式常量表達式2 : 語句組語句組2 ; ca
39、se 常量表達式常量表達式n : 語句組語句組n ; default : 語句組語句組n+1 ; 第4章 選擇結構程序設計返回章目錄第5章 循環(huán)結構程序設計 5.1 循環(huán)結構程序設計的概念 5.2 while 語句 5.3 do while 語句 5.4 for 語句 5.5 循環(huán)結構嵌套 5.6 break 語句和 continue 語句 5.7 語句標號和 goto 語句 返回主目錄 5.1 循環(huán)結構程序設計的概念 實現循環(huán)的程序結構稱為循環(huán)結構,是計算機科學中用以描述客觀世界循環(huán)現象的重要手段。 程序設計中的循環(huán)(簡稱循環(huán))是指在程序設計中,從某處開始有規(guī)律地反復執(zhí)行某一操作塊(或程序塊
40、)。如果循環(huán)永遠不會終止,這樣的循環(huán)就稱為死循環(huán)。 第5章 循環(huán)結構程序設計 返回章目錄5.2 while語句 while語句用來實現“當型”循環(huán)結構。 5.2.1 while語句的一般格式語句的一般格式 while語句是一個循環(huán)控制語句,用來控制程序段的重復執(zhí)行。其一般格式為: while(表達式表達式) 循環(huán)體循環(huán)體 ; 格式中的循環(huán)體,可以是單個語句、空語句,也可以是復合語句。 第5章 循環(huán)結構程序設計 5.2.2 while語句的執(zhí)行過程語句的執(zhí)行過程 當表達式為非0時,執(zhí)行while語句中的循環(huán)體,然后繼續(xù)進行表達式的判斷,如此循環(huán)。當表達式為0時,則退出循環(huán)。 說明:如果循環(huán)體包含
41、一個以上的語句,就構成塊語句,應該用花括號 括起來。 第5章 循環(huán)結構程序設計 返回章目錄5.3 do while語句 C語言中,用do while語句構成直到型循環(huán)結構。 5.3.1 do while語句的一般格式語句的一般格式 do while語句也是一個循環(huán)控制語句。其特點是先執(zhí)行循環(huán)體,然后判斷條件是否成立。其一般格式為: do 循環(huán)體循環(huán)體 while(表達式表達式) ; 說明:循環(huán)體至少執(zhí)行一次。當循環(huán)體有多個語句時必須加花括號 。 第5章 循環(huán)結構程序設計 5.3.2 do while語句的執(zhí)行過程語句的執(zhí)行過程 先執(zhí)行一次指定的循環(huán)體語句,然后判斷表達式。當表達式的值為非0的數
42、據時,返回重新執(zhí)行循環(huán)體,如此反復直到表達式的值為0為止,此時循環(huán)結束。第5章 循環(huán)結構程序設計 返回章目錄5.4 for 語句 for語句可以用于循環(huán)次數已經確定的情況,還可用于循環(huán)次數不確定而只給出循環(huán)結束條件的情況。 5.4.1 for語句的一般格式語句的一般格式 for語句的一般格式為: for (表達式表達式1 ; 表達式表達式2 ; 表達式表達式3) 循環(huán)體循環(huán)體 第5章 循環(huán)結構程序設計 5.4.2 for語句的執(zhí)行過程語句的執(zhí)行過程 for語句的執(zhí)行過程為: (1) 先求解表達式1,表達式1只執(zhí)行一次,一般是賦值語句,用于初始化變量。 (2) 求解表達式2,若為假(0),則結束
43、循環(huán)。 (3) 當表達式2為真(非0)時,執(zhí)行循環(huán)體。 (4) 執(zhí)行表達式3。 (5) 轉回(2)。第5章 循環(huán)結構程序設計 返回章目錄5.5 循環(huán)結構嵌套 一個循環(huán)體內包含另一個完整的循環(huán)結構,稱為循環(huán)的嵌套。循環(huán)之中還可以套循環(huán),稱為多層循環(huán)。三種循環(huán)(while循環(huán)、do while循環(huán)和for循環(huán))可以互相嵌套。例如: while( ) for ( ) 第5章 循環(huán)結構程序設計 返回章目錄5.6 break語句和continue語句 5.6.1 break語句語句 break語句可以用在循環(huán)語句和switch語句中。在循環(huán)語句中用來結束內部循環(huán);在switch語句中用來跳出switch
44、語句。 5.6.2 continue語句語句 continue語句的作用是結束本次循環(huán),忽略continue后面的語句,進行下一次循環(huán)判定。 第5章 循環(huán)結構程序設計 返回章目錄 5.7 語句標號和goto語句 goto語句為無條件轉向語句,它的一般格式為: goto 語句標號語句標號 ;第5章 循環(huán)結構程序設計 返回章目錄第6章 數 組 6.1 數組和數組單元的基本概念 6.2 一維數組 6.3 二維數組 6.4 字符數組返回主目錄 6.1 數組和數組單元的基本概念 1. 數組數組 將一組排列有序的、個數有限的變量作為一個整體,用一個統一的名字來表示,則這些有序變量的全體稱為數組;或者說,數
45、組是用一個名字代表順序排列的一組數,順序號就是下標變量的值。第6章 數 組 2. 數組單元數組單元 在同一數組中,構成該數組的成員稱為數組單元(或數組元素、下標變量)。C語言中,引用數組中的某一單元,要指出數組名和用括號括起來的數組單元在數組中的位置(順序號)的下標。例如: a3 代表a數組中順序號為3的那個單元。 第6章 數 組 3. 數組的維數數組的維數 下標變量中下標的個數稱為數組的維數。 具有一個下標的下標變量,構成一維數組。 具有兩個下標的下標變量,構成二維數組。 依次類推,三個下標的下標變量,構成三維數組。有多少個下標的下標變量,就構成多少維的數組。通常把二維以上的數組稱為多維數組
46、。 第6章 數 組 返回章目錄6.2 一維數組 用一個統一的標識符,即數組名來標識一組變量(也稱元素),用下標來指示數組中元素的序號。當數組中每個元素只帶有一個下標時,此數組稱為一維數組。 6.2.1 一維數組的定義、引用、初始化一維數組的定義、引用、初始化 1. 一維數組的定義一維數組的定義 定義一維數組的格式為: 類型標識符類型標識符 數組名數組名常量表達式常量表達式 , ;第6章 數 組 2. 一維數組的引用一維數組的引用 使用數組必須先定義,后引用。 引用時只能對數組元素引用,如a0,ai,ai+1等,而不能引用整個數組。 在引用時應注意以下幾點: (1) 由于數組元素本身等價于同一類
47、型的一個變量,因此,對變量的任何操作都適用于數組元素。 (2) 在引用數組元素時,下標可以是整型常數或表達式,表達式內允許變量存在。在定義數組時下標不能使用變量。 (3) 引用數組元素時下標最大值不能出界。 第6章 數 組 3. 一維數組的初始化一維數組的初始化 前已述及,可利用賦值語句或輸入語句給數組元素賦值。C語言還允許在定義數組時對各數組元素指定初始值稱為數組初始化。 (1) 數組初始化形式數組初始化形式1 例如:將括號內整型數據0,1,2,3,4分別賦給整型數組元素a0,a1,a2,a3,a4。可以寫為下面的形式: int a5=0, 1, 2, 3, 4 ; 第6章 數 組 2) 數
48、組初始化形式數組初始化形式2 例如:對a數組中所有元素賦初值0??梢詫懽飨旅娴男问剑?int a 10=0 ; 3) 通過賦初值定義數組大小通過賦初值定義數組大小 例如: int a =1, 2, 3, 4, 5 ; 等價于:int a5=1, 2, 3, 4, 5 ;第6章 數 組 6.2.2 一維數組程序示例一維數組程序示例 【例6-3】 從鍵盤輸入20個整數,檢查整數10是否包含在這些數據中,若是的話,它是第幾個被輸入的。 程序如下:第6章 數 組 # include stdio.hmain() int data20 , i ; for(i=0 ; i20 ; i+) scanf(%d
49、, &datai) ; for(i=0 ; i20 ; i+) if(datai=10) printf(10 is input the postion %d n , i+1) ; break ; 第6章 數 組 程序運行結果為: 輸入:20 30 40 50 60 10 70 80 90 100 110 120 130 140 150 160 170 180 190 200 輸出:10 is input the position 6第6章 數 組 【例6-4】輸出字符串welcome。 程序如下: main() int i ; char str =w , e , l , c , o ,
50、 m , e ; for(i=0 ; i7 ; i+) printf(%c , stri) ; 運行結果:welcome 第6章 數 組 返回章目錄6.3 二維數組 6.3.1 二維數組的定義、引用、初始化二維數組的定義、引用、初始化 1. 二維數組的定義 定義二維數組的一般格式為: 類型說明符類型說明符 數組名數組名 常量表達式常量表達式1常量表達式常量表達式2 2. 二維數組元素的引用 二維數組中各個元素可看作具有相同數據類型的一組變量。因此,對變量的引用及一切操作,同樣適用于二維數元素。 二維數組元素引用的格式為: 數組名數組名下標下標下標下標第6章 數 組 3. 二維數組的初始化 在定
51、義二維數組的同時,可使用以下幾種方法對二維數組初始化。 (1) 將所有數據寫在一個大括號內,以逗號分隔,按數組元素在內存中的排列順序對其賦值。 例如:int a23=0 , 1 , 2 , 3 , 4 , 5 ; (2) 分行對數組元素賦值。 例如:int a23=0 , 1 , 2 , 4 , 5 , 6 ; 第6章 數 組 (3) 對部分元素賦值。 例如:int a23=1 , 4 ; (4) 若對全部元素賦初值,則定義時第一維長度可缺省??捎傻诙S長度,即列的數據的個數自動確定第一維長度(即行的個數)。 例如:int a 3=0 , 1 , 2 , 3 , 4 , 5 ;第6章 數 組
52、6.3.2 二維數組應用示例二維數組應用示例 【例6-7】 有一個34矩陣,要求編寫程序求出矩陣中所有元素中的最大值,并找出其所在的位置,即行號和列號。 程序如下: # include stdio.h main() int i , j , r , c , max ; int a34=1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 ; max=a00 ; 第6章 數 組 for(i=0 ; i3 ; i+) for(j=0 ; jmax) max=aij , r=i , c=j ; /* 用逗號表達式實現對max , r , c賦值 */ pri
53、ntf(max=%d,r=%d,c=%d,max,r,c); 運行結果為: max = 12 r = 3 c = 4 第6章 數 組 【例6-8】 某班有40個學生考5門課程,求每個學生的平均成績并輸出。 程序如下: # define M 40 # define N 5 main() int i , j ; float sMN , averM , sum ; for(i=0 ; iM ; i+) for(j=0 ; jN ; j+)第6章 數 組 scanf(%f , &sij) ; /* 由鍵盤輸入40個學生5門課的成績 */ for(i=0 ; iM ; i+) sum=0.0 ;
54、 for(j=0 ; jN ; j+) sum+=sij ; averi=sum/N ; for(i=0 ; iM ; i+) printf (aver%d=%fn , i ,averi) ; 第6章 數 組 返回章目錄6.4 字符數組 字符數組是用來存放字符的數組,字符數組中的一個元素存放一個字符。 6.4.1 字符數組的定義、引用、初始化字符數組的定義、引用、初始化 對字符數組賦值或數組初始化時,數據使用字符型數據或相應的ASCII碼值。 6.4.2 字符串與字符型數組字符串與字符型數組 字符串(也稱字符串常量)是用雙引號括起來的若干有效字符序列。在C語言中,字符串可以包含字母、數字、轉義
55、字符等。 第6章 數 組 1. 使用字符串時的注意事項使用字符串時的注意事項 (1) C語言沒有專門存放字符串的變量。 (2) C語言中,系統自動地在每一個字符串的最后加入一個字符 0,作為字符串的結束標志。 (3) C語言中,字符型數據是指單個字符(包含轉義字符),在使用時用單引號括起來。而字符串是用雙引號括起來的字符序列。第6章 數 組 2. 字符數組的初始化字符數組的初始化 (1) 可以在定義數組的同時對數組中的各個元素賦初值,例如: char c5=h , e , l , l , o ; (2) 可以在定義數組的同時將字符串賦給一個一維字符型數組。 例如: char c6=hello
56、;第6章 數 組 6.4.3 字符數組的輸入輸出字符數組的輸入輸出 可以利用字符數組對單個字符和字符串進行輸入輸出操作。 1. 逐個字符輸入輸出 用格式符%c輸入或輸出一個字符。 2. 字符串整串輸入和輸出 用%s格式符可輸入、輸出字符串。由于C語言中沒有專門存放字符串的變量,字符串存放在一個字符型數組中,數組名表示第一個字符的首地址,故在輸入或輸出字符串時可直接使用數組名。第6章 數 組 6.4.4 字符串處理函數字符串處理函數 1. 字符串輸入、輸出函數 1) 輸入一個字符串函數gets( ) gets函數一般調用格式為: gets(str) ; gets函數的作用是從終端鍵盤輸入字符串(
57、字符串可以包括空格),直到遇到回車符為止,回車符讀入后,不作為字符串的內容,系統將自動用0代替,作為字符串的結束標志。 第6章 數 組 2) 輸出一個字符串函數輸出一個字符串函數puts( ) puts( )函數的一般調用格式為: puts(str) ; 該函數的作用是從str指定的地址開始,依次輸出存儲單元中的字符,直到遇到字符串結束標志第1個 0 字符為止。第6章 數 組 2. 字符串處理函數 1) 字符串復制函數字符串復制函數strcpy( ) strcpy( )函數一般調用格式為: strcpy(str1 , str2) 功能:把str2所指向的字符串復制到str1所指的字符數組中。
58、2) 字符串連接函數字符串連接函數strcat( ) strcat( )函數一般調用格式為: strcat(str1 , str2) ; 功能:將str2所指的字符串連接到str1所指的字符串的后面,并自動覆蓋str1所指的字符串的尾部字符 0。第6章 數 組 3) 求字符串長度函數求字符串長度函數strlen( ) strlen( )函數一般調用格式為: strlen(str) ; 功能:計算str為起始地址的字符串的長度(不包含字符串結束標志0),并作為函數值返回。第6章 數 組 4) 字符串比較函數字符串比較函數strcmp( ) strcmp( )函數一般調用格式為: strcmp(s
59、tr1 , str2) ; 功能:比較str1和str2所指向的兩個字符串,并產生以下結果: str1與str2相等時,函數值為0。 str1str2時,函數值大于0。 str1str2時,函數值小于0。 字符串之間比較的方法是:從第一個字符開始,依次對str1與str2對應位置上的字符按ASCII碼值的大小進行比較,直到出現第一個不相同的字符時,即由這兩個字符的大小決定所在串的大小。第6章 數 組 6.4.5 字符串數組應用舉例字符串數組應用舉例 例6-17】 從終端鍵盤輸入一字符串,并復制到另一字符數組后顯示出來。 程序如下: # include stdio.h main() char s
60、tr130 , str230 ; int i ; printf(input a string:) ; scanf(%s , str1) ; i=0 ;第6章 數 組 while(str1i!=0) str2i=str1i ; i+ ; str2i=0 ; printf(%s , str2) ; 運行結果: input a string : ABC ABC第6章 數 組 【例6-18】 由終端鍵盤輸入一字符串,要求從該串中刪去一字符。 main() char str150 , str250 ; char ch ; int i=0 , k=0 ; gets(str1) ; printf( n delete?) ; scanf(%c , &c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石坎施工方案
- 培訓機構消防施工方案
- 關于施工方案
- 美麗人生觀后感
- 二零二五年度私人房產全款買賣合同(限智能家居)
- 甲乙丙方2025年度轉租健身房租賃合同
- 2025年度電力工程安全防護電力勞務分包合同模板
- 二零二五年度生物樣本低溫保管與共享協議
- 工傷事故賠償及職工權益保護協議2025年度范本
- 二零二五年度科技孵化器場地租賃管理服務合同
- 廉政鑒定書(院內廉政意見書)
- 《潘姓源于固始,是不爭的史實》的考辨
- 二次電纜敷設、接線作業(yè)指導書
- 焊接技師培訓教材(釬焊)課件
- 《等腰三角形的性質》優(yōu)秀課件
- 原發(fā)性肝癌經皮肝動脈化療栓塞術(TACE)臨床路徑
- 異常情況匯報流程圖
- 化工工藝學-第二章-化工原料及其初步加工
- 全國水資源綜合規(guī)劃技術細則(水利部文件)
- 02312電力系統遠動及調度自動化
- 校園欺凌談心記錄
評論
0/150
提交評論