哈工大2010新版C語(yǔ)言程序設(shè)計(jì)課件_第1頁(yè)
哈工大2010新版C語(yǔ)言程序設(shè)計(jì)課件_第2頁(yè)
哈工大2010新版C語(yǔ)言程序設(shè)計(jì)課件_第3頁(yè)
哈工大2010新版C語(yǔ)言程序設(shè)計(jì)課件_第4頁(yè)
哈工大2010新版C語(yǔ)言程序設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩106頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 哈爾濱工業(yè)大學(xué)威海C Programming Language C 語(yǔ)言程序設(shè)計(jì) C語(yǔ)言的祖師爺Dennis M. Ritchie/Ritchie漫畫像C is quirky, flawed, and an enormous success.C詭異離奇、缺陷重重,卻獲得巨大成功Who am i?姓名:徐永東聯(lián)系方式: :Email: 推薦使用Email方式交流答疑課件/徐永東 用戶名:test (pub),密碼:123456提交作業(yè)和實(shí)驗(yàn)報(bào)告Hu r u?用過(guò)計(jì)算機(jī)嗎?用來(lái)干什么?學(xué)過(guò)編程嗎?哪些語(yǔ)言?課程特點(diǎn)緊密圍繞在以C語(yǔ)言為核心的課中央周圍,進(jìn)行計(jì)算機(jī)科學(xué)的啟蒙教育,重點(diǎn)在于程序設(shè)計(jì)樂

2、趣與能力重于知識(shí),考試是?,成績(jī)是!自學(xué)、自主、自信、自樂人人做“稀飯課程說(shuō)明課程性質(zhì):必修課學(xué)時(shí)安排:42 30考核方式:筆試 70%實(shí)驗(yàn) 20%+平時(shí)10%平時(shí)要求:出勤 作業(yè)課程網(wǎng)站:見介紹課堂幫規(guī)不礙他人,為所欲為可隨時(shí)進(jìn)入,不可任意外出可大聲喧嘩,不可竊竊私語(yǔ)可伏案小睡,不可鼾聲大作可眉來(lái)眼去,不可動(dòng)手動(dòng)腳喧嘩有獎(jiǎng),自由萬(wàn)歲藐視教師,鄙視書本課外幫規(guī)人手一書,不要重樣禁止提問,大方討論說(shuō)出你對(duì)問題的看法思想共享,程序保密藐視教師,鄙視書本必備知識(shí)中文閱讀,英文查字典www瀏覽,下載,搜索收發(fā)emailWindows根本操作文件管理忠告不要溺愛本課,而冷落其它!程序演示welcome.

3、c程序演示welcome.c程序演示pro1.c程序演示pro1.c程序演示music1.c程序演示music1.c程序演示music.c程序演示music.c程序演示fk.c程序演示fk.c程序演示連連看C語(yǔ)言的四種常用編程環(huán)境DOS狀態(tài)下:Turbo C 2.0, Turbo C&C+ 3.0Windows狀態(tài)下:WIN-TC, Visual C+ 6.0, Visual C+.NetTurbo C 2.0Turbo C & C+ 3.0WIN-TCVisual C+ 6.0 (可視化的)編程語(yǔ)言的開展史人與計(jì)算機(jī)的對(duì)話兩個(gè)說(shuō)不同母語(yǔ)的人的對(duì)話方式:一方學(xué)另一方的語(yǔ)言雙方都學(xué)習(xí)一種第三方語(yǔ)

4、言人與計(jì)算機(jī)的對(duì)話方式:計(jì)算機(jī)學(xué)習(xí)人的語(yǔ)言自然語(yǔ)言理解人學(xué)習(xí)計(jì)算機(jī)的語(yǔ)言學(xué)習(xí)第三方語(yǔ)言機(jī)器語(yǔ)言計(jì)算1+1101110000000000100000000000001010000000100000000匯編語(yǔ)言MOV AX, 1101110000000000100000000ADD AX, 1000001010000000100000000BASIC語(yǔ)言PRINT 1+1C語(yǔ)言#include main()printf(%dn, 1+1);C語(yǔ)言的創(chuàng)世紀(jì)一切從一個(gè)叫“Space Travel的電子游戲開始為了讓他的游戲能在PDP-7上運(yùn)行,Ken Thompson用匯編語(yǔ)言給PDP-7寫了一個(gè)操

