九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

《C語(yǔ)言程序設(shè)計(jì)》教案(清華譚浩強(qiáng)).doc

  • 資源ID:1258473       資源大?。?span id="24d9guoke414" class="font-tahoma">422KB        全文頁(yè)數(shù):86頁(yè)
  • 資源格式: DOC        下載積分:32積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要32積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

《C語(yǔ)言程序設(shè)計(jì)》教案(清華譚浩強(qiáng)).doc

_第一章語(yǔ)言及程序設(shè)計(jì)概述本章要求: 了解C語(yǔ)言的特點(diǎn)、C語(yǔ)言與其它高級(jí)語(yǔ)言相比有什么異同; 了解C程序在PC機(jī)上的建立、編譯和運(yùn)行過(guò)程; 了解C語(yǔ)言程序設(shè)計(jì)思想的基本篇;重點(diǎn):C語(yǔ)言的主要特點(diǎn); C語(yǔ)言在PC機(jī)上的運(yùn)行過(guò)程及上機(jī)操作過(guò)程; 常用算法的應(yīng)用難點(diǎn):無(wú)一、C語(yǔ)言概述 C語(yǔ)言是目前國(guó)際上在各種計(jì)算機(jī)運(yùn)行較為廣泛流行的一種高級(jí)語(yǔ)言。 主要表現(xiàn)為: C語(yǔ)言:適合于作為系統(tǒng)描述語(yǔ)言可用來(lái)寫(xiě)系統(tǒng)軟件。 具有高級(jí)語(yǔ)言的特點(diǎn),又有低級(jí)語(yǔ)言(匯編語(yǔ)言)的特點(diǎn)。 C語(yǔ)言:是AT&T貝爾實(shí)驗(yàn)室的Dennis Ritchie在1972年發(fā)明的。 C語(yǔ)言:是在B語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的。(ALGOL 60) C語(yǔ)言:最早開(kāi)始是用于UNIX操作系統(tǒng)。(C語(yǔ)言和UNIX是相輔相成的) DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,則是用C語(yǔ)言加上若干匯編子程序編寫(xiě)的。 1983年:制定的新標(biāo)準(zhǔn),稱(chēng)為(美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì))ANSI C 1987年:Turbo C1.0 (Borland) 1988年:TC 1.5(圖形和文本窗口) 1989年:Turbo C2.0 (DOS操作系統(tǒng)、查錯(cuò)、Tiny模式生成com文件) 1991年:Turbo C+(3.0) 支持windows 3.X 說(shuō)明:Turbo C語(yǔ)言可以在程序的任何地方嵌入?yún)R編代碼,提高速度,可以直接使用存儲(chǔ)器和寄存器。二C語(yǔ)言的特點(diǎn) 1語(yǔ)言簡(jiǎn)潔、緊湊、使用方便、靈活 C語(yǔ)言:共有32個(gè)關(guān)鍵字,9種控制語(yǔ)句; 程序書(shū)寫(xiě)自由,主要用小寫(xiě)字母表示; 2運(yùn)算符豐富 C語(yǔ)言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符; 即:把括號(hào)、賦值、強(qiáng)制類(lèi)型轉(zhuǎn)換都作為運(yùn)算符處理 3有豐富的數(shù)據(jù)類(lèi)型 整型、實(shí)型、字符型、數(shù)據(jù)類(lèi)型、指針類(lèi)型、結(jié)構(gòu)體類(lèi)型、共用體(聯(lián)合)類(lèi)型等。實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(鏈表、樹(shù)、棧、圖)的運(yùn)算。 4具有結(jié)構(gòu)化的功能,用函數(shù)作為程序模塊,實(shí)現(xiàn)程序的模塊化 5語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。(放寬了語(yǔ)法檢查) 例:1)對(duì)數(shù)組下標(biāo)越界不作檢查,由程序編寫(xiě)者自己保證程序的正確; 2)整型數(shù)據(jù)、字符型數(shù)據(jù)、邏輯型數(shù)據(jù)可以通用。 6能直接訪問(wèn)物理地址,能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作。 7生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。 8用C語(yǔ)言編寫(xiě)的程序,移植性較好。 說(shuō)明: C語(yǔ)言比其它高級(jí)語(yǔ)言難掌握,對(duì)編程人員要求較高 程序員使用C語(yǔ)言編寫(xiě)程序會(huì)感到限制少、靈活性大,功能強(qiáng),可以編寫(xiě)出任何類(lèi)型的程序。三C程序的構(gòu)成例: main( ) /*主函數(shù)*/ int a,b,sum; /*定義變量*/ a=123;b=456; sum=a+b; printf(“sum is %dn”,sum); /*輸出變量*/ 說(shuō)明: 1)程序一般用小寫(xiě)字母書(shū)寫(xiě); 2)每個(gè)程序必須要有一個(gè)main ( ) (只能一個(gè)),稱(chēng)主函數(shù); 注:C程序是由函數(shù)構(gòu)成的,函數(shù)是C程序的基本單位。 函數(shù):系統(tǒng)提供的庫(kù)函數(shù);用戶(hù)設(shè)計(jì)的函數(shù)。 3)程序體必須在 之間; 4)每個(gè)語(yǔ)句的結(jié)尾,必須要有“;”作為終止符。 5)用/*. */ 作注釋四、C程序的上機(jī)過(guò)程1演示 書(shū):P5 程序2上機(jī)步驟 書(shū):P7 注:C語(yǔ)言是一種編譯語(yǔ)言,編譯語(yǔ)言的特點(diǎn):連接編譯目標(biāo)程序 *.OBJ執(zhí)行程序 *.EXE源程序 *.C C編譯程序 Link程序 3windows下C語(yǔ)言的運(yùn)行 目前DOS下運(yùn)行C語(yǔ)言軟件為:visual C+ 6.0 的特點(diǎn): 是一個(gè)把 編輯 編譯 連接 運(yùn)行 等全部操作集中在一個(gè)界面上。 (2) visual C+ 6.0的操作及運(yùn)行 書(shū):P8五、算法的概念 1算法的概念 書(shū):P13 算法:程序的操作步驟。 程序中的數(shù)據(jù) 在程序設(shè)計(jì)中: 操作步驟 有: 程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法 沃思 Nikiklaus Wirth 程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語(yǔ)言工具和環(huán)境 2 計(jì)算機(jī)算法分為兩大類(lèi): 數(shù)值運(yùn)算算法非數(shù)值運(yùn)算算法 (1)數(shù)值運(yùn)算算法:求數(shù)值解;通過(guò)運(yùn)算得出一個(gè)具體值,如求方程的根等 注:數(shù)值運(yùn)算一般有現(xiàn)成的模型,算法較成熟。 (2)非數(shù)值運(yùn)算算法:用于事務(wù)管理,如圖書(shū)檢索、人事管理等。 3、常用簡(jiǎn)單算法 (1)累乘 即: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 不成立注:該算法可擴(kuò)展為在一批數(shù)據(jù)中,找某一個(gè)數(shù) (4)其它算法 P15 例 2.2 例 2.3 例 2.4 例 2.5 課余自學(xué)(必須) 4、算法的表示 常用的有:自然語(yǔ)言傳統(tǒng)流程圖結(jié)構(gòu)化流程圖偽代碼PAD圖(1)傳統(tǒng)流程圖 起止框 輸入輸出框 判斷框 處理框 流程線 連接點(diǎn)表示方法:P19 例注:傳統(tǒng)流程圖對(duì)流程線的使用沒(méi)有嚴(yán)格限制,難以實(shí)現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)為了限制流程線的濫用,提出三種基本結(jié)構(gòu): 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu) 選擇結(jié)構(gòu) f t . f 語(yǔ)句 表達(dá)式 表達(dá)式 t 語(yǔ)句 語(yǔ) 句 語(yǔ) 句1 語(yǔ) 句2 循環(huán)結(jié)構(gòu) 表達(dá)式 語(yǔ) 句 語(yǔ) 句 表達(dá)式 a) “當(dāng)型”結(jié)構(gòu) b) “直到型”結(jié)構(gòu)(2)N-S流程圖 特點(diǎn):去掉了帶箭頭的流程線,全部算法寫(xiě)在一個(gè)矩形框內(nèi)。 稱(chēng)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上機(jī):熟悉visual C+ 6.0的操作及運(yùn)行第三章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式本章要求: 本章是C語(yǔ)言的基本概念開(kāi)篇,所介紹的概念是學(xué)習(xí)C語(yǔ)言的基礎(chǔ); 要求熟練掌握數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式。重點(diǎn):C語(yǔ)言數(shù)據(jù)類(lèi)型定義的方法和分類(lèi)。 C語(yǔ)言運(yùn)算符、表達(dá)式的使用以及它們的主要特點(diǎn)。難點(diǎn):自增、自減運(yùn)算符、賦值運(yùn)算符、逗號(hào)運(yùn)算符及它們的混合使用一數(shù)據(jù)類(lèi)型概念:算法處理的對(duì)象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式出現(xiàn)。在C語(yǔ)言中,數(shù)據(jù)有:常量、變量;一般它們都有一定的數(shù)據(jù)類(lèi)型。 (C語(yǔ)言的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類(lèi)型形式出現(xiàn)的)1數(shù)據(jù)類(lèi)型分類(lèi): 整型 int 基本類(lèi)型 字符型 單精度型 float 實(shí)型(浮點(diǎn)型) 枚舉類(lèi)型 雙精度型 double 數(shù)據(jù)類(lèi)型 數(shù)組類(lèi)型 構(gòu)造類(lèi)型 結(jié)構(gòu)體類(lèi)型 struct 共用體(聯(lián)合)類(lèi)型 union 指針類(lèi)型 * 空類(lèi)型 void 說(shuō)明:在程序中對(duì)用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類(lèi)型。 2C語(yǔ)言中的常量和變量常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量。變量:在程序運(yùn)行過(guò)程中,其值可以改變的量。 說(shuō)明:1)常量和變量,都要有一個(gè)名字表示它; 習(xí)慣上,符號(hào)常量(別名)名用大寫(xiě),變量用小寫(xiě)。 符號(hào)常量的定義為: #define P 30 其它常量:直接用數(shù)據(jù)表示 例: 23 45.5 e 3e+2 2)在C語(yǔ)言中,對(duì)變量要先定義,后使用。 3)如果一個(gè)變量被指定為一確定類(lèi)型后,在C語(yǔ)言編譯時(shí),就能為其分配相應(yīng)的存儲(chǔ)單元。 a 變量名 存儲(chǔ)地址)2000 3 變量值 存儲(chǔ)單元 地址的概念 3常用的基本數(shù)據(jù)類(lèi)型(1)整型 1)整型常量:十進(jìn)制整數(shù) 123,-11,0 非0開(kāi)頭 八進(jìn)制整型 0123,-011 0開(kāi)頭 十六進(jìn)制整型 0x11 0x20 0x0D 0XFF 0x4e 0x/0X開(kāi)頭 說(shuō)明:在一個(gè)整常量后面加一個(gè)字母:l或L,是長(zhǎng)整型常量。22L 0733L 0xae4l 2)整型變量: 定義 存儲(chǔ)字節(jié) 數(shù)的范圍 基本型 int x (2字節(jié)) -3276832767 短整型 short int x (2字節(jié)) -3276832767 長(zhǎng)整型 long int x (4字節(jié)) -2,147,483,6482,147,483,647 無(wú)符號(hào)型 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 存儲(chǔ)結(jié)構(gòu) 見(jiàn)P44 圖3.5 注:數(shù)據(jù)超過(guò)數(shù)據(jù)范圍,會(huì)發(fā)生數(shù)據(jù)溢出 例3.2、3.3 (2)實(shí)型(浮點(diǎn)數(shù)) 1)實(shí)型常量: 十進(jìn)制整數(shù) 1.23 .0123 指數(shù)形式 1.23e3,1.00e-3 2)實(shí)型變量: 數(shù)的表示范圍P46表3.2 單精度 float x (4字節(jié))3.4x10-383.4x1038 TC默認(rèn) 雙精度 double x (8字節(jié))1.7x10-3081.7x10308 說(shuō)明:實(shí)型常量 不分float和double,只有十進(jìn)制表達(dá)方式 有的C編譯系統(tǒng)64位存儲(chǔ)方式,如尾加f或F可表示32位:324.567f 例:x=1.23; x=123e3 P47例3.4(存儲(chǔ)精度) (3)字符型 1)字符常量: a) 用單引號(hào)括起來(lái)的一個(gè)字符 aA b) 轉(zhuǎn)義字符(由“專(zhuān)用字母” ) 書(shū)P48表3.3 例3.5 0字符串結(jié)束符 n換行 t水平制表 ddd八進(jìn)制數(shù) xdd十六進(jìn)制數(shù) 2)字符變量: char c (1字節(jié))說(shuō)明:一個(gè)字符變量,只能放一個(gè)字符常量。實(shí)際是把該常量的ASCII值,送入字符變量中。即:B(66) c (字符變量) 書(shū)P374ASCII表 p50例3.6-7 c=B c的內(nèi)容為66 故:字符數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算;即:c=B+2 為68 字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式 書(shū)P50 unsigned char 0-255 char -128-127 有符號(hào)數(shù)在TC中是用補(bǔ)碼表示的 127(0x7f) 0111 1111 128(0x80) 1000 0000 復(fù)習(xí):補(bǔ)碼的規(guī)定: 正數(shù):其原碼、反碼、補(bǔ)碼相同 負(fù)數(shù):最高位為1,其余各位為原碼的反碼(原碼的相應(yīng)位取反),然后對(duì)整個(gè)數(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)字符串常量 用雙引號(hào)括起來(lái)的字符 “a” ,“ABFD” “a” =“a0” <> A說(shuō)明:C規(guī)定,在每一個(gè)字符串的結(jié)尾應(yīng)加一個(gè)“字符串結(jié)束標(biāo)志”(0), 以便系統(tǒng)判斷字符串是否結(jié)束。 4各類(lèi)數(shù)值間的混合運(yùn)算 1)整型、字符型、單精度型、雙精度型數(shù)據(jù)可以混合運(yùn)算 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 二運(yùn)算符和表達(dá)式 C表達(dá)式:由變量、常量、函數(shù)等運(yùn)算對(duì)象和運(yùn)算符組成的式子 C運(yùn)算符作用: 1)能把一些基本運(yùn)算模塊用單一的運(yùn)算符處理 2)使用豐富的運(yùn)算符,構(gòu)成多種表達(dá)式 C運(yùn)算符有優(yōu)先級(jí),優(yōu)先級(jí)高的先執(zhí)行,同級(jí)的由結(jié)合規(guī)則決定其處理規(guī)則 C運(yùn)算符有兩種結(jié)合規(guī)則: 1)從左到右的結(jié)合運(yùn)算順序;即:a=5+x10;運(yùn)算對(duì)象與左邊運(yùn)算符結(jié)合 2)從右到左的結(jié)合運(yùn)算順序;即:x=y=7;運(yùn)算對(duì)象與右邊運(yùn)算符結(jié)合 C運(yùn)算符分類(lèi) 書(shū)P551基本運(yùn)算符(算術(shù)運(yùn)算符) C語(yǔ)言有7個(gè)基本運(yùn)算符1)單目運(yùn)算符:(表示符號(hào)) 正號(hào)“+” 負(fù)號(hào)“-”2)雙目運(yùn)算符:+、- 、*、/、%(模運(yùn)算,求余運(yùn)算,兩側(cè)為整數(shù)) 說(shuō)明: a)運(yùn)算順序的結(jié)合方向從左到右 b)求余(取模)運(yùn)算符是對(duì)兩個(gè)整數(shù)相除的余數(shù),計(jì)算結(jié)果的符號(hào)與第一個(gè)數(shù)的符號(hào)相同。即:-5%3 值為-2、 -5%-3 值為-2、 5%-3 值為2 2自增、自減運(yùn)算符(優(yōu)先級(jí)高于算術(shù),右結(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 說(shuō)明:1)自增、自減運(yùn)算符+(-),只能用于變量,不能用于常量或表達(dá)式 即:5+ 、 (a+b)+ 不合法 2)運(yùn)算順序的結(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é)合運(yùn)算符+ (不是3+4+5=12) printf("z=%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賦值運(yùn)算符和賦值表達(dá)式(優(yōu)先級(jí)低于算術(shù),右結(jié)合) (1)“=” 賦值運(yùn)算符 作用:將一個(gè)數(shù)據(jù)賦給一個(gè)變量 即:x=21 注意: 如果賦值運(yùn)算符兩側(cè)的類(lèi)型不一致,在賦值時(shí),要進(jìn)行類(lèi)型轉(zhuǎn)換。P61例3.9 即:float f ; f=23 f值為23.0000 符號(hào)位擴(kuò)展 (2)復(fù)合的賦值運(yùn)算符 “+=、-=、*=、/=、%=” 在賦值符“=”之前加上其它運(yùn)算符 稱(chēng)復(fù)合運(yùn)算符(也稱(chēng)為自反運(yùn)算符) 例:a+=3 等價(jià)于 a=a+3 x*=y+8 等價(jià)于 x=x*(y+8) y/=4 等價(jià)于 y=y/4 m%=3 等價(jià)于 m=m%3說(shuō)明: C語(yǔ)言采用這種復(fù)合運(yùn)算符: 為了簡(jiǎn)化程序,使程序精練;提高編譯效率。 (3)賦值表達(dá)式格式:變量=表達(dá)式表達(dá)式: 可以是 1)常量、變量、算術(shù)表達(dá)式; 2)賦值表達(dá)式 即:a=(b=5) 或 a=b=5 (運(yùn)算順序的結(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逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式(優(yōu)先級(jí)最低,左結(jié)合) 用“,”將兩個(gè)表達(dá)式連接起來(lái)。 格式:表達(dá)式1,表達(dá)式2 即: 3+5,6*9; 例: 3+5,6*9; 值為54 (先求解表達(dá)式1,再求解表達(dá)式2,最后逗號(hào)表達(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說(shuō)明: 使用逗號(hào)表達(dá)式的目的,只是為了得到各個(gè)表達(dá)式的值(常用于循環(huán)語(yǔ)句) 解表達(dá)式1的結(jié)果可能影響解表達(dá)式2的值 5強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符(優(yōu)先級(jí)高于算術(shù),右結(jié)合) 在要轉(zhuǎn)換的數(shù)據(jù)前,用小括號(hào)括上要轉(zhuǎn)換的數(shù)據(jù)類(lèi)型 即: (int)x; (int)(a+b) (int)x+y 格式:(類(lèi)型名)表達(dá)式 C一般會(huì)自動(dòng)進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換P56例3.8,用于不能自動(dòng)轉(zhuǎn)換的地方x%3(float f) 6關(guān)系運(yùn)算符和關(guān)系表達(dá)式(書(shū)P87)(優(yōu)先級(jí)低于算術(shù),左結(jié)合,高于賦值) (1)6種關(guān)系運(yùn)算符 < <= > >= (優(yōu)先級(jí)高) = = != (優(yōu)先級(jí)低) (2)關(guān)系表達(dá)式 表達(dá)式 關(guān)系運(yùn)算符 表達(dá)式 即:a>b a+b>=b+c (a=4)<(b=8) x= = y 說(shuō)明: 關(guān)系表達(dá)式值:是一個(gè)邏輯值,即:“真”或“假” C語(yǔ)言:1 代表“真” 0 代表“假” 7邏輯運(yùn)算符和邏輯表達(dá)式(書(shū)P88)(優(yōu)先級(jí)低于關(guān)系,左結(jié)合) (1)3種邏輯運(yùn)算符 p89 表5.1 && (與) | | (或) ! (非) (2)邏輯表達(dá)式 表達(dá)式 邏輯運(yùn)算符 表達(dá)式 p89 即: (a>b) | | (a+b>=b+c) (a=4)&&(b=8) 1 | | (1) x&& y 值為1 1 說(shuō)明: 邏輯表達(dá)式值:是一個(gè)邏輯值,即:“真”或“假” p90 優(yōu)先次序(由高到低): ?。ǚ牵?算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 &&和| | 賦值運(yùn)算符 求值短路:5>3&&2|8<4-!0 1| (結(jié)果1) 0&& (結(jié)果0) 如:a&&b&&c a<>0才判斷a&&b 8條件運(yùn)算符(書(shū)P97) 格式:表達(dá)式1 ? 表達(dá)式2:表達(dá)式3 執(zhí)行:先求解表達(dá)式1,為真(非零),求表達(dá)式2 為假(為0),求表達(dá)式3 例: y= ( a>b ) ? a : b; 說(shuō)明:a)條件運(yùn)算符要求有三個(gè)操作對(duì)象(稱(chēng)三目元運(yùn)算符) b)條件運(yùn)算符優(yōu)先于賦值運(yùn)算符 y= ( a>b ) ? a : b; 先求 ( a>b ) ? a : b 后賦值 c)條件運(yùn)算符的結(jié)合方向?yàn)椤白杂抑磷蟆?( a>b ) ? a : b 可寫(xiě)為: 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位運(yùn)算符 (書(shū)P298)(一般掌握)位運(yùn)算: 是對(duì)字節(jié)或字中的實(shí)際位進(jìn)行檢測(cè)、設(shè)置、屏蔽、移位。位運(yùn)算符:& 位邏輯與 | 位邏輯或 位邏輯異或 位邏輯反 >> 右移 << 左移三、運(yùn)算符小結(jié)1左結(jié)合方向的運(yùn)算符主要有:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、逗號(hào)運(yùn)算符2右結(jié)合方向的運(yùn)算符主要有:自增、自減運(yùn)算符、賦值運(yùn)算符(復(fù)合的賦值運(yùn)算符)、條件運(yùn)算符例: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ùn)算符的優(yōu)先次序(書(shū) P375 附錄)()、!+/-/-轉(zhuǎn)移、算術(shù)、關(guān)系(<<=>>=)、關(guān)系(= = !=)、&&、|、條件(?)、賦值、逗號(hào)例: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é)果值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六、該章的主要上機(jī)內(nèi)容 P39 例3.1 P44 例3.2 P44 例3.3 P51 例3.7 P65 3.6 3.8 3.10 第四章 簡(jiǎn)單的C程序設(shè)計(jì)(順序程序設(shè)計(jì))知識(shí)點(diǎn):1、賦值語(yǔ)句; 2、字符數(shù)據(jù)的輸入/輸出;3、格式輸入/輸出語(yǔ)句printf和scanf及其格式控制符;%c、%f、%d(輸出寬度、對(duì)齊方式、其它格式控制符只作了解)4、程序的結(jié)構(gòu)框架。重點(diǎn):1賦值語(yǔ)句;2基本輸入/輸出語(yǔ)句printf和scanf及其格式控制符%c、%f、%d等的意義。難點(diǎn): 無(wú)一、C程序結(jié)構(gòu) C程序 源程序文件1 源程序文件2 源程序文件n 預(yù)編譯命令 函數(shù)1 函數(shù)n 說(shuō)明部分 執(zhí)行部分 (語(yǔ)句)語(yǔ)句的分類(lèi)P67 P681、控制語(yǔ)句條件: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、函數(shù)調(diào)用語(yǔ)句 printf(“a=%d”,a);3、表達(dá)式語(yǔ)句 i=i+1 表達(dá)式 i=I+1; 表達(dá)式語(yǔ)句 函數(shù)調(diào)用也可以認(rèn)為是表達(dá)式語(yǔ)句4、空語(yǔ)句:一個(gè)“;”5、復(fù)合語(yǔ)句(用:分程序) x=3; x=x+1; print(“x=%x”,x) 二賦值語(yǔ)句 變量名=表達(dá)式 注:是組成順序結(jié)構(gòu)的主要語(yǔ)句。 a=b; if ( max<= x ) max =x ;三基本輸入/輸出語(yǔ)句 C語(yǔ)言本身不提供輸入輸出語(yǔ)句,輸入輸出操作是由函數(shù)來(lái)實(shí)現(xiàn)。 即:printf putchar scanf getchar 注:(1)這些函數(shù)構(gòu)成一個(gè)標(biāo)準(zhǔn)的I/O函數(shù)庫(kù)(放在“stdio.h”中) (2)如果要使用C語(yǔ)言庫(kù)函數(shù),要用預(yù)編譯命令“#include”將有關(guān)“頭文件”包括到用戶(hù)源文件中。 #include <stdio.h> #include “stdio.h” 當(dāng)前目錄 當(dāng)前定義的目錄中尋找 1printf函數(shù) 格式輸出函數(shù) 格式:printf(格式控制,輸出表列) 格式控制: 用雙引號(hào)括起來(lái)的字符串,也稱(chēng)為“轉(zhuǎn)換控制字符串” printf的格式字符 書(shū)P77 表41 輸出表列: 需要輸出的數(shù)據(jù)、表達(dá)式 即:printf( “x=%5.1f, y=%d, z=%c” , x, y, z ) d,i 帶符號(hào)十進(jìn)制形式 u 無(wú)符號(hào)十進(jìn)制形式 例3-3 c 字符形式 s 字符串形式 f 實(shí)數(shù)(小數(shù))形式 默認(rèn)6位小數(shù)說(shuō)明:1)printf( “ y=%-4d” , y ) 輸出數(shù)據(jù)左對(duì)齊(默認(rèn)為右對(duì)齊) 2)數(shù)據(jù)輸出長(zhǎng)度的修正; l 輸出長(zhǎng)整型或雙精度數(shù)據(jù) 即:printf( “%ld, %lf ” , i, y ) h 輸出短型數(shù)據(jù) 即:printf( “%hu ” , a ) -m.n m最小寬度 n小數(shù)(實(shí)數(shù)) -左對(duì)齊2putchar函數(shù) 字符輸出函數(shù)向終端輸出一個(gè)字符格式:putchar(變量) putchar(x) putchar(“n” ) 輸出一個(gè)換行符 3scanf函數(shù) 格式輸入函數(shù) 格式:scanf(格式控制,地址表列) 格式控制: 用雙引號(hào)括起來(lái)的字符串,也稱(chēng)為“轉(zhuǎn)換控制字符串” scanf的格式字符 書(shū)P80 表43 地址表列: 由若干個(gè)地址組成的表列,有:變量地址 &x 字符串的首地址 & 地址運(yùn)算符 功能:求變量的地址(只能用于變量) &x 表示x變量值的內(nèi)存單元的地址 即:scanf( “%d, %4d”, &a, &b )說(shuō)明:1)不帶分隔字符的方式,系統(tǒng)將自動(dòng)按格式說(shuō)明截取數(shù)據(jù) 例: scanf ( “ %4d%*3d%f ”, &I , &p ); 輸入:12345678.93 時(shí) 得 I=1234 , p=8.93 “*”作用是“虛讀”,跳過(guò)相應(yīng)的數(shù)據(jù) 2)帶分隔字符的方式(分隔字符:空格、tab、回車(chē)、逗號(hào)) 即:scanf( “%d, %d”, &a, &b ) 4getchar函數(shù) 字符輸入函數(shù) 從終端輸入一個(gè)字符 格式:getchar ( ) 即:c=getchar ( ) 函數(shù)值是從輸入設(shè)備得到的字符四、該章的主要例題1已知矩形的兩邊長(zhǎng),求矩形的面積、周長(zhǎng)2大小寫(xiě)字母互相轉(zhuǎn)化3教材P83的例子五、該章的主要習(xí)題 P84 4.54.9第五章 選擇結(jié)構(gòu)程序設(shè)計(jì)知識(shí)點(diǎn):1、關(guān)系、邏輯運(yùn)算符、邏輯真/假;2、關(guān)系表達(dá)式、邏輯表達(dá)式;3、分支的概念及其算法描述;4、三種IF分支語(yǔ)句;5、條件運(yùn)算符;6、SWITCH語(yǔ)句。(了解)重點(diǎn):1、關(guān)系、邏輯運(yùn)算符、邏輯真/假;2、關(guān)系表達(dá)式、邏輯表達(dá)式;3、三種IF分支語(yǔ)句。難點(diǎn):1、邏輯真/假;2、關(guān)系、邏輯運(yùn)算優(yōu)先級(jí)。一、關(guān)系表達(dá)式及邏輯表達(dá)式在分支選擇結(jié)構(gòu)的作用 在程序設(shè)計(jì)中,表示一些復(fù)雜的條件1、關(guān)系運(yùn)算符及關(guān)系表達(dá)式(第三章)2、邏輯運(yùn)算符及邏輯表達(dá)式(第三章)3、條件運(yùn)算符(第三章)二分支語(yǔ)句(書(shū)P91) 從一個(gè)條件表達(dá)式中,選擇語(yǔ)句的執(zhí)行 (用 if 語(yǔ)句或switch 語(yǔ)句來(lái)實(shí)現(xiàn)) f . t . f 表達(dá)式 表達(dá)式 t 語(yǔ) 句 語(yǔ) 句1 語(yǔ) 句2 1If 語(yǔ)句 (1)C語(yǔ)言提供三種形式的if語(yǔ)句 1)if (表達(dá)式) 語(yǔ)句 例: if (x>y ) printf ( “%d” , x ); 注意“;”位置 2) if (表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2 例: if (x>y ) printf ( “%d” , x ); else printf ( “%d” , y ); 注意分號(hào)“;” 3) if (表達(dá)式1) 語(yǔ)句1 else if (表達(dá)式2) 語(yǔ)句2 else if (表達(dá)式3) 語(yǔ)句3 else if (表達(dá)式n) 語(yǔ)句n else 語(yǔ)句n+1 例:p92圖5.6 (2)if ()和else后的執(zhí)行語(yǔ)句可以使用復(fù)合語(yǔ)句 例5.1、5.2 p93 if結(jié)構(gòu) 將輸入的三個(gè)數(shù)從大到小排列輸出 例5.3 p95 if 嵌套結(jié)構(gòu) 計(jì)算函數(shù)值 (3)用條件運(yùn)算符代替if語(yǔ)句 例: if ( a>b ) y=a; 條件運(yùn)算符 else 可以用: y= ( a>b ) ? a : b; y=b; 例5.4 p98 條件運(yùn)算符代替if 結(jié)構(gòu) 將輸入字符中的大寫(xiě)轉(zhuǎn)換成小寫(xiě)輸出 2switch語(yǔ)句(了解) switch語(yǔ)句是多分支選擇語(yǔ)句 表達(dá)式 語(yǔ)句1 語(yǔ)句2 語(yǔ)句3 語(yǔ)句 4 格式: switch (表達(dá)式) 表達(dá)式=常量表達(dá)式n 執(zhí)行語(yǔ)句n case 常量表達(dá)式1 :語(yǔ)句1; break; case 常量表達(dá)式2 :語(yǔ)句2; break; case 常量表達(dá)式3 :語(yǔ)句3; break; case 常量表達(dá)式n :語(yǔ)句n; break; default :語(yǔ)句n+1; 例:四級(jí)(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");break; default:printf("errorn"); 例:百分制成績(jī)轉(zhuǎn)化成五級(jí)(ABCDE)五級(jí)記分 5-4-1三、程序舉例例5.7 p103 運(yùn)費(fèi)計(jì)算(自學(xué))p101 例5.6 求一元二次方程根(自學(xué))p100 例5.5 判斷某一年是否是閏年(自學(xué))五、該章的主要習(xí)題 P104 5.35.10該章的主要上機(jī)內(nèi)容P91 例5.2、P100 例 5.5,P101 例5.6P104 習(xí)題5.5、5.6、5.9 其他:上機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)中內(nèi)容第六章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)知識(shí)點(diǎn):1、循環(huán)的概念及其算法描述; 2、goto循環(huán);3、while循環(huán);重點(diǎn) 4、dowhile循環(huán);重點(diǎn)6、for循環(huán);重點(diǎn) 難點(diǎn) 7、break、continue語(yǔ)句;8、各種循環(huán)結(jié)構(gòu)中的執(zhí)行循環(huán)體、判斷循環(huán)條件的順序;重點(diǎn)9、各種循環(huán)結(jié)構(gòu)在一定條件下的轉(zhuǎn)化。重點(diǎn) 難點(diǎn)一、循環(huán)結(jié)構(gòu)的概念 循環(huán)語(yǔ)句主要用于:重復(fù)執(zhí)行的操作1C語(yǔ)言在實(shí)現(xiàn)循環(huán)過(guò)程可使用以下語(yǔ)句: a) 用goto 語(yǔ)句和if 語(yǔ)句構(gòu)成循環(huán) b) 用while語(yǔ)句語(yǔ)句 c) 用dowhile語(yǔ)句 d) 用for語(yǔ)句 2循環(huán)可分為二種類(lèi)型結(jié)構(gòu): a) “當(dāng)型”結(jié)構(gòu) b) “直到型”結(jié)構(gòu)語(yǔ)句二循環(huán)語(yǔ)句 1用goto語(yǔ)句和if語(yǔ)句構(gòu)成的循環(huán) (1)goto語(yǔ)句無(wú)條件轉(zhuǎn)向語(yǔ)句 格式:goto 語(yǔ)句標(biāo)號(hào) 語(yǔ)句標(biāo)號(hào):用標(biāo)識(shí)符表示 例:goto next; 如: goto 123 ;(不合法) (2)goto 和if語(yǔ)句構(gòu)成循環(huán) 一般較少使用(不符合結(jié)構(gòu)化原則)例:求 main( ) int i , sum=0 ; i=1 ; loop: if ( i<=50 ) sum=sum+2*i ; i+ ; goto loop ; printf ( “%dn” , sum ) ; 2while語(yǔ)句 實(shí)現(xiàn)“當(dāng)型”循環(huán)結(jié)構(gòu) 格式:while ( 表達(dá)式 ) 語(yǔ)句 例:求 main( ) int i , sum=0 ; i=1 ; while (i<=50 ) 說(shuō)明: sum=sum+2*i ; i+ ; printf ( “%dn” , sum ) ; 語(yǔ)句可為復(fù)合語(yǔ)句(用 構(gòu)成) 3dowhile語(yǔ)句 實(shí)現(xiàn)“直到型”循環(huán)結(jié)構(gòu) 格式: do 語(yǔ)句 while ( 表達(dá)式 ); 例:求 main( ) int i , sum=0 ; i=1 ; do sum=sum+2*i ; i+ ; while (i<=50 ) ; printf ( “%dn” , sum ) ; do while 和while比較 p109 例6.44for 語(yǔ)句可以用于循環(huán)次數(shù)已知和循環(huán)次數(shù)不確定 (可以代替while語(yǔ)句) (應(yīng)用廣泛,而且使用較活) 格式:for ( 表達(dá)式1 ; 表達(dá)式2 ; 表達(dá)式3 ) 語(yǔ)句 過(guò)程: 表達(dá)式1 F 表達(dá)式2 T 說(shuō)明: 語(yǔ) 句 表達(dá)式1-循環(huán)變量賦初值

注意事項(xiàng)

本文(《C語(yǔ)言程序設(shè)計(jì)》教案(清華譚浩強(qiáng)).doc)為本站會(huì)員(最***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!