版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、教材、參考書與課時安排,教材C程序設(shè)計 (第四版) 譚浩強(qiáng)編著 清華大學(xué)出版社參考書C語言程序設(shè)計教程 譚浩強(qiáng) 高等教育出版社C高級實(shí)用程序設(shè)計 王士元 清華大學(xué)出版社C程序設(shè)計試題匯編 譚浩強(qiáng) 清華大學(xué)出版社課時安排64學(xué)時,熟記C語言的基本概念熟悉Turbo C的上機(jī)操作環(huán)境會讀、會編、會調(diào)試C程序 學(xué)習(xí)要點(diǎn) 熟記C語
2、言的語法 學(xué)會算法分析與算法設(shè)計,課程目的,課程要求,課前請做好預(yù)習(xí)保持課堂安靜,頭腦清醒,思維活躍認(rèn)真、獨(dú)立、按時完成并提交作業(yè)重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時間,目 錄,,,,,,第1章 C語言概述,C語言程序設(shè)計 第一章 C語言概述,,,1.1 C語言發(fā)展歷史程序設(shè)計語言的發(fā)展,
3、CPU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 加 10010000 減,用助記符號描述的指令系統(tǒng),可進(jìn)行地址、位操作如 ADD A, B編寫系統(tǒng)軟件,直接對硬件操作,可讀性,移植性差,面向機(jī)器的語言,>,C語言程序設(shè)計 第一章 C語言概
4、述,可讀性,移植性好,編寫應(yīng)用程序一般較難實(shí)現(xiàn)匯編語言的某些功能如:地址和位的操作,C語言兼有高級和低級語言的功能適合寫系統(tǒng)軟件和應(yīng)用軟件又稱中級語言,<,,,C語言發(fā)展過程產(chǎn)生背景ALGOL 60→CPL語言→BCPL→B語言,寫UNIX系統(tǒng)產(chǎn)生過程時間:1972~1973地點(diǎn):美國貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計人: Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C: 197
5、8年 K&R合著《The C Programming Language》ANSI C: 1983年87 ANSI C: 1987年1990年國際標(biāo)準(zhǔn)的ANSI C ,1994年再次修訂。C版本Microsoft C 或稱 MS-C Turbo C 或稱 TC,<,>,C語言程序設(shè)計
6、 第一章 C語言概述,,,,1.2 C語言的特點(diǎn)語言簡潔、緊湊、靈活運(yùn)算符豐富數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型豐富鏈表、樹、棧程序設(shè)計結(jié)構(gòu)化、模塊化結(jié)構(gòu)化控制語句:if…else、while、switch、for函數(shù)作為模塊單位語法不嚴(yán)格、程序設(shè)計自由度大可以訪問內(nèi)存地址、進(jìn)行位運(yùn)算生成目標(biāo)代碼質(zhì)量高可移植性好,<,>,>,>,>,>,>,C語言程序設(shè)計
7、 第一章 C語言概述,,,32個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double elseenum exte
8、rn float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvol
9、atile whileTurbo C擴(kuò)充了11個關(guān)鍵字:asm_cs_ds_es_sscdeclfarhugeinterruptnearpascal 注意:在C語言中,關(guān)鍵字都是小寫的。,<,C語言程序設(shè)計 第一章 C語言概述,,,,C語言簡潔、緊
10、湊,使用方便、靈活。ANSI C一共只有32個關(guān)鍵字,見365頁 附錄B,9種控制語句:if( )~else~for( )~while( )~do~while( )continuebreakswitchgotoreturn,<,C語言程序設(shè)計 第一章 C語言概述,,,,C語言有 9 種控
11、制語句,程序書寫形式自由,主要用小寫字母表示,壓縮了一切不必要的成分。,<,C語言程序設(shè)計 第一章 C語言概述,,,表1.1 C語言與Pascal語言比較,通過表1.1 我們可以得出結(jié)論:C比 Pascal簡練,因此源程序更短,編程效率高。,,34種運(yùn)算符:算術(shù)運(yùn)算符:+ - * / % ++
12、 --關(guān)系運(yùn)算符: >= !=邏輯運(yùn)算符:! && ||位運(yùn)算符 :> ~ | ^ &賦值運(yùn)算符:= 及其擴(kuò)展條件運(yùn)算符:?:逗號運(yùn)算符:,指針運(yùn)算符:* &求字節(jié)數(shù) :sizeof強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:. ->下標(biāo)運(yùn)算符:[]其它 :( ) -注意:各種運(yùn)算符混合使用,其優(yōu)先級與結(jié)
13、 合方法是難點(diǎn),可先預(yù)習(xí)。,<,C語言程序設(shè)計 第一章 C語言概述,,,C語言運(yùn)算符豐富(附錄C),,<,C語言程序設(shè)計 第一章 C語言概述,,,C語言數(shù)據(jù)結(jié)構(gòu)豐富,,1.3
14、簡單的C程序介紹,,/* example1.1 The first C Program*/#include void main(){ printf(“This is a c program.\n”);},C語言程序設(shè)計 第一章 C語言概述,>,輸出:This is a c
15、 program.,,,例1.1 第一個程序This is a c program .,<,printf語句中的“\n”是換行符,例1.2求倆個數(shù)的和,,/* example1.1 calculate the sum of a and b*/#include /* This is the main program */void main(){ int a,b,sum; /*定義變量*/
16、 a=10; b=24; sum=add(a,b); printf(”sum= %d\n",sum);}/* This function calculates the sum of x and y */int add(int x,int y){ int z; z=x+y; return(z);},運(yùn)行結(jié)果:sum=34,C語言程序設(shè)計
17、 第一章 C語言概述,>,,,<,printf語句中的“ %d ”是表示“十進(jìn)制整數(shù)類型”,,C語言程序設(shè)計 第一章 C語言概述,>,,,<,例1.3 從鍵盤輸入兩個整數(shù)
18、,輸出其中較大的數(shù),#include void main(){ int max(int x,int y) int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(" max = %d",c);}int max(int x,int y){ int z; if(x>y) z
19、=x; else z=y; return(z);},scanf語句中“&a”的含義是“取地址”,輸入:10,20 ?輸出:max = 20,聲明部分,定義變量,調(diào)用max函數(shù),返回值賦給c,定義max子函數(shù),函數(shù)值、形參x、y為整型,通過max函數(shù)將z值帶回調(diào)用處,C語言格式特點(diǎn)習(xí)慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格常用鋸齒形書寫格式,<,>,C語言程
20、序設(shè)計 第一章 C語言概述,main( ){ ………………. ……………… ………….. ………….. ……… ………. ……………
21、 ……………. ………………. ………………..},main( ){ int i , j , sum; sum=0; for(i=1; i<10;i++) { for(j=1;j<10;j++) { sum+=i*j ;
22、 } } printf(“%d\n”,sum);},優(yōu)秀程序員的素質(zhì)之一:使用TAB縮進(jìn){}對齊有足夠的注釋有合適的空行,,,C語言結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)main(),可以放在程序中任一位置程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。程序語句C程序由語句組成用“;”作為語句終止符注釋/* */
23、為注釋,不能嵌套不產(chǎn)生編譯代碼,<,>,例: /*This is the main /* of example1.1*/ */,,編譯預(yù)處理命令,C語言程序設(shè)計 第一章 C語言概述,,,1.4 C程序的上機(jī)步驟C程序開發(fā)步驟,<,>,file.exe,C語言程序設(shè)計
24、 第一章 C語言概述,程序代碼的錄入,生成源程序*.c,語法分析查錯,翻譯生成目標(biāo)程序*.obj,與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe,,,Turbo C集成開發(fā)環(huán)境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系統(tǒng)硬盤容量約2M,448K RAM運(yùn)行空間安裝Turbo C
25、創(chuàng)建子目錄Install若不是可安裝盤,將文件拷貝到對應(yīng)的目錄下,<,>,C語言程序設(shè)計 第一章 C語言概述,,,進(jìn)入Turbo CD:\TC>TC.exe?主控菜單文件操作FILE :New Load Save Write to編輯操作EDIT:插入/修改 塊 查找/替
26、換編譯鏈接COMPILE LINK MAKE執(zhí)行RUN退出Turbo CAlt +xAlt+F ,Q幫助HelpF1Ctrl+F1,<,>,,C語言程序設(shè)計 第一章 C語言概述,,,基本操作:F10-----調(diào)用主菜單F2------存盤F3------打開F1---
27、---幫助信息Alt+F9------CompileCtrl+F9------RunAlt+F5------User ScreenAlt+X ------退出Tc,常用熱鍵,文本編輯:????-------移動光標(biāo)PgUp,PgDn------上下翻頁Ctrl+PgUp,Ctrl+PgDn------文件首尾Home行首 End行尾Ddelete Insert Bkspace,塊操作:Ctrl+KB---
28、----塊開始標(biāo)記 Ctrl+KK--------塊結(jié)束標(biāo)記Ctrl+KC-------塊拷貝 Ctrl+KV--------塊移動Ctrl+KY-------塊刪除 Ctrl+KH--------塊隱藏,程序調(diào)試:F8-----Step over F7-------Trace intoF4-----Goto Cursor
29、 Ctrl+F7--------Add WatchCtrl+F8------Toggle Breakpoint Ctrl+F2--------Program Reset,窗口操作:F5-----窗口縮放F6-----窗口切換,C語言程序設(shè)計 第一章 C語言概述,,
30、,<,>,課后作業(yè)預(yù)習(xí)“題解與上機(jī)指導(dǎo)”一書中P181~199頁的14.3~14.10節(jié)P236頁實(shí)驗(yàn)1教材P12: 1.5、 1.6、 1.7、 1.8題。注意:有關(guān)設(shè)計程序的作業(yè),必須經(jīng)過上機(jī)調(diào)試!,C語言程序設(shè)計 第一章 C語言概述,,,<,>,,,,,,算法的概念,簡單算
31、法舉例,算法的特性,怎樣表示一個算法,第2章 程序的靈魂——算法,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,,結(jié)構(gòu)化程序設(shè)計方法,<,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,程序包括的內(nèi)容:數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的類型和
32、組織形式算法:操作步驟的描述,Nikiklaus Wirth提出:,,教材認(rèn)為:,,程序,=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計方法+語言工具和環(huán)境,靈魂,加工對象,工具,<,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,2.1 算法的概念為解決一個問題而采取的方法和步驟,就成為算法。例如:歌曲的樂譜,建造房子等。算法核心是解
33、決“做什么”和“怎么做”的問題。P15頁的例2.1,求1……5之積。可以有多種方法,一般采用簡單和運(yùn)算步驟少的。準(zhǔn)確、高效計算機(jī)算法類別數(shù)值運(yùn)算算法非數(shù)值運(yùn)算算法,<,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,2.2 簡單算法舉例例2.1方法1:累乘方法2:用循環(huán)結(jié)構(gòu)解決,靈活、通用。例2.2通過
34、循環(huán)選擇打印例2.3判斷閏年例2.4累加求級數(shù)的和,循環(huán)改變正負(fù)號和分母加1。例2.5判斷素數(shù),課后認(rèn)真思考,加深什么是算法的概念,<,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,2.3 算法的特性有窮性—在合理范圍內(nèi)可完成 確定性—無歧義性 有零個或多個輸入—從外界得到信息 有一個或多個輸出—問題
35、的答案 有效性—每步有確定的結(jié)果,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,2.4 怎樣表示一個算法自然語言表示2.2節(jié)例。易懂,文字冗長,易歧義性流程圖表示用流程圖符號構(gòu)成,直觀,易懂 N-S流程圖表示偽代碼表示計算機(jī)語言表示,順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu),<,>,C語言程序設(shè)計
36、 第二章 程序的靈魂——算法,,,傳統(tǒng)流程圖流向混亂、可讀性差,所以應(yīng)該采用結(jié)構(gòu)化流程圖。 結(jié)構(gòu)化程序設(shè)計 基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無條件轉(zhuǎn)移語句(goto) 結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序 優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計質(zhì)量和效率,三種基本結(jié)構(gòu) 順序結(jié)構(gòu),,<,>,C語言程序設(shè)計
37、 第二章 程序的靈魂——算法,,,選擇結(jié)構(gòu),二分支選擇結(jié)構(gòu),多分支選擇結(jié)構(gòu),<,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,循環(huán)結(jié)構(gòu),當(dāng)型循環(huán)結(jié)構(gòu),直到型循環(huán)結(jié)構(gòu),注:A,B,A1….An可以是一個簡單語句,也可以是一個基本結(jié)
38、構(gòu),<,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,三種基本結(jié)構(gòu)的共同特點(diǎn): 只有一個入口;只有一個出口;結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會被執(zhí)行到;結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。,,<,>,C語言程序設(shè)計 第二章 程序
39、的靈魂——算法,,,2.5 結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序:用三種基本結(jié)構(gòu)組成的程序基本設(shè)計思路:復(fù)雜問題分解成 幾個最基本問題,再分別處理。采用的方法:自頂向下;逐步細(xì)化;模塊化設(shè)計:復(fù)雜問題按功能分成多個子模塊結(jié)構(gòu)化編碼:正確采用三種基本結(jié)構(gòu)實(shí)現(xiàn),<,>,C語言程序設(shè)計 第二章 程序的靈魂——算法,,,課后作業(yè)
40、P36頁習(xí)題:2.4、2.8(結(jié)合實(shí)驗(yàn)指導(dǎo)讀懂答案) 用N-S圖表示2.4題中⑴⑵⑹用傳統(tǒng)流程圖求解以下問題:將一個16進(jìn)制數(shù)轉(zhuǎn)化為10進(jìn)制數(shù) 復(fù)習(xí)二進(jìn)制的基本概念“計算機(jī)文化基礎(chǔ)”一書中P27~33頁,<,,第3章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,,,,,C的數(shù)據(jù)類型,常量與變量
41、,整型數(shù)據(jù),實(shí)型數(shù)據(jù),,字符型數(shù)據(jù),,,,,變量賦初值,各種數(shù)值型數(shù)據(jù)間的混合運(yùn)算,算術(shù)運(yùn)算符和算術(shù)表達(dá)式,賦值運(yùn)算符和賦值表達(dá)式,,逗號運(yùn)算符和逗號表達(dá)式,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,3.1 C的數(shù)據(jù)類型,數(shù)據(jù)類型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍3. 可以進(jìn)行的操作,<,
42、>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,常量和符號常量定義:程序運(yùn)行過程中,其值不能被改變的量(常數(shù))分類:直接常量、符號常量,3.2 常量與變量,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,符號
43、常量:用標(biāo)識符代表常量一般用大寫字母: PRICE 、 PI定義格式: #define 符號常量 常量其值在作用域內(nèi)不能改變和再賦值。,例3.1 符號常量舉例#define PRICE 30#include void main(){ int num,total; num=10; total=num*PRICE; printf("total=%d\n&q
44、uot;,total);},符號常量的優(yōu)點(diǎn)是:見名知意、一改全改,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,變量 定義:其值可以改變的量。 定義格式:數(shù)據(jù)類型 變量名; 變量應(yīng)該有名字,并在內(nèi)存中占據(jù)一定的存儲單元。 變量名和變量值有不同的含義變量名實(shí)為一個符號地址,例 變量的使用main(
45、){ int a; a=3; printf(“a=%d",a);},<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,標(biāo)識符定義:標(biāo)識變量名、符號常量名、函數(shù)名、數(shù)組名、 文件名的字符串序列——名字。命名規(guī)則:只能由字母、數(shù)字、下劃線組成,且第一個字符必須是字
46、母或下劃線大小寫字母含義不同,一般用小寫不能使用關(guān)鍵字TC允許最長32個字符,建議長度不超過8個字符使用:先定義、后使用,標(biāo)識符應(yīng)該“見名知意”,如 total , max標(biāo)識符應(yīng)該“不宜混淆”,如 l與1 , O與0,這些標(biāo)識符合法嗎?1A、M.D.John、¥123、#33、Tatol、int、max,>,C語言程序設(shè)計
47、 第三章 程序的靈魂——算法,,,3.3 整型數(shù)據(jù)整型常量(整常數(shù))的三種表示方法十進(jìn)制整數(shù):由數(shù)字0~9和正負(fù)號表示. 如 123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示. 如 0123,011十六進(jìn)制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示. 如 0x123,0xff,<,<,>,C語言程序設(shè)計
48、 第三章 程序的靈魂——算法,,,補(bǔ)充知識:,字節(jié)和位內(nèi)存以字節(jié)為單元組成每個字節(jié)有一個地址一個字節(jié)一般由8個二進(jìn)制位組成每個二進(jìn)位的值是0或1,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,數(shù)值的表示方法——原碼、反碼和補(bǔ)碼原碼:最高位為符號位,其余各位為
49、數(shù)值本身的絕對值反碼:正數(shù):反碼與原碼相同負(fù)數(shù):符號位為1,其余位對原碼取反補(bǔ)碼:正數(shù):原碼、反碼、補(bǔ)碼相同負(fù)數(shù):最高位為1,其余位為原碼取反,再對整個數(shù)加1,9-5=49+7=16=(14)12,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動,其余位取反加1,例 補(bǔ)碼
50、:11111001 取反:10000110 加1: 10000111=-7,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,整型變量整型數(shù)據(jù)在內(nèi)存中的存放形式數(shù)據(jù)在內(nèi)存中以二進(jìn)制補(bǔ)碼形式存放每一個整型變量在內(nèi)存中占2個字節(jié) 10的原碼 反碼 補(bǔ)碼-10的原碼
51、 取絕對值 反碼 補(bǔ)碼,整數(shù)的最左二進(jìn)制位是符號位,0正、1負(fù),<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,整型變量的分類三類整型變量,整數(shù)類型和取值范圍,<,>,C語言程序設(shè)計
52、 第三章 程序的靈魂——算法,,,整型變量的定義先定義后使用——強(qiáng)制類型定義int a,b; ( 指定變量a、b為整型 )unsigned short c, d; (指定變量c、d為無符號短整型 )long e,f; ( 指定變量e、f為長整型),例3.2 整型變量的定義與使用 #include void main(){int
53、 a,b,c,d; unsigned u ; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n",c,d); },指定abcd為整型變量,指定u為無符號整型變量,定義放在函數(shù)開頭的聲明部分,不同類型混合運(yùn)算,類型自動轉(zhuǎn)換,結(jié)果:a+u=22,b+u= -14,定義與賦值同時進(jìn)行:int a=12;,<,>,C語言程序設(shè)計
54、 第三章 程序的靈魂——算法,,,整型數(shù)據(jù)的溢出此情況稱為“溢出”,運(yùn)行時不報錯,編程時要注意,整型變量最大值32767,加1后是 –32768的補(bǔ)碼形式,例3.3 整型數(shù)據(jù)的溢出 #include void main( ){ int a , b; a= 32767; b= a+1; printf("%d , %d
55、 \n ",a,b); },改為:long b;結(jié)果是什么?,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,整型常量的類型整型常量的值在-32768~+32767范圍內(nèi),編譯器認(rèn)為是int類型 整型常量的值超過上述范圍,而在-2147483648 ~ +2147483647范圍內(nèi),編譯器認(rèn)為是lon
56、g類型當(dāng)系統(tǒng)定義short int與int占內(nèi)存長度相同,則兩種類型常量均可以賦給 int和short int型變量在整型常量后面加大寫L或小寫l,則告訴編譯器,把該整型常量作為long類型處理。例:123L、0L 在整型常量后面加u,則按無符號整型方式存放,負(fù)數(shù)轉(zhuǎn)換成補(bǔ)碼再按無符號整型方式存放。,<,<,>,C語言程序設(shè)計
57、 第三章 程序的靈魂——算法,,,3.4 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型常量的表示方法浮點(diǎn)數(shù)(float)又稱為實(shí)數(shù)(real)兩種表示方法:十進(jìn)制小數(shù)形式:必須有小數(shù)點(diǎn) 如 0.123 、.123 、123.0 、0.0 、123. 指數(shù)形式:e或E之前后必須有數(shù)字;指數(shù)必須為整數(shù) 如 123.456e0、12.3456e1 、1.23456e2 、 0.123456e3 、0.0123456e4 等規(guī)范
58、化指數(shù)形式只有一位非零整數(shù)的指數(shù)形式是指數(shù)的輸出形式,6.28e-2 表示 6.28× 10 -2,-3.0824e4 表示 –3.0824× 10 4,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,浮點(diǎn)型變量浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存放形式浮點(diǎn)型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位)在內(nèi)
59、存中分成3部分,指數(shù)為2的冪次,+ .314159 1,,,數(shù)符,小數(shù)部分,指數(shù),,,,浮點(diǎn)型變量的分類,float x,y; (指定x、y為單精度浮點(diǎn)型變量)double z; (指定z為雙精度浮點(diǎn)型變量)long double t; (指定t為長雙精度浮點(diǎn)型變量),<,>,C語言程序設(shè)計
60、 第三章 程序的靈魂——算法,,,浮點(diǎn)型數(shù)據(jù)的舍入誤差數(shù)據(jù)超過有效位數(shù),則產(chǎn)生誤差要避免一個很大的數(shù)與一個很小的數(shù)加減,例3.4 浮點(diǎn)型數(shù)據(jù)的舍入誤差 #include void main( ){ float a , b; a= 123456.789e5; b= a+20; printf("%f \n&quo
61、t;,b); },舍入誤差使1.0/3*3 的結(jié)果并不等于1 !,浮點(diǎn)型常量的類型浮點(diǎn)型常量一般按雙精度64位處理,數(shù)后加F或f按單精度浮點(diǎn)型常量不分float和double,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,3.5 字符型數(shù)據(jù)字符常量定義:用單引號括起來的單個字符或轉(zhuǎn)義字符字符常量的值
62、:該字符的ASCII碼值定義格式:char 變量名 = 值轉(zhuǎn)義字符:反斜線后面跟一個字符或一個代碼值表示,如 ‘a(chǎn)’ ‘A’ ‘\n’ ‘\t ’,如 ‘a(chǎn)’——97 ,‘A’——65 ‘\n’——10, ‘\t’——9,char ch=65 與 char ch=‘A’ 與char=‘\101’是等效的,<,>,C語言程序設(shè)計
63、 第三章 程序的靈魂——算法,,,,例3.5 轉(zhuǎn)義字符的使用 #include void main( ){ printf(“ ab c\t de\rf\tg\n”); printf(“h\ti\b\bj k”);},<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法
64、,,,字符變量存放字符常量,占用一個字節(jié),存放一個字符定義形式: 賦值:char c1,c2; c1=‘a(chǎn)’;c2=‘b’;,字符數(shù)據(jù)在內(nèi)存中的存儲形式及其使用方法以二進(jìn)制存放字符的ASCII碼值(0~255整數(shù))與整數(shù)的存儲形式類似以字符或整數(shù)形式輸出,例3.6 向字符變量賦整數(shù) #include void main( ){ char c1,c2 ;
65、 c1=97 ; c2=98 ; printf(“%c %c \n",c1,c2); printf(“%d %d \n",c1,c2);},輸出形式取決于printf函數(shù)中的格式符,格式符為“%c”時輸出的變量值為字符格式符為“%d"時輸出的變量值為整數(shù),<,>,C語言程序設(shè)計 第三章
66、 程序的靈魂——算法,,,對字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算實(shí)質(zhì)是對其ASCII值進(jìn)行算術(shù)運(yùn)算,例3.7 大小寫字母的轉(zhuǎn)換 #include void main( ){char c1,c2 ; c1=‘a(chǎn)’ ; c2=‘b’ ; c1=c1-32; c2=c2-32; printf(“%c %c ",c1,c2); },字符型與整型間互相賦值,例: 互相賦值 #include void main( )
67、{int c1; char c2 ; c1=‘a(chǎn)’ ; c2=98 ; c1=c1-32; c2=c2-32; printf(“%c %c ",c1,c2); },小寫字母比大寫字母的ASCII碼大(32)10,<,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,字符串常量定義:用雙引
68、號(“ ”)括起來的字符序列“How do you do” , “CHINA” , “a” , “$123.45”存儲:每個字符串尾自動加一個 ‘\0’ 作為字符串結(jié)束標(biāo)志,,字符常量與字符串常量不同,例: char ch; ch=“A”;,沒有字符串變量,只能用字符數(shù)組存放,<,>,C語言程序設(shè)計
69、 第三章 程序的靈魂——算法,,,3.6 變量賦初值變量的使用:先定義,后使用變量定義位置:一般放在函數(shù)開頭變量初始化:可以在定義時賦初值,例: int a=1,b= -3,c; float data=3.67; char ch=‘A’; int x=1,y=1,z=1; int x=y=1;(× ),錯!int a=b=c=3,<
70、,>,C語言程序設(shè)計 第三章 程序的靈魂——算法,,,3.7 各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算整型、實(shí)型、字符型數(shù)據(jù)間可以混合運(yùn)算,自動轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換------不同類型數(shù)據(jù)混合運(yùn)算時賦值轉(zhuǎn)換------把一個值賦給與其類型不同的變量時輸出轉(zhuǎn)換------輸出時轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換------實(shí)參與形參
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c程序設(shè)計(第四版)譚浩強(qiáng)-課后答案(完整版).pdf
- 《c語言程序設(shè)計》-譚浩強(qiáng)(第四版)教案
- c語言程序設(shè)計(譚浩強(qiáng))第四版_課后答案doc
- c語言程序設(shè)計課后習(xí)題答案第四版譚浩強(qiáng)
- c語言程序設(shè)計譚浩強(qiáng)第四版期末復(fù)習(xí)重點(diǎn)
- 《c語言程序設(shè)計》課后習(xí)題答案第四版譚浩強(qiáng)
- c語言程序設(shè)計譚浩強(qiáng)第四版_課后答案精講
- c程序設(shè)計譚浩強(qiáng)第四版試卷及答案
- c語言程序設(shè)計第四版第九章答案譚浩強(qiáng)
- c程序設(shè)計(第四版)譚浩強(qiáng)_課后習(xí)題答案_共11章
- c語言程序設(shè)計課后習(xí)題答案第四版
- c++面向?qū)ο蟪绦蛟O(shè)計-譚浩強(qiáng)_完整版
- c程序設(shè)計4譚浩強(qiáng)完整版課后習(xí)題答案
- c語言程序設(shè)計第三版譚浩強(qiáng)課后習(xí)題答案完整版
- 傳熱學(xué)第四版完整版答案
- 儀器分析第四版課后答案完整版
- c++程序設(shè)計譚浩強(qiáng)課后習(xí)題答案(完整版)
- c語言練習(xí)題譚浩強(qiáng)第四版附有答案
- c語言程序設(shè)計_第三版_譚浩強(qiáng)主編_課后習(xí)題答桉_完整版
- (c++面向?qū)ο蟪绦蛟O(shè)計譚浩強(qiáng))word100完整版
評論
0/150
提交評論