5、作系統(tǒng)UNIX匯編太不好用了,Thompson需要高級(jí)語(yǔ)言試驗(yàn)了一些高級(jí)語(yǔ)言,包括Fortran,都不理想他在BCPL根底上,自己設(shè)計(jì)了一個(gè)B語(yǔ)言UNIX開始開展,B也不夠用了Dennis Ritchie參加,把B改造成C開始用C重寫UNIX流行語(yǔ)言排行榜 C語(yǔ)言與程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)和非計(jì)算機(jī)專業(yè)的一門技術(shù)根底選修課程,大學(xué)一年級(jí)或大二年級(jí)開設(shè)。 通過(guò)本課程的學(xué)習(xí)使學(xué)生更好地了解和應(yīng)用計(jì)算機(jī),培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)獨(dú)立解決問題的能力,讓學(xué)生真正掌握一門使用計(jì)算機(jī)的語(yǔ)言工具,為學(xué)生今后無(wú)論是從事計(jì)算機(jī)或非計(jì)算機(jī)工作都奠定了良好的、扎實(shí)的計(jì)算機(jī)語(yǔ)言根底。你應(yīng)該知道 本課程的性質(zhì)、目的與任務(wù) 我們將遵

6、照國(guó)家教委考試中心制定的 “二級(jí)C語(yǔ)言考試大綱 來(lái)進(jìn)行教學(xué),所以在內(nèi)容上緊扣大綱考試要求,在語(yǔ)言上力求通俗易懂、循序漸進(jìn)。 你應(yīng)該知道你應(yīng)該知道自主學(xué)習(xí)重視上機(jī)實(shí)踐上機(jī)要求禁做與課程學(xué)習(xí)無(wú)關(guān)的事情看懂編譯信息,逐步學(xué)會(huì)各種調(diào)試方法算法及程序代碼在上機(jī)前搞定 本課程學(xué)習(xí)方法講課順序請(qǐng)翻開課本。第一章 簡(jiǎn)單C語(yǔ)言設(shè)計(jì)簡(jiǎn)單的C程序?qū)嵗?/* 一個(gè)簡(jiǎn)單的C程序?qū)嵗?*/*purpose: I have a dreamauthor : Zhang Weigangcreated: 2021/06/30 21:18:08*/#include #include void main(void)int nNumb

7、er1;nNumber1 = 1;printf(“Hello C language!n);printf(“I have a dream that one day I will be skillful in C programming!n);printf(“I have a dream that one day I will be a famous computer scientist!n);printf(“I have a dream that one day I will solve the Goldbachs conjecture problem and “prove that %d +

8、%d = %d by using C!n, nNumber1, nNumber1, 2);printf(“I hava a dream today!n);Hello C language!I have a dream that one day I will be skillful in C programming!I have a dream that one day I will be a famous computer scientist!I have a dream that one day I will solve the Goldbachs conjecture problem an

9、d prove that 1 + 1 = 2 by using C!I hava a dream today!X1 起止端點(diǎn) 輸入/輸出 一般處理 預(yù)定義處理 條件判斷 連接點(diǎn) 流程線 注釋框用程序流程圖來(lái)描述程序End程序流程圖描述剛剛的程序Begin變量聲明變量初始化輸出 字符串1輸出 字符串2輸出 字符串3輸出 字符串4與變量輸出 字符串5簡(jiǎn)單的C程序?qū)嵗?/* 一個(gè)簡(jiǎn)單的C程序?qū)嵗?*/*purpose: I have a dreamauthor : Zhang Weigangcreated: 2021/06/30 21:18:08*/#include #include void ma

