措辭法度模范設(shè)計實例教程中國高級職業(yè)技巧教導(dǎo)研究會推薦[最新]_第1頁
措辭法度模范設(shè)計實例教程中國高級職業(yè)技巧教導(dǎo)研究會推薦[最新]_第2頁
措辭法度模范設(shè)計實例教程中國高級職業(yè)技巧教導(dǎo)研究會推薦[最新]_第3頁
措辭法度模范設(shè)計實例教程中國高級職業(yè)技巧教導(dǎo)研究會推薦[最新]_第4頁
措辭法度模范設(shè)計實例教程中國高級職業(yè)技巧教導(dǎo)研究會推薦[最新]_第5頁
已閱讀5頁,還剩225頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、語言程序設(shè)計實例教程中國高等職業(yè)技術(shù)教育研究會推薦丁愛萍 劉瑞新 莊建敏 編 高 職 系 列 教 材 西安電子科技大學(xué)出版社出版http:/ 第1章 程序設(shè)計與C語言 第2章 C語言程序設(shè)計初步知識 第3章 簡單程序設(shè)計 第4章 選擇結(jié)構(gòu)程序設(shè)計 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 第6章 數(shù) 組 第7章 函 數(shù) 第8章 指 針 第9章 編譯預(yù)處理 第10章 結(jié)構(gòu)體和共用體 第11章 位運算 第12章 文 件 第13章 程序調(diào)試與常見錯誤分析目錄退出第1章 程序設(shè)計與C語言 1.1 程序設(shè)計的基本概念 1.2 算法 1.3 結(jié)構(gòu)化程序及設(shè)計步驟 1.4 C語言的特點 1.5 C語言程序的基本結(jié)構(gòu) 1.6

2、 C程序的上機操作 返回主目錄 1.1 程序設(shè)計的基本概念 1.1.1 程序程序 電子計算機只是一種以二進制數(shù)據(jù)形式在內(nèi)部存儲信息、以程序存儲為基礎(chǔ)、由程序自動控制的電子設(shè)備。 程序是一條條有序指令的集合。第1章 程序設(shè)計與C語言 1.1.2 計算機語言計算機語言 程序設(shè)計語言是實現(xiàn)程序設(shè)計、以便人與計算機進行信息交流的必備工具,又稱計算機語言。目前,社會上廣泛使用的是高級語言,是一種接近人們習(xí)慣的程序設(shè)計語言,它使用人們所熟悉的文字、符號及數(shù)學(xué)表達式來編寫程序,使程序的編寫和操作都顯得十分方便。第1章 程序設(shè)計與C語言 由高級語言編寫的程序稱為“源程序”。在計算機內(nèi)部,源程序必須翻譯為機器能

3、夠接受的二進制代碼所表示的“目標(biāo)程序”(也稱機器語言)。其中,具有這種翻譯功能的程序稱為“編譯程序”,如圖1.1所示。 源程序編譯程序目標(biāo)程序圖1.1 源程序編譯過程第1章 程序設(shè)計與C語言 1.1.3 程序設(shè)計程序設(shè)計 程序設(shè)計的一般步驟: 1. 確定數(shù)據(jù)結(jié)構(gòu)。 2. 確定算法。 3. 編程。 4. 調(diào)試。 5 整理源程序并總結(jié)資料。第1章 程序設(shè)計與C語言 返回章目錄 1.2 算法算法 所謂算法,是為解決某一特定的問題,所給出的一系列確切的、有限的操作步驟。 1.2.1 算法設(shè)計算法設(shè)計 程序?qū)嶋H上是用計算機語言所描述的算法。也就是說,依據(jù)算法所給定的步驟,用計算機語言所規(guī)定的表達形式去實

4、現(xiàn)這些步驟,即為源程序。 在算法設(shè)計中應(yīng)遵循的準(zhǔn)則: (1) 可執(zhí)行性。 (2) 確定性。 (3) 有窮性。 (4) 輸入。 (5) 輸出。第1章 程序設(shè)計與C語言 1.2.2 算法的描述算法的描述 目前,對算法的描述,一般采用自然語言、一般流程圖或N-S結(jié)構(gòu)流程圖。 常用一般流程圖符號如圖1.2所示。 處理框 輸入輸出框 判斷框 流程線圖1.2 常用流程圖符號第1章 程序設(shè)計與C語言 返回章目錄 1.3 結(jié)構(gòu)化程序及設(shè)計步驟結(jié)構(gòu)化程序及設(shè)計步驟 1.3.1 結(jié)構(gòu)化程序設(shè)計的概念結(jié)構(gòu)化程序設(shè)計的概念 結(jié)構(gòu)化程序由3種基本結(jié)構(gòu)組成:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。使用這基本結(jié)構(gòu)編寫的程序,稱為結(jié)構(gòu)

5、化程序。第1章 程序設(shè)計與C語言 1. 順序結(jié)構(gòu) 程序中的語句按先后順序逐條執(zhí)行。s=a+b輸出輸出b=4a=3a=3b=4s=a+b輸出輸出s圖1.4 順序結(jié)構(gòu)流程圖(a)一般流程圖;(b)N-S結(jié)構(gòu)流程圖 (a) (b)第1章 程序設(shè)計與C語言 2. 選擇結(jié)構(gòu) 在執(zhí)行程序中的選擇結(jié)構(gòu)語句時,該語句的執(zhí)行將根據(jù)不同的條件執(zhí)行不同分支的語句。 圖1.5 選擇結(jié)構(gòu)流程圖 (a) 一般流程圖;(b) N-S結(jié)構(gòu)流程圖 abmax=amax=b輸出輸出maxnoyesab yes no max=a max=b(a) (b) 第1章 程序設(shè)計與C語言 3. 循環(huán)結(jié)構(gòu) 在執(zhí)行程序中的循環(huán)結(jié)構(gòu)語句時,該語

6、句將根據(jù)各自的條件,對循環(huán)結(jié)構(gòu)所限定的語句(即循環(huán)體)重復(fù)執(zhí)行多次或零次。 循環(huán)結(jié)構(gòu)又分為當(dāng)型循環(huán)和直到型循環(huán)兩種情況。 1)當(dāng)型循環(huán) 該循環(huán)的特點是:當(dāng)條件滿足時,就執(zhí)行循環(huán)體,否則就退出循環(huán)結(jié)構(gòu)。 第1章 程序設(shè)計與C語言 圖1.6 當(dāng)型循環(huán)流程圖 (a)一般流程圖;(b)N-S結(jié)構(gòu)流程圖 i=1, t=1第1章 程序設(shè)計與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)結(jié)構(gòu)。 圖1.7 直到型循環(huán)流程圖 (a)一般流程圖; (b) N-S結(jié)構(gòu)流程圖 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章 程序設(shè)計與C語言 3. 建立工作環(huán)境 操作步驟如下: (1) 按F10鍵,選擇“O

