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