10、in(void)int nNumber1;nNumber1 = 1;printf(“Hello C language!n);printf(“I have a dream that one day I will be skillful in C programming!n);printf(“I have a dream that one day I will be a famous computer scientist!n);printf(“I have a dream that one day I will solve the Goldbachs conjecture problem and

11、“prove that %d + %d = %d by using C!n, nNumber1, nNumber1, 2);printf(“I hava a dream today!n);注釋翻開另一個(gè)文件主函數(shù)名 變量聲明語(yǔ)句 賦值語(yǔ)句 函數(shù)調(diào)用語(yǔ)句 C程序結(jié)構(gòu) Hello C language!I have a dream that one day I will be skillful in C programming!I have a dream that one day I will be a famous computer scientist!I have a dream that

12、one day I will solve the Goldbachs conjecture problem and prove that 1 + 1 = 2 by using C!I hava a dream today!C程序結(jié)構(gòu) 簡(jiǎn)單程序擴(kuò)展 計(jì)算器解決方案 (1) 變量聲明:聲明的變量用于存放數(shù)據(jù);(2) 變量初始化:通過(guò)變量賦值或通過(guò)鍵盤輸入給出; (3) 輸出結(jié)果:將結(jié)果輸出到屏幕或窗口;(4) 在對(duì)變量初始化時(shí),要保證作除法運(yùn)算有意義,即保證除數(shù)不為零;(5) 取余運(yùn)算僅對(duì)于整數(shù)有意義。計(jì)算過(guò)程實(shí)現(xiàn)及分析 #include #include void main(void)int l

13、Operator,rOperator;/* 定義兩個(gè)整型變量,用于存放左右操作數(shù) */int nResult1,nResult2,nResult3,nResult4,nResult5;/* 定義五個(gè)整型變量,用于存放結(jié)果 */lOperator = 4;rOperator = 5;nResult1= lOperator+rOperator;/* 計(jì)算lOperator與rOperator相加并將和存入nResult1中 */nResult2= lOperator-rOperator;/* 計(jì)算lOperator與rOperator相減并將差存入nResult2中 */nResult3= lOp

14、erator*rOperator;/* 計(jì)算lOperator與rOperator相乘并將積存入nResult3中 */nResult4= lOperator/rOperator;/* 計(jì)算lOperator與rOperator相除并將商存入nResult4中 */nResult5= lOperator%rOperator;/* 算lOperator與rOperator的模并將余數(shù)存入nResult5中 */printf(“ %d “, nResult1); /* 將和顯示在屏幕上 */printf(“ %d “, nResult2);/* 將差顯示在屏幕上 */printf(“ %d “,

15、nResult3);/* 將積顯示在屏幕上 */printf(“ %d “, nResult4);/* 將商顯示在屏幕上 */printf(“ %d “, nResult5);/* 將余數(shù)顯示在屏幕上*/關(guān)于根本整型 int long int unsigned int float double char常用的數(shù)據(jù)類型與存儲(chǔ)方式 數(shù)組 文件 結(jié)構(gòu)體 共用體void基本類型構(gòu)造類型指針類型空類型數(shù)據(jù)類型Data Type數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型整型實(shí)型(浮點(diǎn)型)字符型枚舉類型數(shù)組類型結(jié)構(gòu)體類型共用體類型單精度實(shí)型雙精度實(shí)型基本整型長(zhǎng)整型短整型無(wú)符號(hào)整型數(shù)據(jù)類型多型遍地走,安知我多大?