8、ption”菜單并按回車鍵。 (2) 在“Option”子菜單中選擇“Directories”選項并按回車鍵,將彈出子菜單。 “Include directories”選項:說明標(biāo)準(zhǔn)包含文件的目錄。 “Library directory”選項:說明Turbo C運行時庫文件所在的目錄。 “Output directory”選項:即編譯、連接后的可執(zhí)行文件所存放的目錄。 “Turbro C directory”選項:即Turbo C文件所在的目錄。第1章 程序設(shè)計與C語言 4. 編寫源程序 操作步驟如下: (1) 在主菜單中選擇“File”選項并按回車鍵。 (2) 在“File”的下拉菜單中,選

9、擇“Load”選項,屏幕將出現(xiàn)一個提示框。 用戶輸入要編輯的文件名并按回即可,將進入全屏幕編輯狀態(tài)。第1章 程序設(shè)計與C語言 5. 常用編輯鍵 Insert鍵:控制工作狀態(tài)是否為“插入狀態(tài)”。 Delete鍵:刪除光標(biāo)所在的字符。 Ctrl+Y鍵:刪除光標(biāo)所在的一行。 Ctrl+N鍵:插入一行。第1章 程序設(shè)計與C語言 6. 編譯、連接、運行 (1) 對單一源程序文件進行編譯、連接、運行。 操作步驟如下: a. 按F10鍵選擇“Compile”選項。 b. 選中“Make exe File”項,回車。 c. 按Esc鍵回到主菜單,選擇“Run”菜單中的“Run”項,運行已生成的可執(zhí)行文件。第1

10、章 程序設(shè)計與C語言 (2) 對兩個以上源程序文件進行編譯、連接、運行。 利用Turbo C提供的“Project”菜單項,其功能可直接將兩個以上的文件編譯連接后生成一個完整的運行程序。 操作步驟如下: a. 假設(shè)有兩個文件組成一個程序,首先要生成兩個源文件(如File1.c和File2.c)。 b. 構(gòu)造Project文件。 c. 選擇“Project”菜單中的“Project name”項,回車,輸入Project文件名,按F9鍵產(chǎn)生相應(yīng)的可執(zhí)行文件。 d. 停止編譯的方式。 e. 運行。第1章 程序設(shè)計與C語言 返回章目錄第第2章章 C語言程序設(shè)計初步知識語言程序設(shè)計初步知識 2.1 標(biāo)

11、識符、常量和變量 2.2 簡單數(shù)據(jù)類型 2.3 基本運算表達式 返回主目錄 2.1 標(biāo)識符、常量和變量標(biāo)識符、常量和變量 2.1.1 標(biāo)識符標(biāo)識符 標(biāo)識符是用來標(biāo)識變量名、符號常量名、函數(shù)名、文件名以及一些具有專門含義的有效字符序列。 C語言規(guī)定:合法的標(biāo)識符只能由字母、數(shù)字和下劃線組成,第一個字符必須為字母或下劃線。大寫字母和小寫字母被視為兩個不同的字符。標(biāo)識符的長度規(guī)定取前8個字符為有效字符。例如:sum、area、aver.PI、_above、L_1_2_3、S12 合法的標(biāo)識符 A.B.C、A.123、13、3area、a+b 不合法的標(biāo)識符第2章 C語言程序設(shè)計初步知識 1. 關(guān)鍵字

12、標(biāo)識符 關(guān)鍵字又稱為命令符,在程序中具有特定的含義,不能另作它用,其他字符又無法直接替代。 2. 預(yù)定義標(biāo)識符 預(yù)定義標(biāo)識符是指C語言提供的庫函數(shù)名和預(yù)編譯處理命令(如printf、scanf、define)等。第2章 C語言程序設(shè)計初步知識 3. 用戶標(biāo)識符 由用戶根據(jù)需要自定義的標(biāo)識符稱為用戶標(biāo)識符。使用用戶自定義標(biāo)識符時,應(yīng)注意: (1) 最好根據(jù)其含義選用英文縮寫及漢語拼音作標(biāo)識符,這樣便于閱讀程序。 (2) 不能與關(guān)鍵字相同。 (3) 如果與預(yù)定義標(biāo)識符相同系統(tǒng)并不報錯,程序仍能運行,只是預(yù)定義標(biāo)識符失去原來的含義,代之以用戶確認(rèn)的含義。 第2章 C語言程序設(shè)計初步知識 2.1.2

13、常量和變量常量和變量 1. 常量 在程序運行過程中,其值不能被修改的固定量稱為常量,C語言中有3種常量: (1) 算術(shù)型運算常量(如整型常量、實型常量等); (2) 字符型常量(如字符常量、字符串常量); (3) 標(biāo)識符所定義的常量。第2章 C語言程序設(shè)計初步知識 2. 變量 程序運行過程中,其值可以改變的量叫變量;程序中使用的變量,屬于用戶自定義標(biāo)識符,任何一個變量名必須先定義(即確定變量名和變量的類型)后使用。 變量也有類型之分,常用的有整型變量、實型變量、字符型變量等。 第2章 C語言程序設(shè)計初步知識 返回章目錄2.2 簡單數(shù)據(jù)類型簡單數(shù)據(jù)類型 C語言中的數(shù)據(jù)類型,如圖2.1所示。 圖2

