版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章語言及程序設(shè)計概述本章要求: 了解C語言的特點、C語言與其它高級語言相比有什么異同; 了解C程序在PC機上的建立、編譯和運行過程; 了解C語言程序設(shè)計思想的基本篇;重點:C語言的主要特點; C語言在PC機上的運行過程及上機操作過程; 常用算法的應(yīng)用難點:無一、C語言概述 C語言是目前國際上在各種計算機運行較為廣泛流行的一種高級語言。 主要表現(xiàn)為: C語言:適合于作為系統(tǒng)描述語言可用來寫系統(tǒng)軟件。 具有高級語言的特點,又有低級語言(匯編語言)的特點。 C語言:是AT&T貝爾實驗室的Dennis Ritchie在1972年發(fā)明的。 C語言:是在B語言的基礎(chǔ)上發(fā)展起來的。(ALGOL
2、60) C語言:最早開始是用于UNIX操作系統(tǒng)。(C語言和UNIX是相輔相成的) DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,則是用C語言加上若干匯編子程序編寫的。 1983年:制定的新標(biāo)準(zhǔn),稱為(美國國家標(biāo)準(zhǔn)化協(xié)會)ANSI C 1987年:Turbo C1.0 (Borland) 1988年:TC 1.5(圖形和文本窗口) 1989年:Turbo C2.0 (DOS操作系統(tǒng)、查錯、Tiny模式生成com文件) 1991年:Turbo C+(3.0) 支持windows 3.X 說明:Turbo C語言可以在程序的任何地方嵌入?yún)R編代碼,提高速
3、度,可以直接使用存儲器和寄存器。二C語言的特點 1語言簡潔、緊湊、使用方便、靈活 C語言:共有32個關(guān)鍵字,9種控制語句; 程序書寫自由,主要用小寫字母表示; 2運算符豐富 C語言的運算符包含的范圍很廣泛,共有34種運算符; 即:把括號、賦值、強制類型轉(zhuǎn)換都作為運算符處理 3有豐富的數(shù)據(jù)類型 整型、實型、字符型、數(shù)據(jù)類型、指針類型、結(jié)構(gòu)體類型、共用體(聯(lián)合)類型等。實現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(鏈表、樹、棧、圖)的運算。 4具有結(jié)構(gòu)化的功能,用函數(shù)作為程序模塊,實現(xiàn)程序的模塊化 5語法限制不太嚴(yán)格,程序設(shè)計自由度大。(放寬了語法檢查) 例:1)對數(shù)組下標(biāo)越界不作檢查,由程序編寫者自己保證程序的正確; 2
4、)整型數(shù)據(jù)、字符型數(shù)據(jù)、邏輯型數(shù)據(jù)可以通用。 6能直接訪問物理地址,能進(jìn)行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進(jìn)行操作。 7生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。 8用C語言編寫的程序,移植性較好。 說明: C語言比其它高級語言難掌握,對編程人員要求較高 程序員使用C語言編寫程序會感到限制少、靈活性大,功能強,可以編寫出任何類型的程序。三C程序的構(gòu)成例: main( ) /*主函數(shù)*/ int a,b,sum; /*定義變量*/ a=123;b=456; sum=a+b; printf(“sum is %dn”,sum); /*輸出變量*/ 說明: 1)程序一般用小寫字母
5、書寫; 2)每個程序必須要有一個main ( ) (只能一個),稱主函數(shù); 注:C程序是由函數(shù)構(gòu)成的,函數(shù)是C程序的基本單位。 函數(shù):系統(tǒng)提供的庫函數(shù);用戶設(shè)計的函數(shù)。 3)程序體必須在 之間; 4)每個語句的結(jié)尾,必須要有“;”作為終止符。 5)用/*. */ 作注釋四、C程序的上機過程1演示 書:P5 程序2上機步驟 書:P7 注:C語言是一種編譯語言,編譯語言的特點:連接編譯目標(biāo)程序 *.OBJ執(zhí)行程序 *.EXE源程序 *.C C編譯程序 Link程序 3DOS下C語言的運行 目前DOS下運行C語言軟件為:Turbo C 2.0 (1) Turbo C 2.0 的特點: 是一個把 編輯
6、 編譯 連接 運行 等全部操作集中在一個界面上。 (2) Turbo C 2.0的操作及運行 書:P8五、算法的概念 1算法的概念 書:P13 算法:程序的操作步驟。 程序中的數(shù)據(jù) 在程序設(shè)計中: 操作步驟 有: 程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法 沃思 Nikiklaus Wirth 程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計方法+語言工具和環(huán)境 2 計算機算法分為兩大類: 數(shù)值運算算法非數(shù)值運算算法 (1)數(shù)值運算算法:求數(shù)值解;通過運算得出一個具體值,如求方程的根等 注:數(shù)值運算一般有現(xiàn)成的模型,算法較成熟。 (2)非數(shù)值運算算法:用于事務(wù)管理,如圖書檢索、人事管理等。 3、常用簡單算法 (1)累乘 即:
7、1×2×3×4×5×100 1×2 S(結(jié)果) S×3 S(結(jié)果) S×4 S(結(jié)果) S×100 S(結(jié)果) (2)累加 即:1+2+3+4+5+100 1+2 S(結(jié)果) S+3 S(結(jié)果) S+4 S(結(jié)果) S+100 S(結(jié)果) (3)找最大值 5,2,4,12,9 5 max (max 放最大值,后面的數(shù)都和它比較) 2 > max 不成立 4 > max 不成立 12 > max 成立:12 max 9 > max 不成立注:該算法可擴展為在一批數(shù)據(jù)中,找某一個數(shù) (
8、4)其它算法 P15 例 2.2 例 2.3 例 2.4 例 2.5 課余自學(xué)(必須) 4、算法的表示 常用的有:自然語言傳統(tǒng)流程圖結(jié)構(gòu)化流程圖偽代碼PAD圖(1)傳統(tǒng)流程圖 起止框 輸入輸出框 判斷框 處理框 流程線 連接點表示方法:P19 例注:傳統(tǒng)流程圖對流程線的使用沒有嚴(yán)格限制,難以實現(xiàn)結(jié)構(gòu)化程序設(shè)計為了限制流程線的濫用,提出三種基本結(jié)構(gòu): 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu) 選擇結(jié)構(gòu) f t . f 語句 表達(dá)式 表達(dá)式 t 語句 語 句 語 句1 語 句2 循環(huán)結(jié)構(gòu) 表達(dá)式 語 句 語 句 表達(dá)式 a) “當(dāng)型”結(jié)構(gòu) b) “直到型”結(jié)構(gòu)(2)N-S流程圖 特點:去掉了帶箭頭的
9、流程線,全部算法寫在一個矩形框內(nèi)。 稱N-S結(jié)構(gòu)化流程圖 P A 成立 不成立 當(dāng)P1成立 A B A B A 直到P1成立 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu)作業(yè):p37 2.4上機:熟悉Turbo C 2.0的操作及運行第三章 數(shù)據(jù)類型、運算符與表達(dá)式本章要求: 本章是C語言的基本概念開篇,所介紹的概念是學(xué)習(xí)C語言的基礎(chǔ); 要求熟練掌握數(shù)據(jù)類型、運算符與表達(dá)式。重點:C語言數(shù)據(jù)類型定義的方法和分類。 C語言運算符、表達(dá)式的使用以及它們的主要特點。難點:自增、自減運算符、賦值運算符、逗號運算符及它們的混合使用一數(shù)據(jù)類型概念:算法處理的對象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式出現(xiàn)。在C語言中,數(shù)據(jù)有:常
10、量、變量;一般它們都有一定的數(shù)據(jù)類型。 (C語言的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型形式出現(xiàn)的)1數(shù)據(jù)類型分類: 整型 int 基本類型 字符型 單精度型 float 實型(浮點型) 枚舉類型 雙精度型 double 數(shù)據(jù)類型 數(shù)組類型 構(gòu)造類型 結(jié)構(gòu)體類型 struct 共用體(聯(lián)合)類型 union 指針類型 * 空類型 void 說明:在程序中對用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型。 2C語言中的常量和變量常量:在程序運行過程中,其值不能被改變的量。變量:在程序運行過程中,其值可以改變的量。 說明:1)常量和變量,都要有一個名字表示它; 習(xí)慣上,符號常量(別名)名用大寫,變量用小寫。 符號常量的定義為:
11、 #define P 30 其它常量:直接用數(shù)據(jù)表示 例: 23 45.5 e 3e+2 2)在C語言中,對變量要先定義,后使用。 3)如果一個變量被指定為一確定類型后,在C語言編譯時,就能為其分配相應(yīng)的存儲單元。 a 變量名 存儲地址)2000 3 變量值 存儲單元 地址的概念 3常用的基本數(shù)據(jù)類型(1)整型 1)整型常量:十進(jìn)制整數(shù) 123,-11,0 非0開頭 八進(jìn)制整型 0123,-011 0開頭 十六進(jìn)制整型 0x11 0x20 0x0D 0XFF 0x4e 0x/0X開頭 說明:在一個整常量后面加一個字母:l或L,是長整型常量。22L 0733L 0xae4l 2)整型變量: 定義
12、 存儲字節(jié) 數(shù)的范圍 基本型 int x (2字節(jié)) -3276832767 短整型 short int x (2字節(jié)) -3276832767 長整型 long int x (4字節(jié)) -2,147,483,6482,147,483,647 無符號型 unsigned int x (2字節(jié)) 065535 unsigned short x(2字節(jié)) 065535 unsigned long x (4字節(jié)) 04,294,967,295 注: 數(shù)據(jù)在內(nèi)存中是以:二進(jìn)制形式存放 如:9 為 00001001 例: x=13; x=015 ; x=0xD 存儲結(jié)構(gòu) 見P44 圖3.5 注:數(shù)據(jù)超過
13、數(shù)據(jù)范圍,會發(fā)生數(shù)據(jù)溢出 例3.2、3.3 (2)實型(浮點數(shù)) 1)實型常量: 十進(jìn)制整數(shù) 1.23 .0123 指數(shù)形式 1.23e3,1.00e-3 2)實型變量: 數(shù)的表示范圍P46表3.2 單精度 float x (4字節(jié))3.4x10-383.4x1038 TC默認(rèn) 雙精度 double x (8字節(jié))1.7x10-3081.7x10308 說明:實型常量 不分float和double,只有十進(jìn)制表達(dá)方式 有的C編譯系統(tǒng)64位存儲方式,如尾加f或F可表示32位:324.567f 例:x=1.23; x=123e3 P47例3.4(存儲精度) (3)字符型 1)字符常量: a) 用單
14、引號括起來的一個字符 aA b) 轉(zhuǎn)義字符(由“專用字母” ) 書P48表3.3 例3.5 0字符串結(jié)束符 n換行 t水平制表 ddd八進(jìn)制數(shù) xdd十六進(jìn)制數(shù) 2)字符變量: char c (1字節(jié))說明:一個字符變量,只能放一個字符常量。實際是把該常量的ASCII值,送入字符變量中。即:B(66) c (字符變量) 書P374ASCII表 p50例3.6-7 c=B c的內(nèi)容為66 故:字符數(shù)據(jù)可以進(jìn)行算術(shù)運算;即:c=B+2 為68 字符數(shù)據(jù)在內(nèi)存中的存儲方式 書P50 unsigned char 0-255 char -128-127 有符號數(shù)在TC中是用補碼表示的 127(0x7f)
15、 0111 1111 128(0x80) 1000 0000 復(fù)習(xí):補碼的規(guī)定: 正數(shù):其原碼、反碼、補碼相同 負(fù)數(shù):最高位為1,其余各位為原碼的反碼(原碼的相應(yīng)位取反),然后對整個數(shù)加1。 140(0x8c) 1000 11001111 0011 + 1(取反加1)1111 0100-0x74 -0x74 1000 1011 + 1(取反加1) 1000 1100 0x8c (0x80為負(fù)數(shù)-74 高位為1) 3)字符串常量 用雙引號括起來的字符 “a” ,“ABFD” “a” =“a0” <> A說明:C規(guī)定,在每一個字符串的結(jié)尾應(yīng)加一個“字符串結(jié)束標(biāo)志”(0), 以便系統(tǒng)判斷
16、字符串是否結(jié)束。 4各類數(shù)值間的混合運算 1)整型、字符型、單精度型、雙精度型數(shù)據(jù)可以混合運算 2)字符型、整型可以通用 規(guī)則: 高 double float long unsigned 低 int char,short 例如 10+a+1.5-8765.1234*b -858873.593200 (TC默認(rèn)6位小數(shù)) 10+97+1.5-8765.1234*98 二運算符和表達(dá)式 C表達(dá)式:由變量、常量、函數(shù)等運算對象和運算符組成的式子 C運算符作用: 1)能把一些基本運算模塊用單一的運算符處理 2)使用豐富的運算符,構(gòu)成多種表達(dá)式 C運算符有優(yōu)先級,優(yōu)先級高的先執(zhí)行,同級的由結(jié)合規(guī)則決定其
17、處理規(guī)則 C運算符有兩種結(jié)合規(guī)則: 1)從左到右的結(jié)合運算順序;即:a=5+x10;運算對象與左邊運算符結(jié)合 2)從右到左的結(jié)合運算順序;即:x=y=7;運算對象與右邊運算符結(jié)合 C運算符分類 書P551基本運算符(算術(shù)運算符) C語言有7個基本運算符1)單目運算符:(表示符號) 正號“+” 負(fù)號“-”2)雙目運算符:+、- 、*、/、%(模運算,求余運算,兩側(cè)為整數(shù)) 說明: a)運算順序的結(jié)合方向從左到右 b)求余(取模)運算符是對兩個整數(shù)相除的余數(shù),計算結(jié)果的符號與第一個數(shù)的符號相同。即:-5%3 值為-2、 -5%-3 值為-2、 5%-3 值為2 2自增、自減運算符(優(yōu)先級高于算術(shù),
18、右結(jié)合) 作用:使變量的值增1或減1 +i(-i)在使用i之前,先使i的值加1(減1),然后再使用i。 i+(i-)先使用i的值,然后再使i加1(減1)。例:i =4; j=+i; i 值為5,值為5; j=i+; i 值為5,j值為4 說明:1)自增、自減運算符+(-),只能用于變量,不能用于常量或表達(dá)式 即:5+ 、 (a+b)+ 不合法 2)運算順序的結(jié)合方向從右到左例 例: main() int i=3 z,x,y; z=(i+)+(i+)+(i+)x=y=3; /結(jié)果:z值為9 i值為6 z=x+y; /變量x右結(jié)合運算符+ (不是3+4+5=12) printf("z=%
19、d,x=%d,y=%d",z,x,y); 輸出結(jié)果:z=6 x=4 y=3如果:z= -x+y; 輸出結(jié)果:z=0 x=4 y=3 x先為-4,然后+y,最后x+ 3賦值運算符和賦值表達(dá)式(優(yōu)先級低于算術(shù),右結(jié)合) (1)“=” 賦值運算符 作用:將一個數(shù)據(jù)賦給一個變量 即:x=21 注意: 如果賦值運算符兩側(cè)的類型不一致,在賦值時,要進(jìn)行類型轉(zhuǎn)換。P61例3.9 即:float f ; f=23 f值為23.0000 符號位擴展 (2)復(fù)合的賦值運算符 “+=、-=、*=、/=、%=” 在賦值符“=”之前加上其它運算符 稱復(fù)合運算符(也稱為自反運算符) 例:a+=3 等價于 a=a
20、+3 x*=y+8 等價于 x=x*(y+8) y/=4 等價于 y=y/4 m%=3 等價于 m=m%3說明: C語言采用這種復(fù)合運算符: 為了簡化程序,使程序精練;提高編譯效率。 (3)賦值表達(dá)式格式:變量=表達(dá)式表達(dá)式: 可以是 1)常量、變量、算術(shù)表達(dá)式; 2)賦值表達(dá)式 即:a=(b=5) 或 a=b=5 (運算順序的結(jié)合方向從右到左)例: a=b=c=6 ; a=5+(c=6) (結(jié)果a=11 c=6) 如果:a=3; 求:a+=a-=a*a; 有:1 a*a; 9 2)a= a-(a*a); -6 3) a+=-6 -6+-6 a為:-12 結(jié)果值為:-12 4逗號運算符和逗號表
21、達(dá)式(優(yōu)先級最低,左結(jié)合) 用“,”將兩個表達(dá)式連接起來。 格式:表達(dá)式1,表達(dá)式2 即: 3+5,6*9; 例: 3+5,6*9; 值為54 (先求解表達(dá)式1,再求解表達(dá)式2,最后逗號表達(dá)式的值為表達(dá)式2的值) a=2*5,a*3; a值為10 結(jié)果值為:30 (先求:a=2*5,后求:a*3) x=(a=2*5,a*3),a+4 a值為10 x值為30 結(jié)果值為:14說明: 使用逗號表達(dá)式的目的,只是為了得到各個表達(dá)式的值(常用于循環(huán)語句) 解表達(dá)式1的結(jié)果可能影響解表達(dá)式2的值 5強制類型轉(zhuǎn)換運算符(優(yōu)先級高于算術(shù),右結(jié)合) 在要轉(zhuǎn)換的數(shù)據(jù)前,用小括號括上要轉(zhuǎn)換的數(shù)據(jù)類型 即: (int
22、)x; (int)(a+b) (int)x+y 格式:(類型名)表達(dá)式 C一般會自動進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換P56例3.8,用于不能自動轉(zhuǎn)換的地方x%3(float f) 6關(guān)系運算符和關(guān)系表達(dá)式(書P87)(優(yōu)先級低于算術(shù),左結(jié)合,高于賦值) (1)6種關(guān)系運算符 < <= > >= (優(yōu)先級高) = = != (優(yōu)先級低) (2)關(guān)系表達(dá)式 表達(dá)式 關(guān)系運算符 表達(dá)式 即:a>b a+b>=b+c (a=4)<(b=8) x= = y 說明: 關(guān)系表達(dá)式值:是一個邏輯值,即:“真”或“假” C語言:1 代表“真” 0 代表“假” 7邏輯運算符和邏輯表達(dá)式(
23、書P88)(優(yōu)先級低于關(guān)系,左結(jié)合) (1)3種邏輯運算符 p89 表5.1 && (與) | | (或) ! (非) (2)邏輯表達(dá)式 表達(dá)式 邏輯運算符 表達(dá)式 p89 即: (a>b) | | (a+b>=b+c) (a=4)&&(b=8) 1 | | (1) x&& y 值為1 1 說明: 邏輯表達(dá)式值:是一個邏輯值,即:“真”或“假” p90 優(yōu)先次序(由高到低): ?。ǚ牵?算術(shù)運算符 關(guān)系運算符 &&和| | 賦值運算符 求值短路:5>3&&2|8<4-!0 1| (結(jié)果1)
24、0&& (結(jié)果0) 如:a&&b&&c a<>0才判斷a&&b 8條件運算符(書P97) 格式:表達(dá)式1 ? 表達(dá)式2:表達(dá)式3 執(zhí)行:先求解表達(dá)式1,為真(非零),求表達(dá)式2 為假(為0),求表達(dá)式3 例: y= ( a>b ) ? a : b; 說明:a)條件運算符要求有三個操作對象(稱三目元運算符) b)條件運算符優(yōu)先于賦值運算符 y= ( a>b ) ? a : b; 先求 ( a>b ) ? a : b 后賦值 c)條件運算符的結(jié)合方向為“自右至左” ( a>b ) ? a : b 可
25、寫為: a>b ? a : b a>b ? a : b+5 相當(dāng)于: a>b ? a :(b+5) a>b ? a : c> d ? c : d 相當(dāng)于: a>b ? a : ( c> d ? c : d )* 9位運算符 (書P298)(一般掌握)位運算: 是對字節(jié)或字中的實際位進(jìn)行檢測、設(shè)置、屏蔽、移位。位運算符:& 位邏輯與 | 位邏輯或 位邏輯異或 位邏輯反 >> 右移 << 左移三、運算符小結(jié)1左結(jié)合方向的運算符主要有:算術(shù)運算符、關(guān)系運算符、邏輯運算符、逗號運算符2右結(jié)合方向的運算符主要有:自增、自減運算符、
26、賦值運算符(復(fù)合的賦值運算符)、條件運算符例:1) i=3; printf("%d,%d",i,i+); 輸出:4, 3 2) a=1;b=1;c=2; 求:a=b + = c* = 5; 輸出:a為11 b為11 c為10 3) a>b ? a> c?a:c:b>c ? b:c 相當(dāng)于:a>b ? (a> c?a:c):(b>c ? b:c) (求最大值,如a=2, b=8, c=5 結(jié)果為:8)3運算符的優(yōu)先次序(書 P375 附錄)()、!+/-/-轉(zhuǎn)移、算術(shù)、關(guān)系(<<=>>=)、關(guān)系(= = !=)、&a
27、mp;&、|、條件(?)、賦值、逗號例:1) -a+ 相當(dāng)于 -(a+) 2) x=4,y=7 求:y+=+x-3 x的值5 y的值9 3) x=4,y=7 求:y=y+x-3 x的值4 y的值9 4) a=7,x=2.5,y=4.7 求:s=x+a%3*(int)(x+y)%*2/4 s的值2.500000 a%3*(int)(x+y)%*2 = 1(整型) / 4 (整型) = 0.25 =0(整型) 5) a%3 && a%5 | a+>+b 如:a=7, b=5 a的值8 b的值6 結(jié)果值1 1|1 如:a=15, b=15 a的值16 b的值16 結(jié)果值
28、0 1|0 如:a=15, b=14 a的值16 b的值15 結(jié)果值0 0|0 如:a=15, b=13 a的值16 b的值14 結(jié)果值1 0|1 四、該章的主要例題 數(shù): P39 例3.1 P44 例3.2 P44 例3.3 字符: P49 例3.5 P50 例3.6 P51 例3.7五、該章的主要習(xí)題P65 3.5 3.6 3.8 3.9 3.10 3.12六、該章的主要上機內(nèi)容 P39 例3.1 P44 例3.2 P44 例3.3 P51 例3.7 P65 3.6 3.8 3.10 第四章 簡單的C程序設(shè)計(順序程序設(shè)計)知識點:1、賦值語句; 2、字符數(shù)據(jù)的輸入/輸出;3、格式輸入/輸
29、出語句printf和scanf及其格式控制符;%c、%f、%d(輸出寬度、對齊方式、其它格式控制符只作了解)4、程序的結(jié)構(gòu)框架。重點:1賦值語句;2基本輸入/輸出語句printf和scanf及其格式控制符%c、%f、%d等的意義。難點: 無一、C程序結(jié)構(gòu) C程序 源程序文件1 源程序文件2 源程序文件n 預(yù)編譯命令 函數(shù)1 函數(shù)n 說明部分 執(zhí)行部分 (語句)語句的分類P67 P681、控制語句條件:if else循環(huán):for()循環(huán):while()循環(huán):do while()循環(huán)結(jié)束:continue終止循環(huán)或switch:break多分支:switch轉(zhuǎn)向:goto函數(shù)返回:return2、
30、函數(shù)調(diào)用語句 printf(“a=%d”,a);3、表達(dá)式語句 i=i+1 表達(dá)式 i=I+1; 表達(dá)式語句 函數(shù)調(diào)用也可以認(rèn)為是表達(dá)式語句4、空語句:一個“;”5、復(fù)合語句(用:分程序) x=3; x=x+1; print(“x=%x”,x) 二賦值語句 變量名=表達(dá)式 注:是組成順序結(jié)構(gòu)的主要語句。 a=b; if ( max<= x ) max =x ;三基本輸入/輸出語句 C語言本身不提供輸入輸出語句,輸入輸出操作是由函數(shù)來實現(xiàn)。 即:printf putchar scanf getchar 注:(1)這些函數(shù)構(gòu)成一個標(biāo)準(zhǔn)的I/O函數(shù)庫(放在“stdio.h”中) (2)如果要使
31、用C語言庫函數(shù),要用預(yù)編譯命令“#include”將有關(guān)“頭文件”包括到用戶源文件中。 #include <stdio.h> #include “stdio.h” 當(dāng)前目錄 當(dāng)前定義的目錄中尋找 1printf函數(shù) 格式輸出函數(shù) 格式:printf(格式控制,輸出表列) 格式控制: 用雙引號括起來的字符串,也稱為“轉(zhuǎn)換控制字符串” printf的格式字符 書P77 表41 輸出表列: 需要輸出的數(shù)據(jù)、表達(dá)式 即:printf( “x=%5.1f, y=%d, z=%c” , x, y, z ) d,i 帶符號十進(jìn)制形式 u 無符號十進(jìn)制形式 例3-3 c 字符形式 s 字符串形式
32、f 實數(shù)(小數(shù))形式 默認(rèn)6位小數(shù)說明:1)printf( “ y=%-4d” , y ) 輸出數(shù)據(jù)左對齊(默認(rèn)為右對齊) 2)數(shù)據(jù)輸出長度的修正; l 輸出長整型或雙精度數(shù)據(jù) 即:printf( “%ld, %lf ” , i, y ) h 輸出短型數(shù)據(jù) 即:printf( “%hu ” , a ) -m.n m最小寬度 n小數(shù)(實數(shù)) -左對齊2putchar函數(shù) 字符輸出函數(shù)向終端輸出一個字符格式:putchar(變量) putchar(x) putchar(“n” ) 輸出一個換行符 3scanf函數(shù) 格式輸入函數(shù) 格式:scanf(格式控制,地址表列) 格式控制: 用雙引號括起來的字
33、符串,也稱為“轉(zhuǎn)換控制字符串” scanf的格式字符 書P80 表43 地址表列: 由若干個地址組成的表列,有:變量地址 &x 字符串的首地址 & 地址運算符 功能:求變量的地址(只能用于變量) &x 表示x變量值的內(nèi)存單元的地址 即:scanf( “%d, %4d”, &a, &b )說明:1)不帶分隔字符的方式,系統(tǒng)將自動按格式說明截取數(shù)據(jù) 例: scanf ( “ %4d%*3d%f ”, &I , &p ); 輸入:12345678.93 時 得 I=1234 , p=8.93 “*”作用是“虛讀”,跳過相應(yīng)的數(shù)據(jù) 2)帶分隔字符
34、的方式(分隔字符:空格、tab、回車、逗號) 即:scanf( “%d, %d”, &a, &b ) 4getchar函數(shù) 字符輸入函數(shù) 從終端輸入一個字符 格式:getchar ( ) 即:c=getchar ( ) 函數(shù)值是從輸入設(shè)備得到的字符四、該章的主要例題1已知矩形的兩邊長,求矩形的面積、周長2大小寫字母互相轉(zhuǎn)化3教材P83的例子五、該章的主要習(xí)題 P84 4.54.9第五章 選擇結(jié)構(gòu)程序設(shè)計知識點:1、關(guān)系、邏輯運算符、邏輯真/假;2、關(guān)系表達(dá)式、邏輯表達(dá)式;3、分支的概念及其算法描述;4、三種IF分支語句;5、條件運算符;6、SWITCH語句。(了解)重點:1、關(guān)
35、系、邏輯運算符、邏輯真/假;2、關(guān)系表達(dá)式、邏輯表達(dá)式;3、三種IF分支語句。難點:1、邏輯真/假;2、關(guān)系、邏輯運算優(yōu)先級。一、關(guān)系表達(dá)式及邏輯表達(dá)式在分支選擇結(jié)構(gòu)的作用 在程序設(shè)計中,表示一些復(fù)雜的條件1、關(guān)系運算符及關(guān)系表達(dá)式(第三章)2、邏輯運算符及邏輯表達(dá)式(第三章)3、條件運算符(第三章)二分支語句(書P91) 從一個條件表達(dá)式中,選擇語句的執(zhí)行 (用 if 語句或switch 語句來實現(xiàn)) f . t . f 表達(dá)式 表達(dá)式 t 語 句 語 句1 語 句2 1If 語句 (1)C語言提供三種形式的if語句 1)if (表達(dá)式) 語句 例: if (x>y ) printf
36、( “%d” , x ); 注意“;”位置 2) if (表達(dá)式) 語句1 else 語句2 例: if (x>y ) printf ( “%d” , x ); else printf ( “%d” , y ); 注意分號“;” 3) if (表達(dá)式1) 語句1 else if (表達(dá)式2) 語句2 else if (表達(dá)式3) 語句3 else if (表達(dá)式n) 語句n else 語句n+1 例:p92圖5.6 (2)if ()和else后的執(zhí)行語句可以使用復(fù)合語句 例5.1、5.2 p93 if結(jié)構(gòu) 將輸入的三個數(shù)從大到小排列輸出 例5.3 p95 if 嵌套結(jié)構(gòu) 計算函數(shù)值 (3
37、)用條件運算符代替if語句 例: if ( a>b ) y=a; 條件運算符 else 可以用: y= ( a>b ) ? a : b; y=b; 例5.4 p98 條件運算符代替if 結(jié)構(gòu) 將輸入字符中的大寫轉(zhuǎn)換成小寫輸出 2switch語句(了解) switch語句是多分支選擇語句 表達(dá)式 語句1 語句2 語句3 語句 4 格式: switch (表達(dá)式) 表達(dá)式=常量表達(dá)式n 執(zhí)行語句n case 常量表達(dá)式1 :語句1; break; case 常量表達(dá)式2 :語句2; break; case 常量表達(dá)式3 :語句3; break; case 常量表達(dá)式n :語句n; br
38、eak; default :語句n+1; 例:四級(ABCD)轉(zhuǎn)化成百分制 #include <stdio.h> main() char grade; scanf("%c",&grade); switch(grade) case 'A':printf("85100n");break; case 'B':printf("7584n");break; case 'C':printf("6074n");break; case 'D':printf("<60n");bre
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Prasugrel-hydroxy-thiolactone-生命科學(xué)試劑-MCE-3743
- 2-3-Dihydroxypropyl-pentadecanoate-生命科學(xué)試劑-MCE-1920
- 2025年度酒店客房客房設(shè)施設(shè)備維修承包經(jīng)營與備件儲備協(xié)議
- 2025年度二零二五年度玉米種植與農(nóng)業(yè)觀光旅游項目合作協(xié)議
- 二零二五年度汽車抵押貸款信用評級合同
- 二零二五年度張家界市別墅湖南商品房買賣合同
- 二零二五年度離婚協(xié)議書簡易版(離婚后子女教育協(xié)議)
- 跨界合作小區(qū)內(nèi)餐飲與其他行業(yè)的合作機會探索
- 個人房屋貸款抵押擔(dān)保合同樣本
- 九月股東出資合同書
- 蘇教版四年級數(shù)學(xué)下冊第三單元第二課時《常見的數(shù)量關(guān)系》課件
- 2025年中考物理總復(fù)習(xí)《壓強》專項測試卷含答案
- SaaS服務(wù)具體應(yīng)用合同范本2024版版
- 殘疾人掛靠合作合同協(xié)議書范本
- 浙江省臺州市2021-2022學(xué)年高一上學(xué)期期末質(zhì)量評估政治試題 含解析
- GB/T 23791-2009企業(yè)質(zhì)量信用等級劃分通則
- 員工自主報告和舉報事故隱患獎勵匯總表
- 清代文學(xué)緒論
- 阿里云數(shù)字化轉(zhuǎn)型生態(tài)介紹課件
- 《控軋控冷》課件
- 煤礦瓦斯抽采達(dá)標(biāo)暫行規(guī)定
評論
0/150
提交評論