16、數(shù)據(jù)為什么要區(qū)分類型?不同類型的數(shù)據(jù)代表不同的數(shù)據(jù)表示形式合法的取值范圍占用內(nèi)存空間大小可參與的運(yùn)算種類 根本數(shù)據(jù)類型int整數(shù),在目前絕大多數(shù)機(jī)器上占4個(gè)字節(jié)。TC2中是2個(gè)字節(jié)float單精度浮點(diǎn)數(shù),一般是4個(gè)字節(jié)長(zhǎng)double雙精度浮點(diǎn)數(shù),一般是8個(gè)字節(jié)長(zhǎng)char字符,一般是1個(gè)字節(jié)長(zhǎng)用來(lái)表示256個(gè)ASCII字符,或者0255的整數(shù)數(shù)據(jù)類型修飾符shortshort int,短整數(shù),一般2個(gè)字節(jié)長(zhǎng)。通常簡(jiǎn)寫為shortlonglong int,長(zhǎng)整數(shù),一般是4個(gè)字節(jié)長(zhǎng)。通常簡(jiǎn)寫為longlong double,長(zhǎng)雙精度高精度浮點(diǎn)數(shù),一般是10個(gè)字節(jié)長(zhǎng)。signed用來(lái)修飾char、in

17、t、short和long,說(shuō)明他們是有符號(hào)的整數(shù)正整數(shù)、0和負(fù)整數(shù)。一般缺省都是有符號(hào)的,所以這個(gè)修飾符通常省略u(píng)nsigned用來(lái)修飾char、int、short和long,說(shuō)明他們是無(wú)符號(hào)的整數(shù)正整數(shù)和0 1 byte 在16位環(huán)境中(DOS),占用 2 個(gè)字節(jié)的空間 1 byte int -3276832767 在32位環(huán)境中(Windows等),占用 4 個(gè)字節(jié)的空間 1 byte int a; a=9; 1 byte Do you know -9 ? 00001001 00 0000 0 000001001 a92000變量名地址編號(hào)2001 原碼: 用二進(jìn)制的最高位表示數(shù)符 用 0

18、,表示正數(shù) 用 1,表示負(fù)數(shù) 數(shù)值局部那么為 真值的絕對(duì)值常用的 有三種表示方法 原碼機(jī)器數(shù)反碼補(bǔ)碼 補(bǔ)碼: 那么先將其表示成原碼,然后除符號(hào)外,再逐位取反 即0變1,1變0最后再加上1。 例如: 求 2 的補(bǔ)碼即-2在內(nèi)存中的儲(chǔ)存方式 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0原碼負(fù)數(shù)以補(bǔ)碼形式存儲(chǔ)反碼補(bǔ)碼 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 x-y=x+(-y) 補(bǔ)碼: 神奇地化減法為加法。 例如: 求 7-6 = 7+-6 0 0 0 0 0 0 0 0 0 0 0 0 0 1

19、 1 17-6補(bǔ)碼結(jié)果=1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1超出取值范圍會(huì)怎樣?TC2中int的范圍是-215215-1如果我們給它一個(gè)小于-215或者大于215-1的數(shù)會(huì)如何呢?小蛇能吞下大象嗎?溢出Overflow造成的危害一臺(tái)安裝了Windows 95/98的機(jī)器,如果連續(xù)運(yùn)行49.7天沒有重新啟動(dòng),可能死機(jī) 原因:Windows自啟動(dòng)時(shí)刻起,有一個(gè)計(jì)數(shù)器,記錄系統(tǒng)已經(jīng)運(yùn)行了多少毫秒。這個(gè)計(jì)數(shù)器是個(gè)unsigned long 類型的變量unsigned long的最大值是:4294967295一

20、天有 24*60*60*1000 = 86400000毫秒4294967295 / 86400000 = 49.71026961805當(dāng)49.7天的時(shí)候,此計(jì)數(shù)器會(huì)溢出,引起死機(jī)使用變量要注意不要對(duì)變量所占的字節(jié)數(shù)想當(dāng)然用sizeof獲得變量或者數(shù)據(jù)類型的長(zhǎng)度sizeof(int);2_Sizeof 1 byte 在計(jì)算機(jī)中占用 4 個(gè)字節(jié)的空間 1 byte 1 byte 1 byte float 此空間只能用于存放 實(shí)型數(shù)據(jù) 即32位二進(jìn)制數(shù) 小數(shù)局部包括符號(hào)3個(gè)字節(jié) 指數(shù)局部包括指數(shù)的符號(hào)1字節(jié) 以指數(shù)形式存儲(chǔ)例如: float x; +.314159261 指數(shù)形式:0.3141592