14、.1 C語言中的數(shù)據(jù)類型 無符號型(無符號型(unsigned)長整型(長整型(long)短整型(短整型(short)整型(整型(int)單精度型(單精度型(float)雙精度型(雙精度型(double)整型整型文件類型(文件類型(file)字符串類型字符串類型數(shù)據(jù)類型數(shù)據(jù)類型指針類型指針類型空類型空類型基本類型基本類型(簡單類型)(簡單類型)數(shù)值類型數(shù)值類型字符型(字符型(char)構(gòu)造類型構(gòu)造類型數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型(結(jié)構(gòu)體類型(struct)共用體類型(共用體類型(union)實型實型枚舉類型(枚舉類型(enum)第2章 C語言程序設(shè)計初步知識 2.2.1 整型數(shù)據(jù)整型數(shù)據(jù) 1.

15、整型常量 整型常量,即整型常數(shù)。C語言整型常量可用以下3種形式表示: (1) 十進制整型常數(shù)。 (2) 八進制數(shù)。以0開頭的數(shù)。 (3) 十六進制整數(shù)。以0 x開頭的數(shù)為十六進制數(shù)。 第2章 C語言程序設(shè)計初步知識 2. 整型變量 1) 整型變量的分類 整型變量可分為以下4種整型類型: a. 基本型,以int表示; b. 短整型,以short表示; c. 長整型,以long表示; d. 無符號整型,以unsigned表示。 第2章 C語言程序設(shè)計初步知識 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. 整型數(shù)據(jù)在內(nèi)存中的存放形式 在C語言中,一個整型數(shù)通常占用2個字節(jié),低位在前一個字節(jié),高位在后一個字節(jié)。 第2章 C語言程序設(shè)計初步知識 2.2.2 實型數(shù)據(jù)實型數(shù)據(jù) 1. 實型常量 在C語言中實型表示實數(shù)的集合,實型常量又稱實數(shù)。實型常量有兩種表現(xiàn)形式。 1) 十進制數(shù)形式 十進制數(shù)形式和數(shù)學(xué)中的實數(shù)形式類同,由數(shù)字和小數(shù)點組成,小數(shù)點是實數(shù)的標(biāo)志。 2) 指數(shù)形式 實數(shù)的指數(shù)形式類似于數(shù)學(xué)中的指數(shù)形式。組成格式如下: 數(shù)字小

17、數(shù)E整數(shù) ( 內(nèi)為可省項)項)第2章 C語言程序設(shè)計初步知識 2. 實型變量 在C語言中實型變量分為單精度(float)和雙精度(double)兩類。 實型變量的定義: float a , b ; /* 定義a , b為單精度實型變量 */ double x , y ; /* 定義x , y為雙精度實型變量 */第2章 C語言程序設(shè)計初步知識 2.2.3 字符型數(shù)據(jù)字符型數(shù)據(jù) 1. 字符型常量 字符型常量(簡稱字符常量)是一個字符,在表示時由兩個單引號括起來。例如A、a、+、2等。 字符型常量在內(nèi)存中占用一個字節(jié),存放的是字符的ASCII碼值,如字符A的值為65;B的值為66。所有字符常量還可

18、作為整型量進行運算,以及參與相應(yīng)的各種操作。 第2章 C語言程序設(shè)計初步知識 2. 轉(zhuǎn)義字符 C語言中有一種特殊的字符常量轉(zhuǎn)義字符,這類字符常量是以反斜杠字符“”開頭的字符序列,它表示某個特定的ASCII碼字符。在程序中,轉(zhuǎn)義字符要放在一對單引號內(nèi)。 常用的轉(zhuǎn)義字符及其含義: n回車換行至下一行開頭 r 回車至本行開頭 b 退格符 反斜杠字符 單引號字符第2章 C語言程序設(shè)計初步知識 3. 字符變量 字符變量用于存放一個字符常量。字符變量的定義格式為: char c1 , c2; 其中c1和c2分別被定義為字符型變量。 一個字符型變量在內(nèi)存中占一個字節(jié),字符型變量可以參加任何整型運算。 第2章

19、 C語言程序設(shè)計初步知識 返回章目錄2.3 基本運算表達式基本運算表達式 2.3.1 算術(shù)運算符及表達式算術(shù)運算符及表達式 1. 基本算術(shù)運算符 基本算術(shù)運算符及特性,見表2-4。 第2章 C語言程序設(shè)計初步知識 表2-4 基本運算符列表 運算符運算符功能功能操作數(shù)個數(shù)操作數(shù)個數(shù)結(jié)合方向結(jié)合方向優(yōu)先級優(yōu)先級+-求正求正求負(fù)求負(fù)單目單目單目單目自右至左自右至左自右至左自右至左高高 低低*/%乘法乘法除法除法求余求余雙目雙目雙目雙目雙目雙目自左至右自左至右自左至右自左至右自左至右自左至右+-加法加法減法減法雙目雙目雙目雙目自左至右自左至右自左至右自左至右第2章 C語言程序設(shè)計初步知識 2. 算術(shù)表

20、達式 由算術(shù)運算符將操作數(shù)連接起來的有意義的式子稱為算術(shù)表達式。例如2+a*b。 使用運算符時,應(yīng)注意: (1) 表達式本身的功能。 (2) 操作數(shù)的個數(shù)。 (3) 操作數(shù)的類型。 (4) 運算符的優(yōu)先級。 (5) 結(jié)合性。 (6) 任何一個表達式除了有其所實現(xiàn)的功能外,還有表達式其自身的值。第2章 C語言程序設(shè)計初步知識 2.3.2 賦值運算符及表達式賦值運算符及表達式 1. 賦值運算符 “=”符就是賦值運算符,賦值運算符構(gòu)成的表達式格式如下: 變量名變量名=表達式表達式 2. 復(fù)合賦值運算符 在“=”前面加上雙目運算符,如“+”、“-”、“*”、“%”、“/”即構(gòu)成復(fù)合賦值運算符。 例如:

21、a+=3 等價于a=a+3 所有復(fù)合賦值運算符級別相同,且與賦值運算符同一優(yōu)先級,都具有右結(jié)合性。 例如,設(shè)a的初值為10,則表達式a+=a-=a*=a等價于:a+=(a-=a*=a)第2章 C語言程序設(shè)計初步知識 2.3.3 不同類型數(shù)據(jù)間的轉(zhuǎn)換不同類型數(shù)據(jù)間的轉(zhuǎn)換 1. 數(shù)據(jù)類型自動轉(zhuǎn)換數(shù)據(jù)類型自動轉(zhuǎn)換 數(shù)據(jù)類型的自動轉(zhuǎn)換常發(fā)生在以下情況中: (1) 進行運算時轉(zhuǎn)換。 (2) 賦值轉(zhuǎn)換。 (3) 輸出轉(zhuǎn)換。 (4) 函數(shù)調(diào)用轉(zhuǎn)換。 2. 不同類型數(shù)據(jù)間的混合運算不同類型數(shù)據(jù)間的混合運算 整型、實型、字符型數(shù)據(jù)可以進行混合運算。在進行運算時,應(yīng)先把不同類型的數(shù)據(jù)轉(zhuǎn)換為同一類型,然后進行運算,

22、轉(zhuǎn)換規(guī)則,參見圖2.2所示。 第2章 C語言程序設(shè)計初步知識 圖2.2 混合運算時不同類型數(shù)據(jù)間的轉(zhuǎn)換 doublelongunsignedintchar,shortfloat高高低低第2章 C語言程序設(shè)計初步知識 3. 賦值轉(zhuǎn)換賦值轉(zhuǎn)換 (1) 將整型數(shù)據(jù)賦給實型變量,這時數(shù)值不變,但以實型數(shù)據(jù)形式存到變量中。 (2) 將實型數(shù)據(jù)賦給整型變量,這時舍棄小數(shù)部分,取整數(shù)部分賦給整型變量中。 (3) 將int型整型數(shù)據(jù)賦給無符號型整型變量,int型數(shù)據(jù)按存儲單元中實際二進制位的內(nèi)容直接賦給unsigned型變量。 若int型數(shù)據(jù)為正數(shù),即存儲單元中最高位為0,賦值后,則int型數(shù)據(jù)與unsign

23、ed型數(shù)據(jù)的數(shù)值相同。 若int型數(shù)據(jù)為負(fù)數(shù),即存儲單元中最高位為1,賦值后,unsigned型數(shù)據(jù)在使用時,最高位將代表一定的數(shù)值。第2章 C語言程序設(shè)計初步知識 (4) 字符型數(shù)據(jù)賦給整型變量。 字符型數(shù)據(jù)占1個字節(jié),而整型變量占2個字節(jié),因此賦值轉(zhuǎn)換過程中,存在位的擴展。 a. 對于unsigned型變量,字符型數(shù)據(jù)(8位)傳送給unsigned變量的低8位,而unsigned變量的高8位只須補0; b. 對于int型變量,若字符型數(shù)據(jù)最高位為0,則int型變量高8位補0。若字符型數(shù)據(jù)最高位為1,則int型變量的高8位補1。這樣可以保持?jǐn)?shù)值不變。 第2章 C語言程序設(shè)計初步知識 4. 強

24、制類型轉(zhuǎn)換強制類型轉(zhuǎn)換 在C語言中,可以利用強制類型轉(zhuǎn)換符,將表達式的類型轉(zhuǎn)換為所需類型。 一般形式: (類型名類型名)表達式表達式 例如: (int)a表示將a轉(zhuǎn)換成int類型; 第2章 C語言程序設(shè)計初步知識 2.3.4 自增、自減運算符及表達式自增、自減運算符及表達式 1. 格式與功能格式與功能 格式: i+ i- 功能:先使用i的值,然后,變量i的值增加(減少)1,即i=i1。 格式: +i -i 功能:變量i先增加(減少)1,即i=i1,然后,再使用i的值。 第2章 C語言程序設(shè)計初步知識 2. 自增、自減運算符的運算自增、自減運算符的運算 自增、自減運算為單目運算,其運算數(shù)據(jù)為單操

25、作數(shù),且操作數(shù)只能是變量,不能是常量或表達式。 3. 自增、自減運算符的結(jié)合性自增、自減運算符的結(jié)合性 自增、自減運算符屬右結(jié)合性。 注意: (1) 使用+i或i+單獨構(gòu)成語句時,其作用是等價的,均為i=i+1。 (2) 運算對象只能是整型變量和實型變量。 (3) 對于表達式(i+)+(i+)+(i+),不同的編程環(huán)境,其結(jié)果不同。第2章 C語言程序設(shè)計初步知識 2.3.5 逗號運算符及表達式逗號運算符及表達式 用逗號將表達式連接起來的式子稱為逗號表達式。 1. 逗號表達式的一般形式逗號表達式的一般形式 表達式表達式1 , 表達式表達式2 , 表達式表達式3 , 表達式表達式n 2. 逗號表達

26、式的功能逗號表達式的功能 先計算表達式1,再計算表達式2,最后計算表達式n。最后一個表達式的值即為此逗號表達式的值。 第2章 C語言程序設(shè)計初步知識 3. 逗號運算符的優(yōu)先級逗號運算符的優(yōu)先級 在所有運算符中,逗號運算符級別是最低的。 利用逗號表達式可實現(xiàn)在一條C語言中對多個變量賦予不同的值。第2章 C語言程序設(shè)計初步知識 返回章目錄第第3章章 簡單程序設(shè)計簡單程序設(shè)計 3.1 順序結(jié)構(gòu)程序設(shè)計的概念 3.2 賦值語句 3.3 數(shù)據(jù)輸出 3.4 數(shù)據(jù)輸入 3.5 復(fù)合語句和空語句返回主目錄 3.1 順序結(jié)構(gòu)程序設(shè)計的概念順序結(jié)構(gòu)程序設(shè)計的概念 順序結(jié)構(gòu)是一種線性結(jié)構(gòu),其特點是:在該結(jié)構(gòu)中,各操

27、作塊(簡稱塊,它所對應(yīng)的計算機語言表述形式是程序段)按照各自出現(xiàn)的先后順序,依次逐塊執(zhí)行。 3.2 賦值語句賦值語句 賦值語句由賦值表達式加上一個分號構(gòu)成。格式為: 變量變量 =表達式表達式;第3章 簡單程序設(shè)計返回章目錄3.3 數(shù)據(jù)輸出數(shù)據(jù)輸出 在使用庫函數(shù)中的輸入輸出函數(shù)時,要用編譯預(yù)處理命令“#include”將有關(guān)的“頭文件”包含到用戶源程序中。例如,在使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時,要用到“stdio.h”文件,因此要將此文件包含進來,文件開頭應(yīng)使用下面的編譯預(yù)處理命令: # include 或 # include stdio.h第3章 簡單程序設(shè)計返回章目錄3.3.1 printf函數(shù)函

28、數(shù) 1. printf函數(shù)的一般格式 printf函數(shù)的一般格式為: printf ( 格式控制格式控制 , 輸出項輸出項1 , 輸出項輸出項2 , ) 該函數(shù)按照指定的格式,將輸出項列表中的各項輸出到標(biāo)準(zhǔn)輸出文件中。 第3章 簡單程序設(shè)計 2. printf函數(shù)中格式控制說明函數(shù)中格式控制說明 每個格式控制說明必須用“%”開頭,以一個格式控制字符結(jié)束,在格式控制字符的前面還可以插入“寬度說明”、左對齊符號“-”、前導(dǎo)零符號“0”等附加字符。 1) 格式控制字符格式控制字符 常用的格式控制字符和它們的功能,見表3-1。使用時要注意區(qū)分大小寫。 第3章 簡單程序設(shè)計表3-1 printf函數(shù)的格

29、式控制字符 格 式 控 制 字格 式 控 制 字符符 說說 明明d , i輸出帶符號的十進制整型數(shù)(正數(shù)不輸出符號)輸出帶符號的十進制整型數(shù)(正數(shù)不輸出符號)o輸出無符號八進制整型數(shù)輸出無符號八進制整型數(shù)x 或或 X輸出無符號十六進制整型數(shù)(用輸出無符號十六進制整型數(shù)(用x時輸出時輸出af,用,用X時輸出時輸出AF)u輸出無符號十進制整型數(shù)輸出無符號十進制整型數(shù)c輸出一個字符輸出一個字符s輸出字符串輸出字符串f以小數(shù)形式輸出浮點數(shù)(隱含輸出以小數(shù)形式輸出浮點數(shù)(隱含輸出6位小數(shù))位小數(shù))e 或或 E以指數(shù)形式輸出浮點數(shù),數(shù)字部分小數(shù)位數(shù)隱含輸出以指數(shù)形式輸出浮點數(shù),數(shù)字部分小數(shù)位數(shù)隱含輸出6位

30、。位。g 或或 G選用選用%f和和%e格式中輸出寬度較短的一種格式格式中輸出寬度較短的一種格式p輸出變量或數(shù)組的地址輸出變量或數(shù)組的地址第3章 簡單程序設(shè)計 2) 附加格式說明字符附加格式說明字符 為了使程序的輸出結(jié)果更加整齊美觀,可以在控制字符的前面加上附加格式說明字符,見表3-2。 表3-2 printf函數(shù)的附加格式說明符 字字 符符 說說 明明字母字母l用于長整型數(shù)據(jù),可加在格式控制符用于長整型數(shù)據(jù),可加在格式控制符d、o、x、u的前面的前面m(正整數(shù))(正整數(shù))數(shù)據(jù)最小寬度數(shù)據(jù)最小寬度n(正整數(shù))(正整數(shù))對于浮點數(shù),表示輸出對于浮點數(shù),表示輸出n位小數(shù);對于字符串,表示截取的位小數(shù)

31、;對于字符串,表示截取的字符個數(shù);對于整數(shù),指定必須輸出的數(shù)字個數(shù),若輸出的字符個數(shù);對于整數(shù),指定必須輸出的數(shù)字個數(shù),若輸出的數(shù)字少于指定的個數(shù),則前面補數(shù)字少于指定的個數(shù),則前面補0,否則按原樣輸出,否則按原樣輸出-輸出的數(shù)字或字符向左對齊輸出的數(shù)字或字符向左對齊+輸出的結(jié)果總是帶有輸出的結(jié)果總是帶有+號或號或-號號0 在輸出數(shù)據(jù)前加在輸出數(shù)據(jù)前加0第3章 簡單程序設(shè)計3.3.2 putchar函數(shù)函數(shù) putchar函數(shù)的作用是向屏幕終端輸出一個字符。格式為: putchar(ch) ; 其中ch可以是字符型常量、變量或整型變量。 第3章 簡單程序設(shè)計返回章目錄3.4 數(shù)據(jù)輸入 3.4.

32、1 scanf函數(shù)函數(shù) scanf函數(shù)的格式為: scanf(格式控制格式控制 , 地址地址1 , 地址地址2 , ); 3.4.2 getchar函數(shù)函數(shù) 此函數(shù)的作用是從屏幕終端輸入一個字符。getchar函數(shù)沒有參數(shù),其一般格式為: getchar( ) 當(dāng)執(zhí)行此函數(shù)調(diào)用語句時,變量將獲得一個從標(biāo)準(zhǔn)設(shè)備上讀取的字符代碼值。 第3章 簡單程序設(shè)計返回章目錄3.5 復(fù)合語句和空語句 3.5.1 復(fù)合語句復(fù)合語句 在C語言中,一對花括號“ ”不僅可用作函數(shù)體的開頭和結(jié)尾的標(biāo)志,也可用作復(fù)合語句的開頭和結(jié)尾的標(biāo)志;復(fù)合語句也可稱為“語句塊”,復(fù)合語句的語句格式為: 語句語句1 ; 語句語句2 ;

33、 ; 語句語句n ; 一個復(fù)合語句在語法上視為一條語句,在一對花括號中的語句數(shù)量不限。 3.5.2 空語句空語句 C程序中的所有語句必須由一個分號“;”作為結(jié)束。如 果語句只有一個分號,就是空語句。程序執(zhí)行空語句時不產(chǎn)生任何動作。第3章 簡單程序設(shè)計返回章目錄第4章 選擇結(jié)構(gòu)程序設(shè)計 選擇結(jié)構(gòu)是計算機科學(xué)用來描述自然界和社會生活中分支現(xiàn)象的手段。其特點是:根據(jù)所給定選擇條件為真(即分支條件成立)與否,而決定從各實際可能的不同操作分支中執(zhí)行某一分支的相應(yīng)操作,并且任何情況下恒有“無論分支多寡,必?fù)衿湟?;縱然分支眾多,僅選其一”的特性。 4.1 關(guān)系運算符及表達式 4.2 邏輯運算符及表達式 4.

34、3 條件運算符 4.4 單條件選擇 if 語句 4.5 開關(guān)分支 switch 語句 第4章 選擇結(jié)構(gòu)程序設(shè)計返回主目錄 第4章 選擇結(jié)構(gòu)程序設(shè)計4.1 關(guān)系運算符及表達式 關(guān)系表達式是由關(guān)系運算符連接表達式構(gòu)成的。 1. 關(guān)系運算符關(guān)系運算符 關(guān)系運算符都是雙目運算符,共有如下6種: ,=,y、(x=5)=y等。 關(guān)系表達式的值是整數(shù)0或1,其中0代表邏輯假;1代表邏輯真。第4章 選擇結(jié)構(gòu)程序設(shè)計返回章目錄4.2 邏輯運算符及表達式 邏輯表達式是由邏輯運算符連接表達式構(gòu)成的。 1. 邏輯運算符邏輯運算符 C語言中提供了3種邏輯運算符: (1) 單目邏輯運算符:!(邏輯“非”)。 (2) 雙目

35、邏輯運算符:&(邏輯“與”)。 (3) 雙目邏輯運算符:|(邏輯“或”)。 其中邏輯“與”&的優(yōu)先級大于邏輯“或”|,它們的優(yōu)先級都小于邏輯“非”!。邏輯運算符具有自左至右的結(jié)合性。 第4章 選擇結(jié)構(gòu)程序設(shè)計 2. 邏輯表達式邏輯表達式 由邏輯運算符組成的表達式稱為邏輯表達式。 邏輯表達式的結(jié)果為1(結(jié)果為“真”時)或0(結(jié)果為“假“時)。 表達式a和表達式b進行邏輯運算時,其運算規(guī)則,見表4-1。 第4章 選擇結(jié)構(gòu)程序設(shè)計表4-1 邏輯運算的真值表 ab!a!ba & ba | b非0非00011非0001010非01001001100第4章 選擇結(jié)構(gòu)程序設(shè)計 3.

36、短路表達式短路表達式 在由 & 和 | 運算符組成的邏輯表達式中,只對能確定整個表達式值所需要的最少數(shù)目的子表達式進行計算。也就是說,當(dāng)計算出一個子表達式的值之后便可確定整個邏輯表達式的值時,后面的子表達式就不需要再計算了,整個表達式的值就是該子表達式的值。這種表達式也稱為短路表達式。 第4章 選擇結(jié)構(gòu)程序設(shè)計返回章目錄4.3 條件運算符 條件運算符是C語言中唯一的三目運算符,條件表達式的一般格式為: 表達式表達式1 ? 表達式表達式2 : 表達式表達式3 條件運算符的執(zhí)行過程是:先求解表達式1,當(dāng)值為非0(真),則求解表達式2,此時表達式2的值就作為整個條件表達式的值;否則求解表達式

37、3,此時表達式3的值就作為整個條件表達式的值。 條件運算符的優(yōu)先級高于賦值運算符,但是低于關(guān)系運算符和算術(shù)運算符。條件運算符的結(jié)合性為自右至左。 第4章 選擇結(jié)構(gòu)程序設(shè)計返回章目錄4.4 單條件選擇 if 語句 單條件選擇結(jié)構(gòu)的特點是:所給定的選擇條件(它可以是邏輯表達式也可以是關(guān)系表達式)的值如果為真,則執(zhí)行為真時的分支;如果為假則執(zhí)行為假時的分支。 第4章 選擇結(jié)構(gòu)程序設(shè)計4.4.1 if 語句語句 if 語句是根據(jù)所給定的條件決定執(zhí)行的操作,是“二選一”的分支結(jié)構(gòu)。If 語句的一般格式為: if (表達式表達式) 語句序列語句序列1; else 語句序列語句序列2; 第4章 選擇結(jié)構(gòu)程序

38、設(shè)計4.4.2 if 語句的嵌套語句的嵌套 條件分支嵌套就是在一個分支中可以嵌套另一個分支。 單條件選擇 if 語句完整的嵌套格式為: if(表達式表達式1) if(表達式表達式2) 語句序列語句序列1 ; else 語句序列語句序列2 ; else if(表達式表達式3) 語句序列語句序列3 ; else 語句序列語句序列4 ;第4章 選擇結(jié)構(gòu)程序設(shè)計返回章目錄4.5 開關(guān)分支switch語句 C語言提供了switch多路選擇語句。格式如下: switch(表達式表達式) case 常量表達式常量表達式1 : 語句組語句組1 ; case 常量表達式常量表達式2 : 語句組語句組2 ; ca

39、se 常量表達式常量表達式n : 語句組語句組n ; default : 語句組語句組n+1 ; 第4章 選擇結(jié)構(gòu)程序設(shè)計返回章目錄第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 5.1 循環(huán)結(jié)構(gòu)程序設(shè)計的概念 5.2 while 語句 5.3 do while 語句 5.4 for 語句 5.5 循環(huán)結(jié)構(gòu)嵌套 5.6 break 語句和 continue 語句 5.7 語句標(biāo)號和 goto 語句 返回主目錄 5.1 循環(huán)結(jié)構(gòu)程序設(shè)計的概念 實現(xiàn)循環(huán)的程序結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu),是計算機科學(xué)中用以描述客觀世界循環(huán)現(xiàn)象的重要手段。 程序設(shè)計中的循環(huán)(簡稱循環(huán))是指在程序設(shè)計中,從某處開始有規(guī)律地反復(fù)執(zhí)行某一操作塊(或程序塊

40、)。如果循環(huán)永遠不會終止,這樣的循環(huán)就稱為死循環(huán)。 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 返回章目錄5.2 while語句 while語句用來實現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu)。 5.2.1 while語句的一般格式語句的一般格式 while語句是一個循環(huán)控制語句,用來控制程序段的重復(fù)執(zhí)行。其一般格式為: while(表達式表達式) 循環(huán)體循環(huán)體 ; 格式中的循環(huán)體,可以是單個語句、空語句,也可以是復(fù)合語句。 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 5.2.2 while語句的執(zhí)行過程語句的執(zhí)行過程 當(dāng)表達式為非0時,執(zhí)行while語句中的循環(huán)體,然后繼續(xù)進行表達式的判斷,如此循環(huán)。當(dāng)表達式為0時,則退出循環(huán)。 說明:如果循環(huán)體包含

41、一個以上的語句,就構(gòu)成塊語句,應(yīng)該用花括號 括起來。 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 返回章目錄5.3 do while語句 C語言中,用do while語句構(gòu)成直到型循環(huán)結(jié)構(gòu)。 5.3.1 do while語句的一般格式語句的一般格式 do while語句也是一個循環(huán)控制語句。其特點是先執(zhí)行循環(huán)體,然后判斷條件是否成立。其一般格式為: do 循環(huán)體循環(huán)體 while(表達式表達式) ; 說明:循環(huán)體至少執(zhí)行一次。當(dāng)循環(huán)體有多個語句時必須加花括號 。 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 5.3.2 do while語句的執(zhí)行過程語句的執(zhí)行過程 先執(zhí)行一次指定的循環(huán)體語句,然后判斷表達式。當(dāng)表達式的值為非0的數(shù)

42、據(jù)時,返回重新執(zhí)行循環(huán)體,如此反復(fù)直到表達式的值為0為止,此時循環(huán)結(jié)束。第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 返回章目錄5.4 for 語句 for語句可以用于循環(huán)次數(shù)已經(jīng)確定的情況,還可用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況。 5.4.1 for語句的一般格式語句的一般格式 for語句的一般格式為: for (表達式表達式1 ; 表達式表達式2 ; 表達式表達式3) 循環(huán)體循環(huán)體 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 5.4.2 for語句的執(zhí)行過程語句的執(zhí)行過程 for語句的執(zhí)行過程為: (1) 先求解表達式1,表達式1只執(zhí)行一次,一般是賦值語句,用于初始化變量。 (2) 求解表達式2,若為假(0),則結(jié)束

43、循環(huán)。 (3) 當(dāng)表達式2為真(非0)時,執(zhí)行循環(huán)體。 (4) 執(zhí)行表達式3。 (5) 轉(zhuǎn)回(2)。第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 返回章目錄5.5 循環(huán)結(jié)構(gòu)嵌套 一個循環(huán)體內(nèi)包含另一個完整的循環(huán)結(jié)構(gòu),稱為循環(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)結(jié)構(gòu)程序設(shè)計 返回章目錄5.6 break語句和continue語句 5.6.1 break語句語句 break語句可以用在循環(huán)語句和switch語句中。在循環(huán)語句中用來結(jié)束內(nèi)部循環(huán);在switch語句中用來跳出switch

44、語句。 5.6.2 continue語句語句 continue語句的作用是結(jié)束本次循環(huán),忽略continue后面的語句,進行下一次循環(huán)判定。 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 返回章目錄 5.7 語句標(biāo)號和goto語句 goto語句為無條件轉(zhuǎn)向語句,它的一般格式為: goto 語句標(biāo)號語句標(biāo)號 ;第5章 循環(huán)結(jié)構(gòu)程序設(shè)計 返回章目錄第6章 數(shù) 組 6.1 數(shù)組和數(shù)組單元的基本概念 6.2 一維數(shù)組 6.3 二維數(shù)組 6.4 字符數(shù)組返回主目錄 6.1 數(shù)組和數(shù)組單元的基本概念 1. 數(shù)組數(shù)組 將一組排列有序的、個數(shù)有限的變量作為一個整體,用一個統(tǒng)一的名字來表示,則這些有序變量的全體稱為數(shù)組;或者說,數(shù)

45、組是用一個名字代表順序排列的一組數(shù),順序號就是下標(biāo)變量的值。第6章 數(shù) 組 2. 數(shù)組單元數(shù)組單元 在同一數(shù)組中,構(gòu)成該數(shù)組的成員稱為數(shù)組單元(或數(shù)組元素、下標(biāo)變量)。C語言中,引用數(shù)組中的某一單元,要指出數(shù)組名和用括號括起來的數(shù)組單元在數(shù)組中的位置(順序號)的下標(biāo)。例如: a3 代表a數(shù)組中順序號為3的那個單元。 第6章 數(shù) 組 3. 數(shù)組的維數(shù)數(shù)組的維數(shù) 下標(biāo)變量中下標(biāo)的個數(shù)稱為數(shù)組的維數(shù)。 具有一個下標(biāo)的下標(biāo)變量,構(gòu)成一維數(shù)組。 具有兩個下標(biāo)的下標(biāo)變量,構(gòu)成二維數(shù)組。 依次類推,三個下標(biāo)的下標(biāo)變量,構(gòu)成三維數(shù)組。有多少個下標(biāo)的下標(biāo)變量,就構(gòu)成多少維的數(shù)組。通常把二維以上的數(shù)組稱為多維數(shù)組

46、。 第6章 數(shù) 組 返回章目錄6.2 一維數(shù)組 用一個統(tǒng)一的標(biāo)識符,即數(shù)組名來標(biāo)識一組變量(也稱元素),用下標(biāo)來指示數(shù)組中元素的序號。當(dāng)數(shù)組中每個元素只帶有一個下標(biāo)時,此數(shù)組稱為一維數(shù)組。 6.2.1 一維數(shù)組的定義、引用、初始化一維數(shù)組的定義、引用、初始化 1. 一維數(shù)組的定義一維數(shù)組的定義 定義一維數(shù)組的格式為: 類型標(biāo)識符類型標(biāo)識符 數(shù)組名數(shù)組名常量表達式常量表達式 , ;第6章 數(shù) 組 2. 一維數(shù)組的引用一維數(shù)組的引用 使用數(shù)組必須先定義,后引用。 引用時只能對數(shù)組元素引用,如a0,ai,ai+1等,而不能引用整個數(shù)組。 在引用時應(yīng)注意以下幾點: (1) 由于數(shù)組元素本身等價于同一類

47、型的一個變量,因此,對變量的任何操作都適用于數(shù)組元素。 (2) 在引用數(shù)組元素時,下標(biāo)可以是整型常數(shù)或表達式,表達式內(nèi)允許變量存在。在定義數(shù)組時下標(biāo)不能使用變量。 (3) 引用數(shù)組元素時下標(biāo)最大值不能出界。 第6章 數(shù) 組 3. 一維數(shù)組的初始化一維數(shù)組的初始化 前已述及,可利用賦值語句或輸入語句給數(shù)組元素賦值。C語言還允許在定義數(shù)組時對各數(shù)組元素指定初始值稱為數(shù)組初始化。 (1) 數(shù)組初始化形式數(shù)組初始化形式1 例如:將括號內(nèi)整型數(shù)據(jù)0,1,2,3,4分別賦給整型數(shù)組元素a0,a1,a2,a3,a4??梢詫憺橄旅娴男问剑?int a5=0, 1, 2, 3, 4 ; 第6章 數(shù) 組 2) 數(shù)