21、6E1 1 byte 3 byte 小數(shù)局部 指數(shù)數(shù)符x=3.1415926; x 0.31415926E1 1 byte char 用于表示字符型數(shù)據(jù) 在計(jì)算機(jī)中占用 1 個(gè)字節(jié)的空間 例如:char ch; ch=a; 單引號(hào) 雙引號(hào) a “studentAmerican Standard Code for Information Interchange ASCII 碼 a - 97 (ASCII) 例如: 27=128 0-9, A-Z, a-z 及各種運(yùn)算符號(hào)、標(biāo)點(diǎn)和控制符號(hào) 01100001變量與常量常量常數(shù)不動(dòng)如山是一種在程序中保持固定類型和固定值的數(shù)據(jù)。變量我的地盤我做主是在程序

22、執(zhí)行過(guò)程中可以改變、賦值的量。是由編程人員自己定義的。變量的的命名規(guī)那么 lOperator,rOperator,nResult為變量標(biāo)識(shí)符,變量的名字遵循標(biāo)識(shí)符的命名規(guī)那么:(1) 由英文字母、數(shù)字和下劃線組成,其必須以英文字母或下劃線開頭;(2) 不允許使用關(guān)鍵字作為標(biāo)識(shí)符的名字;(3) 標(biāo)識(shí)符命名應(yīng)做到“見名知意;(4) 標(biāo)識(shí)符區(qū)分大小寫。變量聲明的一般形式類型說(shuō)明符 變量名標(biāo)識(shí)符1,變量名標(biāo)識(shí)符2,.;int lOperator,rOperator;技巧:在使用變量時(shí),必須遵循先定義、后使用的原那么。 關(guān)鍵字 關(guān)鍵字Keyword又稱保存字,它們是C語(yǔ)言中預(yù)先規(guī)定的具有固定含義的一些單

23、詞,例如:int, return等。C語(yǔ)言提供的關(guān)鍵字總共有32個(gè),詳見附錄C。C程序常見符號(hào)分類 關(guān)鍵字Keyword 又稱為保存字,C語(yǔ)言中預(yù)先規(guī)定的具有固定含義的一些單詞 標(biāo)識(shí)符Identifier系統(tǒng)預(yù)定義標(biāo)識(shí)符用戶自定義標(biāo)識(shí)符函數(shù)名、變量名 運(yùn)算符Operator: 詳見P17 分隔符Separator 空格、回車/換行、逗號(hào)等 其它符號(hào) 大花括號(hào)“和“通常用于標(biāo)識(shí)函數(shù)體或者一個(gè)語(yǔ)句塊 “/*和“*/是程序注釋所需的定界符 數(shù)據(jù)Data變量Variable常量Constant 計(jì)算過(guò)程實(shí)現(xiàn)及分析 #include #include void main(void)int lOperat

24、or,rOperator;/* 定義兩個(gè)整型變量,用于存放左右操作數(shù) */int nResult1,nResult2,nResult3,nResult4,nResult5;/* 定義五個(gè)整型變量,用于存放結(jié)果 */lOperator = 4;rOperator = 5;nResult1= lOperator+rOperator;/* 計(jì)算lOperator與rOperator相加并將和存入nResult1中 */nResult2= lOperator-rOperator;/* 計(jì)算lOperator與rOperator相減并將差存入nResult2中 */nResult3= lOperator

25、*rOperator;/* 計(jì)算lOperator與rOperator相乘并將積存入nResult3中 */nResult4= lOperator/rOperator;/* 計(jì)算lOperator與rOperator相除并將商存入nResult4中 */nResult5= lOperator%rOperator;/* 算lOperator與rOperator的模并將余數(shù)存入nResult5中 */printf(“ %d “, nResult1); /* 將和顯示在屏幕上 */printf(“ %d “, nResult2);/* 將差顯示在屏幕上 */printf(“ %d “, nResul

26、t3);/* 將積顯示在屏幕上 */printf(“ %d “, nResult4);/* 將商顯示在屏幕上 */printf(“ %d “, nResult5);/* 將余數(shù)顯示在屏幕上*/有關(guān)表達(dá)式與表達(dá)式語(yǔ)句 表達(dá)式由函數(shù)、變量、運(yùn)算符、常量等組成,每個(gè)表達(dá)式都有具體的數(shù)值。表達(dá)式+分號(hào)構(gòu)成了表達(dá)式語(yǔ)句。(1) 簡(jiǎn)單賦值運(yùn)算符記為“=,它的作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量。由“=連接的式子稱為賦值表達(dá)式。其一般形式為:變量=表達(dá)式(2) 賦值運(yùn)算符是右結(jié)合性運(yùn)算符。如x=y=z,由于“=的右結(jié)合性,應(yīng)先執(zhí)行y=z,再執(zhí)行x=(y=z)運(yùn)算。 有關(guān)表達(dá)式與表達(dá)式語(yǔ)句(3) 如果賦值運(yùn)算符

27、兩邊的數(shù)據(jù)類型不相同,系統(tǒng)將自動(dòng)進(jìn)行類型轉(zhuǎn)換,即把賦值號(hào)右邊的類型換成左邊的類型。(4) 在程序中常常需要對(duì)變量賦初值,以便使用變量。在定義時(shí)賦以初值的方法,稱為初始化。為了方便,在變量說(shuō)明中賦初值的一般形式為:類型說(shuō)明符 變量1 = 值1,變量2 = 值2,;有關(guān)算術(shù)運(yùn)算符 (1) 描述數(shù)據(jù)運(yùn)算的特殊符號(hào)稱為運(yùn)算符。 (2) 算術(shù)運(yùn)算符的優(yōu)先級(jí):當(dāng)不同優(yōu)先級(jí)的運(yùn)算符進(jìn)行混合運(yùn)算時(shí),按照由高到低運(yùn)算符的優(yōu)先級(jí)進(jìn)行計(jì)算。(3) 算術(shù)運(yùn)算符的結(jié)合性:同一優(yōu)先級(jí)的算術(shù)運(yùn)算符進(jìn)行混合運(yùn)算時(shí),結(jié)合性是按自左至右,即先左后右。 技巧:在數(shù)值運(yùn)算時(shí),一般先考慮運(yùn)算符的優(yōu)先級(jí),再考慮結(jié)合性。 計(jì)算過(guò)程實(shí)現(xiàn)及分

28、析 #include #include void main(void)int lOperator,rOperator;/* 定義兩個(gè)整型變量,用于存放左右操作數(shù) */int nResult1,nResult2,nResult3,nResult4,nResult5;/* 定義五個(gè)整型變量,用于存放結(jié)果 */lOperator = 4;rOperator = 5;nResult1= lOperator+rOperator;/* 計(jì)算lOperator與rOperator相加并將和存入nResult1中 */nResult2= lOperator-rOperator;/* 計(jì)算lOperator與r