48、組初始化形式數(shù)組初始化形式2 例如:對a數(shù)組中所有元素賦初值0??梢詫懽飨旅娴男问剑?int a 10=0 ; 3) 通過賦初值定義數(shù)組大小通過賦初值定義數(shù)組大小 例如: int a =1, 2, 3, 4, 5 ; 等價于:int a5=1, 2, 3, 4, 5 ;第6章 數(shù) 組 6.2.2 一維數(shù)組程序示例一維數(shù)組程序示例 【例6-3】 從鍵盤輸入20個整數(shù),檢查整數(shù)10是否包含在這些數(shù)據(jù)中,若是的話,它是第幾個被輸入的。 程序如下:第6章 數(shù) 組 # 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章 數(shù) 組 程序運行結(jié)果為: 輸入: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章 數(shù) 組 【例6-4】輸出字符串welcome。 程序如下: main() int i ; char str =w , e , l , c , o ,

50、 m , e ; for(i=0 ; i7 ; i+) printf(%c , stri) ; 運行結(jié)果:welcome 第6章 數(shù) 組 返回章目錄6.3 二維數(shù)組 6.3.1 二維數(shù)組的定義、引用、初始化二維數(shù)組的定義、引用、初始化 1. 二維數(shù)組的定義 定義二維數(shù)組的一般格式為: 類型說明符類型說明符 數(shù)組名數(shù)組名 常量表達式常量表達式1常量表達式常量表達式2 2. 二維數(shù)組元素的引用 二維數(shù)組中各個元素可看作具有相同數(shù)據(jù)類型的一組變量。因此,對變量的引用及一切操作,同樣適用于二維數(shù)元素。 二維數(shù)組元素引用的格式為: 數(shù)組名數(shù)組名下標(biāo)下標(biāo)下標(biāo)下標(biāo)第6章 數(shù) 組 3. 二維數(shù)組的初始化 在定