29、Operator相減并將差存入nResult2中 */nResult3= lOperator*rOperator;/* 計(jì)算lOperator與rOperator相乘并將積存入nResult3中 */nResult4= lOperator/rOperator;/* 計(jì)算lOperator與rOperator相除并將商存入nResult4中 */nResult5= lOperator%rOperator;/* 算lOperator與rOperator的模并將余數(shù)存入nResult5中 */printf(“ %d “, nResult1); /* 將和顯示在屏幕上 */printf(“ %d “,

30、 nResult2);/* 將差顯示在屏幕上 */printf(“ %d “, nResult3);/* 將積顯示在屏幕上 */printf(“ %d “, nResult4);/* 將商顯示在屏幕上 */printf(“ %d “, nResult5);/* 將余數(shù)顯示在屏幕上*/有關(guān)函數(shù)printf()printf 函數(shù)調(diào)用的一般形式為: printf(“格式控制字符串,輸出表列);結(jié)果分析 編譯運(yùn)行程序compute.c,顯示程序運(yùn)行結(jié)果,如圖1-12所示。圖1-12 compute.c程序運(yùn)行結(jié)果格式輸出函數(shù)格式輸出函數(shù)printf(格式控制字符串, 輸出參數(shù)表);輸出假設(shè)干個(gè)任意指定

31、類型的數(shù)據(jù)例子:printf(“Hello, World!n);printf(“%d,%dn,a,b);printf(“sum=%dn,sum);格式輸出函數(shù)printf(a=%d b=%f, a, b); 函數(shù)名輸出表列普通字符格式說(shuō)明格式控制格式說(shuō)明:%普通字符原樣輸出x = 34; y = 3.14;Printf(“x =%d,y=%fn, x, y);輸出:x = 34,y = 3.14%d 以帶符號(hào)十進(jìn)制整數(shù)輸出%o 以八進(jìn)制無(wú)符號(hào)整數(shù)輸出無(wú)前導(dǎo)0%x 以十六進(jìn)制無(wú)符號(hào)整數(shù)輸出無(wú)前導(dǎo)0 x%u 以十進(jìn)制無(wú)符號(hào)整數(shù)輸出%c 以字符形式輸出單個(gè)字符%s 輸出一個(gè)字符串%f 以小數(shù)形式輸出

32、浮點(diǎn)數(shù)6位小數(shù)%e 以標(biāo)準(zhǔn)指數(shù)形式輸出6位小數(shù)%g 選用%f,%e中輸出寬度較小的一種格式printf格式字符P315l 長(zhǎng)整型整數(shù),加在d、o、x、u前L long double型數(shù),加在f、e、g前m 表示數(shù)據(jù)占用的最小寬度例如:%3d 數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出 數(shù)據(jù)寬度小于m時(shí),補(bǔ)空格n 對(duì)實(shí)數(shù)表示輸出n位小數(shù)例如:%5.3d 對(duì)字符串表示最多輸出的字符個(gè)數(shù)- 改變輸出內(nèi)容的對(duì)齊方式 缺省為右對(duì)齊printf附加格式說(shuō)明符整型數(shù)據(jù)的輸出printf(格式控制,輸出參數(shù)表;格式控制說(shuō)明- %.%d: 以十進(jìn)制形式輸入、輸出整數(shù)%o: 以八進(jìn)制形式輸入、輸出整數(shù)%x: 以十六進(jìn)制形式輸

33、入、輸出整數(shù)#include void main() printf(“%d, %o, %xn, 10, 10, 10); printf(“%d, %d, %dn, 10, 010, 0 x10); printf(“%d, %xn,012, 012);001010運(yùn)行結(jié)果:10, 12, a10, 8, 1610, a#include void main() int a, b; scanf (“%o %d, &a, &b); printf (“%d, %5dn, a, b); printf (“%x, %dn, a, b);輸入17 17運(yùn)行結(jié)果17f 17:b的ASCII碼98#include

34、 main() printf(“%c,%dn,b, b); printf(“%c,%dn,98, 98); printf(“%c,%dn,97, b-1);運(yùn)行結(jié)果b 98b 98a 97關(guān)于實(shí)型 實(shí)型家族包括: 單精度型(float)和雙精度型(double)。實(shí)型的取值范圍與值的精度與機(jī)器有關(guān),一般float占4字節(jié)(32位),提供7位有效數(shù)字;double占8字節(jié),提供15-16位有效數(shù)字。 程序清單1-3 division.c/* 一個(gè)關(guān)于除法運(yùn)算符的程序?qū)嵗?*/*purpose: 驗(yàn)證/運(yùn)算符的操作數(shù)都為整數(shù)或有個(gè)為實(shí)數(shù)的結(jié)果是不同的author : Wangweicreated:

35、 2021/07/10 15:19:20*/#include #include void main(void)printf(“ %d,%dn “, 20/7, -20/7);printf(“ %f,%fn “, 20.0/7, -20.0/7);注意:求余運(yùn)算符(%)要求參與運(yùn)算的量均為整型,運(yùn)算的結(jié)果等于兩數(shù)相除后的余數(shù)。兩整數(shù)相除結(jié)果仍為整數(shù),小數(shù)局部全部舍去,并非四舍五入。實(shí)型數(shù)據(jù)的輸出float和double使用相同的格式控制說(shuō)明%f 以小數(shù)形式輸出浮點(diǎn)數(shù),保存6位小數(shù)%e 以指數(shù)形式輸出 1位整數(shù).5位小數(shù)e 3位指數(shù)#include Void main() float f = 12

36、3.45; double d = 3.1415926; printf(“%f, %en, f, f); printf(“%f, %en, d, d); printf(“%5.3f, %5.2f, %.2fn, d, d, d);一共5位,小數(shù)3位,小數(shù)點(diǎn)一位運(yùn)行結(jié)果為:123.450000, 1.23450e+023.141593, 3.14159e+003.142, 3.14, 3.14#include main()float f1 = 100.15799, f2 = 12.55, f3 = 1.7;int n1 = 123, n2 = 45, n3 = 6; printf(printf W

37、ITHOUT width or precision specifications:n);printf(%fn%fn%fn, f1, f2, f3);printf(%dn%dn%dn, n1, n2, n3);printf(printf WITH width and precision specifications:n);printf(%5.2fn%6.1fn%3.0fn, f1, f2, f3);printf(%5dn%6dn%3dnn, n1, n2, n3);再看一個(gè)例子深入解讀1. 細(xì)節(jié)的解讀數(shù)據(jù)是程序處理的對(duì)象,數(shù)據(jù)可以依其本身的特點(diǎn)進(jìn)行分類。 在程序中,我們使用變量這個(gè)抽象實(shí)體來(lái)存儲(chǔ)

38、計(jì)算機(jī)中的數(shù)據(jù),變量的使用要遵從先聲明后使用的規(guī)那么。當(dāng)為不同的變量賦值的時(shí)候,就必須使用賦值運(yùn)算符。 程序清單overflow.c 程序1-4/* 一個(gè)關(guān)于整數(shù)溢出的程序?qū)嵗?*/*purpose: 數(shù)據(jù)超過(guò)表示范圍就會(huì)溢出author : Yan Jianencreated: 2021/07/10 15:58:22*/#include #include void main(void) short int iNum;iNum=32767;iNum=i_num+1;printf(“ num=%dn “, iNum); 查看一下結(jié)果是什么,思考一下為什么會(huì)出現(xiàn)這種情況呢? 2. 如何解決一個(gè)問題

39、第一步,分析問題。 第二步,給出解決問題的方法和步驟。 第三步,代碼編寫。 第四步,正確性驗(yàn)證。 3. 編程風(fēng)格的問題程序清單1-5style.c /* 一個(gè)代碼風(fēng)格混亂的程序?qū)嵗?*/*purpose: 代碼混亂的弊端author : Yan Jianencreated: 2021/07/10 16:21:23 */#include #include long b, c=2800, d, e, f2801, g;void main(void)for(; b-c; ) fb+ = 10000/5;for(; d=0, g=c*2; c-=14, printf(“%.4d,e+d/10000), e=d%10000) for(b=c;d+=fb*10000,fb=d%-g,d/=g-,-b;d*=b);getch();能讀懂嗎?#include /* 對(duì) fahr = 0, 20, ., 300 打印華氏溫度與攝氏溫度對(duì)照表

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論