51、義二維數(shù)組的同時,可使用以下幾種方法對二維數(shù)組初始化。 (1) 將所有數(shù)據(jù)寫在一個大括號內(nèi),以逗號分隔,按數(shù)組元素在內(nèi)存中的排列順序?qū)ζ滟x值。 例如:int a23=0 , 1 , 2 , 3 , 4 , 5 ; (2) 分行對數(shù)組元素賦值。 例如:int a23=0 , 1 , 2 , 4 , 5 , 6 ; 第6章 數(shù) 組 (3) 對部分元素賦值。 例如:int a23=1 , 4 ; (4) 若對全部元素賦初值,則定義時第一維長度可缺省。可由第二維長度,即列的數(shù)據(jù)的個數(shù)自動確定第一維長度(即行的個數(shù))。 例如:int a 3=0 , 1 , 2 , 3 , 4 , 5 ;第6章 數(shù) 組

52、6.3.2 二維數(shù)組應(yīng)用示例二維數(shù)組應(yīng)用示例 【例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章 數(shù) 組 for(i=0 ; i3 ; i+) for(j=0 ; jmax) max=aij , r=i , c=j ; /* 用逗號表達式實現(xiàn)對max , r , c賦值 */ pri

53、ntf(max=%d,r=%d,c=%d,max,r,c); 運行結(jié)果為: max = 12 r = 3 c = 4 第6章 數(shù) 組 【例6-8】 某班有40個學(xué)生考5門課程,求每個學(xué)生的平均成績并輸出。 程序如下: # 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章 數(shù) 組 scanf(%f , &sij) ; /* 由鍵盤輸入40個學(xué)生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章 數(shù) 組 返回章目錄6.4 字符數(shù)組 字符數(shù)組是用來存放字符的數(shù)組,字符數(shù)組中的一個元素存放一個字符。 6.4.1 字符數(shù)組的定義、引用、初始化字符數(shù)組的定義、引用、初始化 對字符數(shù)組賦值或數(shù)組初始化時,數(shù)據(jù)使用字符型數(shù)據(jù)或相應(yīng)的ASCII碼值。 6.4.2 字符串與字符型數(shù)組字符串與字符型數(shù)組 字符串(也稱字符串常量)是用雙引號括起來的若干有效字符序列。在C語言中,字符串可以包含字母、數(shù)字、轉(zhuǎn)義

55、字符等。 第6章 數(shù) 組 1. 使用字符串時的注意事項使用字符串時的注意事項 (1) C語言沒有專門存放字符串的變量。 (2) C語言中,系統(tǒng)自動地在每一個字符串的最后加入一個字符 0,作為字符串的結(jié)束標(biāo)志。 (3) C語言中,字符型數(shù)據(jù)是指單個字符(包含轉(zhuǎn)義字符),在使用時用單引號括起來。而字符串是用雙引號括起來的字符序列。第6章 數(shù) 組 2. 字符數(shù)組的初始化字符數(shù)組的初始化 (1) 可以在定義數(shù)組的同時對數(shù)組中的各個元素賦初值,例如: char c5=h , e , l , l , o ; (2) 可以在定義數(shù)組的同時將字符串賦給一個一維字符型數(shù)組。 例如: char c6=hello

56、;第6章 數(shù) 組 6.4.3 字符數(shù)組的輸入輸出字符數(shù)組的輸入輸出 可以利用字符數(shù)組對單個字符和字符串進行輸入輸出操作。 1. 逐個字符輸入輸出 用格式符%c輸入或輸出一個字符。 2. 字符串整串輸入和輸出 用%s格式符可輸入、輸出字符串。由于C語言中沒有專門存放字符串的變量,字符串存放在一個字符型數(shù)組中,數(shù)組名表示第一個字符的首地址,故在輸入或輸出字符串時可直接使用數(shù)組名。第6章 數(shù) 組 6.4.4 字符串處理函數(shù)字符串處理函數(shù) 1. 字符串輸入、輸出函數(shù) 1) 輸入一個字符串函數(shù)gets( ) gets函數(shù)一般調(diào)用格式為: gets(str) ; gets函數(shù)的作用是從終端鍵盤輸入字符串(

57、字符串可以包括空格),直到遇到回車符為止,回車符讀入后,不作為字符串的內(nèi)容,系統(tǒng)將自動用0代替,作為字符串的結(jié)束標(biāo)志。 第6章 數(shù) 組 2) 輸出一個字符串函數(shù)輸出一個字符串函數(shù)puts( ) puts( )函數(shù)的一般調(diào)用格式為: puts(str) ; 該函數(shù)的作用是從str指定的地址開始,依次輸出存儲單元中的字符,直到遇到字符串結(jié)束標(biāo)志第1個 0 字符為止。第6章 數(shù) 組 2. 字符串處理函數(shù) 1) 字符串復(fù)制函數(shù)字符串復(fù)制函數(shù)strcpy( ) strcpy( )函數(shù)一般調(diào)用格式為: strcpy(str1 , str2) 功能:把str2所指向的字符串復(fù)制到str1所指的字符數(shù)組中。

58、2) 字符串連接函數(shù)字符串連接函數(shù)strcat( ) strcat( )函數(shù)一般調(diào)用格式為: strcat(str1 , str2) ; 功能:將str2所指的字符串連接到str1所指的字符串的后面,并自動覆蓋str1所指的字符串的尾部字符 0。第6章 數(shù) 組 3) 求字符串長度函數(shù)求字符串長度函數(shù)strlen( ) strlen( )函數(shù)一般調(diào)用格式為: strlen(str) ; 功能:計算str為起始地址的字符串的長度(不包含字符串結(jié)束標(biāo)志0),并作為函數(shù)值返回。第6章 數(shù) 組 4) 字符串比較函數(shù)字符串比較函數(shù)strcmp( ) strcmp( )函數(shù)一般調(diào)用格式為: strcmp(s

59、tr1 , str2) ; 功能:比較str1和str2所指向的兩個字符串,并產(chǎn)生以下結(jié)果: str1與str2相等時,函數(shù)值為0。 str1str2時,函數(shù)值大于0。 str1str2時,函數(shù)值小于0。 字符串之間比較的方法是:從第一個字符開始,依次對str1與str2對應(yīng)位置上的字符按ASCII碼值的大小進行比較,直到出現(xiàn)第一個不相同的字符時,即由這兩個字符的大小決定所在串的大小。第6章 數(shù) 組 6.4.5 字符串?dāng)?shù)組應(yīng)用舉例字符串?dāng)?shù)組應(yīng)用舉例 例6-17】 從終端鍵盤輸入一字符串,并復(fù)制到另一字符數(shù)組后顯示出來。 程序如下: # include stdio.h main() char s

60、tr130 , str230 ; int i ; printf(input a string:) ; scanf(%s , str1) ; i=0 ;第6章 數(shù) 組 while(str1i!=0) str2i=str1i ; i+ ; str2i=0 ; printf(%s , str2) ; 運行結(jié)果: input a string : ABC ABC第6章 數(shù) 組 【例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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論