版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、教材、參考書(shū)與課時(shí)安排,教材 C程序設(shè)計(jì) (第二版) 譚浩強(qiáng)編著 清華大學(xué)出版社 參考書(shū) C語(yǔ)言程序設(shè)計(jì)教程 譚浩強(qiáng) 高等教育出版社 C高級(jí)實(shí)用程序設(shè)計(jì) 王士元 清華大學(xué)出版社 C程序設(shè)計(jì)試題匯編 譚浩強(qiáng) 清華大學(xué)出版社 課時(shí)安排 64學(xué)時(shí),熟記C語(yǔ)言的基本概念 熟悉Turbo C的上機(jī)操作環(huán)境 會(huì)讀、會(huì)編、會(huì)調(diào)試C程序 學(xué)習(xí)要點(diǎn) 熟記C語(yǔ)言的語(yǔ)法 學(xué)會(huì)算法分析與算法設(shè)計(jì),課程目的,課程要求,課前請(qǐng)做好預(yù)習(xí) 保持課堂安靜,頭腦清醒,思維活躍 認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè) 重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間,目 錄,第1章 C語(yǔ)言概述,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,1.1 C語(yǔ)言發(fā)展歷
2、史 程序設(shè)計(jì)語(yǔ)言的發(fā)展,CPU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成 如:10000000 加 10010000 減,用助記符號(hào)描述的指令系統(tǒng),可進(jìn)行地址、位操作 如 ADD A, B 編寫(xiě)系統(tǒng)軟件,直接對(duì)硬件操作,可讀性,移植性差,面向機(jī)器的語(yǔ)言,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,可讀性,移植性好,編寫(xiě)應(yīng)用程序 一般較難實(shí)現(xiàn)匯編語(yǔ)言的某些功能 如:地址和位的操作,C語(yǔ)言兼有高級(jí)和低級(jí)語(yǔ)言的功能 適合寫(xiě)系統(tǒng)軟件和應(yīng)用軟件 又稱(chēng)中級(jí)語(yǔ)言,C語(yǔ)言發(fā)展過(guò)程 產(chǎn)生背景 ALGOL 60CPL語(yǔ)言BCPLB語(yǔ)言,寫(xiě)UNIX系統(tǒng) 產(chǎn)生過(guò)程 時(shí)間:19721973 地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室 目的:UNIX操作
3、系統(tǒng) 設(shè)計(jì)人: Ken.Thompson和Dennis.M.Ritchie C標(biāo)準(zhǔn) 標(biāo)準(zhǔn)C: 1978年 K ,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,輸出: This is a c program.,例1.1 第一個(gè)程序This is a c program .,printf語(yǔ)句中的“n”是換行符,例1.2求倆個(gè)數(shù)的和,/* example1.1 calculate the sum of a and b*/ #include /* This is the main program */ void main() int a,b,sum; /*定義變量*/ a=10; b=24; sum=add(a
4、,b); printf(”sum= %dn,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語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,printf語(yǔ)句中的“ %d ”是表示“十進(jìn)制整數(shù)類(lèi)型”,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,例1.3 從鍵盤(pán)輸入兩個(gè)整數(shù),輸出其中較大的數(shù),#include void main() int max(int x,int y) int a,b,c; scanf(“%d,%d”, ,scan
5、f語(yǔ)句中“ sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum); ,優(yōu)秀程序員的素質(zhì)之一: 使用TAB縮進(jìn) 對(duì)齊 有足夠的注釋 有合適的空行,C語(yǔ)言結(jié)構(gòu)特點(diǎn) 函數(shù)與主函數(shù) 程序由一個(gè)或多個(gè)函數(shù)組成 必須有且只能有一個(gè)主函數(shù)main(),可以放在程序中任一位置 程序執(zhí)行從main開(kāi)始,在main中結(jié)束,其它函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行。 程序語(yǔ)句 C程序由語(yǔ)句組成 用“;”作為語(yǔ)句終止符 注釋 /* */為注釋,不能嵌套 不產(chǎn)生編譯代碼,例: /*This is the main /* of example1.1*
6、/ */,編譯預(yù)處理命令,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,1.4 C程序的上機(jī)步驟 C程序開(kāi)發(fā)步驟,file.exe,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,程序代碼的錄入, 生成源程序*.c,語(yǔ)法分析查錯(cuò),翻譯 生成目標(biāo)程序*.obj,與其它目標(biāo)程序或庫(kù) 鏈接裝配,生成可執(zhí)行 程序*.exe,Turbo C集成開(kāi)發(fā)環(huán)境 配置要求 UNIX,PC-DOS,MS-DOS,UCDOS操作系統(tǒng) 硬盤(pán)容量約2M,448K RAM運(yùn)行空間 安裝Turbo C 創(chuàng)建子目錄 Install 若不是可安裝盤(pán),將文件拷貝到對(duì)應(yīng)的目錄下,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,進(jìn)入Turbo C D:TCTC.exe
7、 主控菜單 文件操作FILE :New Load Save Write to 編輯操作EDIT:插入/修改 塊 查找/替換 編譯鏈接COMPILE LINK MAKE 執(zhí)行RUN 退出Turbo C Alt +x Alt+F ,Q 幫助Help F1 Ctrl+F1,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,基本操作: F10-調(diào)用主菜單 F2-存盤(pán) F3-打開(kāi) F1-幫助信息 Alt+F9-Compile Ctrl+F9-Run Alt+F5-User Screen Alt+X -退出Tc,常用熱鍵,文本編輯: -移動(dòng)光標(biāo) PgUp,PgDn-上下翻頁(yè) Ctrl+PgUp,Ctrl+PgDn-文件
8、首尾 Home行首 End行尾 Ddelete Insert Bkspace,塊操作: Ctrl+KB-塊開(kāi)始標(biāo)記 Ctrl+KK-塊結(jié)束標(biāo)記 Ctrl+KC-塊拷貝 Ctrl+KV-塊移動(dòng) Ctrl+KY-塊刪除 Ctrl+KH-塊隱藏,程序調(diào)試: F8-Step over F7-Trace into F4-Goto Cursor Ctrl+F7-Add Watch Ctrl+F8-Toggle Breakpoint Ctrl+F2-Program Reset,窗口操作: F5-窗口縮放 F6-窗口切換,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,課后作業(yè) 預(yù)習(xí)“題解與上機(jī)指導(dǎo)”一書(shū)中 P18119
9、9頁(yè)的14.314.10節(jié) P236頁(yè)實(shí)驗(yàn)1 教材P12: 1.5、 1.6、 1.7、 1.8題。注意:有關(guān)設(shè)計(jì)程序的作業(yè),必須經(jīng)過(guò)上機(jī)調(diào)試!,C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述,算法的概念,簡(jiǎn)單算法舉例,算法的特性,怎樣表示一個(gè)算法,第2章 程序的靈魂算法,C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,結(jié)構(gòu)化程序設(shè)計(jì)方法,C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,程序包括的內(nèi)容: 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)的類(lèi)型和組織形式 算法:操作步驟的描述,Nikiklaus Wirth提出:,教材認(rèn)為:,程序,=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語(yǔ)言工具和環(huán)境,靈魂,加工對(duì)象,工具,C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,
10、2.1 算法的概念 為解決一個(gè)問(wèn)題而采取的方法和步驟,就成為算法。例如:歌曲的樂(lè)譜,建造房子等。 算法核心是解決“做什么”和“怎么做”的問(wèn)題。 P15頁(yè)的例2.1,求15之積。 可以有多種方法,一般采用簡(jiǎn)單和運(yùn)算步驟少的。準(zhǔn)確、高效 計(jì)算機(jī)算法類(lèi)別 數(shù)值運(yùn)算算法 非數(shù)值運(yùn)算算法,C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,2.2 簡(jiǎn)單算法舉例 例2.1 方法1:累乘 方法2:用循環(huán)結(jié)構(gòu)解決,靈活、通用。 例2.2 通過(guò)循環(huán)選擇打印 例2.3 判斷閏年 例2.4 累加求級(jí)數(shù)的和,循環(huán)改變正負(fù)號(hào)和分母加1。 例2.5 判斷素?cái)?shù),課后認(rèn)真思考,加深什么是算法的概念,C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法
11、,2.3 算法的特性 有窮性在合理范圍內(nèi)可完成 確定性無(wú)歧義性 有零個(gè)或多個(gè)輸入從外界得到信息 有一個(gè)或多個(gè)輸出問(wèn)題的答案 有效性每步有確定的結(jié)果,C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,2.4 怎樣表示一個(gè)算法 自然語(yǔ)言表示 2.2節(jié)例。易懂,文字冗長(zhǎng),易歧義性 流程圖表示 用流程圖符號(hào)構(gòu)成,直觀,易懂 N-S流程圖表示 偽代碼表示 計(jì)算機(jī)語(yǔ)言表示,順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu),C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,傳統(tǒng)流程圖流向混亂、可讀性差,所以應(yīng)該采用結(jié)構(gòu)化流程圖。 結(jié)構(gòu)化程序設(shè)計(jì) 基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無(wú)條件轉(zhuǎn)移語(yǔ)句(goto) 結(jié)構(gòu)化程序:由三種基本
12、結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序 優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率,三種基本結(jié)構(gòu) 順序結(jié)構(gòu),C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,選擇結(jié)構(gòu),二分支選擇結(jié)構(gòu),多分支選擇結(jié)構(gòu),C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,循環(huán)結(jié)構(gòu),當(dāng)型循環(huán)結(jié)構(gòu),直到型循環(huán)結(jié)構(gòu),注:A,B,A1.An可以是一個(gè)簡(jiǎn)單語(yǔ)句,也可以是一個(gè)基本結(jié)構(gòu),C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,三種基本結(jié)構(gòu)的共同特點(diǎn): 只有一個(gè)入口; 只有一個(gè)出口; 結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到; 結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。,C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,2.5 結(jié)構(gòu)化程序設(shè)計(jì)方法 結(jié)構(gòu)化程序:用三種基本結(jié)構(gòu)組成的程序 基本設(shè)計(jì)思路:
13、 復(fù)雜問(wèn)題分解成 幾個(gè)最基本問(wèn)題,再分別處理。 采用的方法: 自頂向下; 逐步細(xì)化; 模塊化設(shè)計(jì):復(fù)雜問(wèn)題按功能分成多個(gè)子模塊 結(jié)構(gòu)化編碼:正確采用三種基本結(jié)構(gòu)實(shí)現(xiàn),C語(yǔ)言程序設(shè)計(jì) 第二章 程序的靈魂算法,課后作業(yè) P36頁(yè)習(xí)題: 2.4、2.8(結(jié)合實(shí)驗(yàn)指導(dǎo)讀懂答案) 用N-S圖表示2.4題中 用傳統(tǒng)流程圖求解以下問(wèn)題:將一個(gè)16進(jìn)制數(shù)轉(zhuǎn)化為10進(jìn)制數(shù) 復(fù)習(xí)二進(jìn)制的基本概念 “計(jì)算機(jī)文化基礎(chǔ)”一書(shū)中P2733頁(yè),第3章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,C的數(shù)據(jù)類(lèi)型,常量與變量,整型數(shù)據(jù),實(shí)型數(shù)據(jù),字符型數(shù)據(jù),變量賦初值,各種數(shù)值型數(shù)據(jù)間的混合運(yùn)算,算術(shù)運(yùn)算符
14、和算術(shù)表達(dá)式,賦值運(yùn)算符和賦值表達(dá)式,逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.1 C的數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型決定: 1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù) 2. 數(shù)據(jù)取值范圍 3. 可以進(jìn)行的操作,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,常量和符號(hào)常量 定義:程序運(yùn)行過(guò)程中,其值不能被改變的量(常數(shù)) 分類(lèi):直接常量、符號(hào)常量,3.2 常量與變量,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,符號(hào)常量:用標(biāo)識(shí)符代表常量 一般用大寫(xiě)字母: PRICE 、 PI 定義格式: #define 符號(hào)常量 常量 其值在作用域內(nèi)不能改變和再賦值。,例3.1 符號(hào)常量舉例 #define PRICE 30
15、 #include void main() int num,total; num=10; total=num*PRICE; printf(total=%dn,total); ,符號(hào)常量的優(yōu)點(diǎn)是:見(jiàn)名知意、一改全改,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,變量 定義:其值可以改變的量。 定義格式:數(shù)據(jù)類(lèi)型 變量名; 變量應(yīng)該有名字,并在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。 變量名和變量值有不同的含義 變量名實(shí)為一個(gè)符號(hào)地址,例 變量的使用 main() int a; a=3; printf(“a=%d,a); ,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,標(biāo)識(shí)符 定義:標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、數(shù)組名、
16、 文件名的字符串序列名字。 命名規(guī)則: 只能由字母、數(shù)字、下劃線(xiàn)組成,且第一個(gè)字符必須是字母或下劃線(xiàn) 大小寫(xiě)字母含義不同,一般用小寫(xiě) 不能使用關(guān)鍵字 TC允許最長(zhǎng)32個(gè)字符,建議長(zhǎng)度不超過(guò)8個(gè)字符 使用:先定義、后使用,標(biāo)識(shí)符應(yīng)該“見(jiàn)名知意”,如 total , max 標(biāo)識(shí)符應(yīng)該“不宜混淆”,如 l與1 , O與0,這些標(biāo)識(shí)符合法嗎? 1A、M.D.John、¥123、#33、 Tatol、int、max,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.3 整型數(shù)據(jù) 整型常量(整常數(shù))的三種表示方法 十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號(hào)表示. 如 123,-456,0 八進(jìn)制整數(shù):由數(shù)字0開(kāi)頭,后跟數(shù)
17、字07表示. 如 0123,011 十六進(jìn)制整數(shù):由0 x開(kāi)頭,后跟09,af,AF表示. 如 0 x123,0 xff,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,補(bǔ)充知識(shí):,字節(jié)和位 內(nèi)存以字節(jié)為單元組成 每個(gè)字節(jié)有一個(gè)地址 一個(gè)字節(jié)一般由8個(gè)二進(jìn)制位組成 每個(gè)二進(jìn)位的值是0或1,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,數(shù)值的表示方法原碼、反碼和補(bǔ)碼 原碼:最高位為符號(hào)位,其余各位為數(shù)值本身的絕對(duì)值 反碼: 正數(shù):反碼與原碼相同 負(fù)數(shù):符號(hào)位為1,其余位對(duì)原碼取反 補(bǔ)碼: 正數(shù):原碼、反碼、補(bǔ)碼相同 負(fù)數(shù):最高位為1,其余位為原碼取反,再對(duì)整個(gè)數(shù)加1,9-5=4 9+7=16=(14)12,C
18、語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動(dòng),其余位取反加1,例 補(bǔ)碼:11111001 取反:10000110 加1: 10000111=-7,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,整型變量 整型數(shù)據(jù)在內(nèi)存中的存放形式 數(shù)據(jù)在內(nèi)存中以二進(jìn)制補(bǔ)碼形式存放 每一個(gè)整型變量在內(nèi)存中占2個(gè)字節(jié) 10的原碼 反碼 補(bǔ)碼 -10的原碼 取絕對(duì)值 反碼 補(bǔ)碼,整數(shù)的最左二進(jìn)制位是符號(hào)位,0正、1負(fù),C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,整型變量的分類(lèi) 三類(lèi)整型變量,整數(shù)類(lèi)型和取值范圍,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,整型變量的定義 先定義后使用強(qiáng)制類(lèi)型定義 int
19、a,b; ( 指定變量a、b為整型 ) unsigned short c, d; (指定變量c、d為無(wú)符號(hào)短整型 ) long e,f; ( 指定變量e、f為長(zhǎng)整型),例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=%dn,c,d); ,指定abcd為整型變量,指定u為無(wú)符號(hào)整型變量,定義放在函數(shù)開(kāi)頭的聲明部分,不同類(lèi)型混合運(yùn)算,類(lèi)型自動(dòng)轉(zhuǎn)換,結(jié)果: a+u=22,b+u= -14,定義與賦值同時(shí)進(jìn)行: int a=12
20、;,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,整型數(shù)據(jù)的溢出 此情況稱(chēng)為“溢出”,運(yùn)行時(shí)不報(bào)錯(cuò),編程時(shí)要注意,整型變量最大值32767,加1后是 32768的補(bǔ)碼形式,例3.3 整型數(shù)據(jù)的溢出 #include void main( ) int a , b; a= 32767; b= a+1; printf(%d , %d n ,a,b); ,改為:long b; 結(jié)果是什么?,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,整型常量的類(lèi)型 整型常量的值在-32768+32767范圍內(nèi),編譯器認(rèn)為是int類(lèi)型 整型常量的值超過(guò)上述范圍,而在2147483648 +2147483647范圍內(nèi),編譯器認(rèn)為是
21、long類(lèi)型 當(dāng)系統(tǒng)定義short int與int占內(nèi)存長(zhǎng)度相同,則兩種類(lèi)型常量均可以賦給 int和short int型變量 在整型常量后面加大寫(xiě)L或小寫(xiě)l,則告訴編譯器,把該整型常量作為long類(lèi)型處理。例:123L、0L 在整型常量后面加u,則按無(wú)符號(hào)整型方式存放,負(fù)數(shù)轉(zhuǎn)換成補(bǔ)碼再按無(wú)符號(hào)整型方式存放。,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.4 浮點(diǎn)型數(shù)據(jù) 浮點(diǎn)型常量的表示方法 浮點(diǎn)數(shù)(float)又稱(chēng)為實(shí)數(shù)(real) 兩種表示方法: 十進(jìn)制小數(shù)形式:必須有小數(shù)點(diǎn) 如 0.123 、.123 、123.0 、0.0 、123. 指數(shù)形式:e或E之前后必須有數(shù)字;指數(shù)必須為整數(shù) 如
22、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語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,浮點(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)型變量的分類(lèi),float x,y; (指定x、y為單精度浮點(diǎn)型變量) double z; (指定z為雙精度浮點(diǎn)型變量)
23、 long double t; (指定t為長(zhǎng)雙精度浮點(diǎn)型變量),C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,浮點(diǎn)型數(shù)據(jù)的舍入誤差 數(shù)據(jù)超過(guò)有效位數(shù),則產(chǎn)生誤差 要避免一個(gè)很大的數(shù)與一個(gè)很小的數(shù)加減,例3.4 浮點(diǎn)型數(shù)據(jù)的舍入誤差 #include void main( ) float a , b; a= 123456.789e5; b= a+20; printf(%f n,b); ,舍入誤差使1.0/3*3 的結(jié)果并不等于1 !,浮點(diǎn)型常量的類(lèi)型 浮點(diǎn)型常量一般按雙精度64位處理,數(shù)后加F或f按單精度 浮點(diǎn)型常量不分float和double,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.5 字符型數(shù)
24、據(jù) 字符常量 定義:用單引號(hào)括起來(lái)的單個(gè)字符或轉(zhuǎn)義字符 字符常量的值:該字符的ASCII碼值 定義格式:char 變量名 = 值 轉(zhuǎn)義字符:反斜線(xiàn)后面跟一個(gè)字符或一個(gè)代碼值表示,如 a A n t ,如 a97 ,A65 n10, t9,char ch=65 與 char ch=A 與char=101是等效的,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,例3.5 轉(zhuǎn)義字符的使用 #include void main( ) printf(“ ab ct derftgn”); printf(“htibbj k”); ,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,字符變量 存放字符常量,占用一個(gè)字節(jié),存放一
25、個(gè)字符 定義形式: 賦值: char c1,c2; c1=a;c2=b;,字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法 以二進(jìn)制存放字符的ASCII碼值(0255整數(shù)) 與整數(shù)的存儲(chǔ)形式類(lèi)似 以字符或整數(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時(shí)輸出的變量值為整數(shù),C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,對(duì)字符數(shù)
26、據(jù)進(jìn)行算術(shù)運(yùn)算 實(shí)質(zhì)是對(duì)其ASCII值進(jìn)行算術(shù)運(yùn)算,例3.7 大小寫(xiě)字母的轉(zhuǎn)換 #include void main( ) char c1,c2 ; c1=a ; c2=b ; c1=c1-32; c2=c2-32; printf(“%c %c ,c1,c2); ,字符型與整型間互相賦值,例: 互相賦值 #include void main( ) int c1; char c2 ; c1=a ; c2=98 ; c1=c1-32; c2=c2-32; printf(“%c %c ,c1,c2); ,小寫(xiě)字母比大寫(xiě)字母的ASCII碼大(32)10,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,字符串常
27、量 定義:用雙引號(hào)(“ ”)括起來(lái)的字符序列 “How do you do” , “CHINA” , “a” , “$123.45” 存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串結(jié)束標(biāo)志,字符常量與字符串常量不同,例: char ch; ch=“A”;,沒(méi)有字符串變量, 只能用字符數(shù)組存放,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.6 變量賦初值 變量的使用:先定義,后使用 變量定義位置:一般放在函數(shù)開(kāi)頭 變量初始化:可以在定義時(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;( )
28、,錯(cuò)!int a=b=c=3,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.7 各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算 整型、實(shí)型、字符型數(shù)據(jù)間可以混合運(yùn)算,自動(dòng)轉(zhuǎn)換 什么情況下發(fā)生 運(yùn)算轉(zhuǎn)換-不同類(lèi)型數(shù)據(jù)混合運(yùn)算時(shí) 賦值轉(zhuǎn)換-把一個(gè)值賦給與其類(lèi)型不同的變量時(shí) 輸出轉(zhuǎn)換-輸出時(shí)轉(zhuǎn)換成指定的輸出格式 函數(shù)調(diào)用轉(zhuǎn)換-實(shí)參與形參類(lèi)型不一致時(shí)轉(zhuǎn)換 運(yùn)算轉(zhuǎn)換規(guī)則:不同類(lèi)型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一類(lèi)型,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,強(qiáng)制轉(zhuǎn)換(見(jiàn)P56強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符部分) 一般形式:(類(lèi)型名)(表達(dá)式) 例:(int)(x+y) (int)x+y (double)(
29、3/2) (int)3.6 說(shuō)明:強(qiáng)制轉(zhuǎn)換得到 所需類(lèi)型的中間變量, 原變量類(lèi)型不變,例3.8 #include main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 結(jié)果:x=3.600000,i=3,精度損失問(wèn)題,強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符,表達(dá)式僅一個(gè)變量時(shí),括號(hào)可以省略,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.8 算術(shù)運(yùn)算符和算術(shù)表達(dá)式,學(xué)習(xí)運(yùn)算符應(yīng)注意: 運(yùn)算符功能 與運(yùn)算量關(guān)系 要求運(yùn)算量個(gè)數(shù) 要求運(yùn)算量類(lèi)型 運(yùn)算符優(yōu)先級(jí)別 結(jié)合方向 結(jié)果的類(lèi)型,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,算術(shù)運(yùn)算符和算術(shù)表達(dá)式
30、基本算術(shù)運(yùn)算符: + - * / % 結(jié)合方向:從左向右 優(yōu)先級(jí): - -* / % - + - (2) (3) (4) 說(shuō)明: “-”可為單目運(yùn)算符時(shí),右結(jié)合性 兩整數(shù)相除,結(jié)果為整數(shù) %要求兩側(cè)均為整型數(shù)據(jù) + - * / 運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為實(shí)數(shù),結(jié)果是double型,例 5/2 = -5/2.0 =,例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2,例 5/2 = 2 -5/2.0 = -2.5,例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (),C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,自增、自減運(yùn)算符+ 作用:使變量值加1
31、或減1 種類(lèi): 前置 +i, -i (先執(zhí)行i+1或i-1,再使用i值) 后置 i+,i- (先使用i值,再執(zhí)行i+1或i-1),例j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,j=4,/3,j=4,/c=20,a=4,/c=15,a=4,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,幾點(diǎn)說(shuō)明:,例 -i+ i=3; printf(“%d”,-i+);, -(i+),/-3,+ - 不能用于常量和表達(dá)式
32、,如 5+,(a+b)+ + - 結(jié)合方向: 自右向左 優(yōu)先級(jí):- + - -* / % -+ - (2) (3) (4) 該運(yùn)算符常用于循環(huán)語(yǔ)句中,使循環(huán)變量加減1,有關(guān)表達(dá)式使用中的問(wèn)題說(shuō)明 不同系統(tǒng)對(duì)運(yùn)算符和表達(dá)式的處理次序不同,盡可能寫(xiě)通用性強(qiáng)的語(yǔ)句 不要寫(xiě)有歧義和不知系統(tǒng)如何執(zhí)行的程序,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.9 賦值運(yùn)算符和賦值表達(dá)式,簡(jiǎn)單賦值運(yùn)算符 符號(hào): = 格式: 變量標(biāo)識(shí)符=表達(dá)式 作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量 左側(cè)必須是變量,不能是常量或表達(dá)式,例 a=3; d=func(); c=d+2;,例 3=x-2*y; a+b=3; (),類(lèi)
33、型轉(zhuǎn)換 賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類(lèi)型,例 float f ; int i=10; f=i; 則 f=10.0,例 int i; i=2.56; /結(jié)果i=2;,復(fù)合賦值運(yùn)算符 種類(lèi):+= -= *= /= %= = = a=5,/表達(dá)式值11,c=6,a=11,/表達(dá)式值10,a=10,b=4,c=6,/表達(dá)式值5,a=5,b=10,c=2,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,3.10 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 形式:表達(dá)式1,表達(dá)式2,表達(dá)式n 結(jié)合性:從左向右 優(yōu)先級(jí): 15,級(jí)別最低 逗號(hào)表達(dá)式的值:等于表達(dá)式n的值 用途:常用于循環(huán)for語(yǔ)句中,例 a
34、=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c);,/a=15,表達(dá)式值60,/a=15,表達(dá)式值20,/賦值表達(dá)式,表達(dá)式值18,x=18,/逗號(hào)表達(dá)式,表達(dá)式值18,x=3,/1,2,3,/3,2,3,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,例: 逗號(hào)表達(dá)式使用 main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x); ,本章的內(nèi)容散亂而復(fù)雜
35、,但卻是程序設(shè)計(jì)的基礎(chǔ),要認(rèn)真看書(shū),通過(guò)編程序才可以深入理解。,C語(yǔ)言程序設(shè)計(jì) 第三章 程序的靈魂算法,課后作業(yè) P6668頁(yè)習(xí)題: 3.2, 3.5(思考) 3.3, 3.4, 3.9, 3.12(寫(xiě)出答案) 3.6, 3.10(上機(jī)驗(yàn)證) 上機(jī):實(shí)驗(yàn)教材:實(shí)驗(yàn)2(做好上機(jī)準(zhǔn)備) 預(yù)習(xí)第四、第五章,第4章 最簡(jiǎn)單的C程序設(shè)計(jì)順序程序設(shè)計(jì),C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),C語(yǔ)言概述,賦值語(yǔ)句,數(shù)據(jù)輸入輸出的概念及在C語(yǔ)言中的實(shí)現(xiàn),字符數(shù)據(jù)的輸入輸出,格式輸入與輸出,順序結(jié)構(gòu)程序設(shè)計(jì)舉例,4.1 C語(yǔ)句概述 C程序結(jié)構(gòu): 一個(gè)C程序可以由多個(gè)源程序文件構(gòu)成 一個(gè)源程序文件由若干函數(shù)、預(yù)編譯
36、命令及全局變量聲明部分構(gòu)成 函數(shù)包括數(shù)據(jù)定義部分和執(zhí)行部分,執(zhí)行部分是C語(yǔ)言語(yǔ)句,完成對(duì)數(shù)據(jù)的操作,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),C語(yǔ)句分為5類(lèi) 控制語(yǔ)句:共9種 完成一定的控制功能,這些語(yǔ)句能夠根據(jù)一定的測(cè)試條件決定某些語(yǔ)句是否被執(zhí)行,如分支、循環(huán)、跳轉(zhuǎn)等語(yǔ)句。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),空語(yǔ)句:只有一個(gè)“ ; ”,什么也不做,表達(dá)式語(yǔ)句:由表達(dá)式加“ ; ”組成 典型的是賦值語(yǔ)句,由賦值表達(dá)式加分號(hào)構(gòu)成,如:y=x+1是表達(dá)式,而y=x+1;則是賦值語(yǔ)句。實(shí)際上函數(shù)調(diào)用語(yǔ)句也屬于表達(dá)式語(yǔ)句。,函數(shù)調(diào)用語(yǔ)句:由函數(shù)加“ ; ”組成,p
37、rintf(“This is a C program”);,a=3 ; i+ ;,for(i=0;i100;i+) ; ,復(fù)合語(yǔ)句: 用 括起來(lái)的一組語(yǔ)句,也稱(chēng)作程序塊。 一般形式:,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),int i=0,sum=0; while(i=100) sum=sum+i; i=i+1; ,說(shuō)明 復(fù)合語(yǔ)句“ ”后不加分號(hào) 語(yǔ)法上和其它語(yǔ)句相同 復(fù)合語(yǔ)句可嵌套,4.2 賦值語(yǔ)句 基本格式: 賦值表達(dá)式 + ; 賦值表達(dá)式可以包含在其它表達(dá)式中,而賦值語(yǔ)句不可以。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),例:if (a=b)0) t=a; 不可寫(xiě)為:if (a=b;)0) t
38、=a;,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),表達(dá)式中允許出現(xiàn)運(yùn)算符號(hào)、變量、數(shù)值、函數(shù),序號(hào),語(yǔ)句,含義,右側(cè)表達(dá)式包括,另一種形式的賦值語(yǔ)句 = ;,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),我們可以理解為: =;,只適合于 整型變量,連續(xù)賦值語(yǔ)句,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),int a , b , c ; a=b=c=1 ;,int a=b=c=1 ;,4.3 數(shù)據(jù)輸入輸出的概念及在C語(yǔ)言中的實(shí)現(xiàn),C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),標(biāo)準(zhǔn)輸入輸出函數(shù) putchar 輸出字符, scanf 格式輸入,puts 輸出字符串 getchar 輸入字符, printf 格式輸出,get
39、s 輸入字符串,所謂數(shù)據(jù)的輸入輸出是從計(jì)算機(jī)角度出發(fā)的。 C語(yǔ)言本身沒(méi)有I/O語(yǔ)句,所有I/O都由函數(shù)來(lái)實(shí)現(xiàn)。 C語(yǔ)言的標(biāo)準(zhǔn)庫(kù)函數(shù) 由編譯系統(tǒng)提供的一系列函數(shù),以庫(kù)形式存放在系統(tǒng)中,不是C語(yǔ)言文本的組成部分。 庫(kù)函數(shù)已編譯成目標(biāo)文件(.obj),在連接階段才與源程序編譯成的目標(biāo)文件相連接,生成可執(zhí)行文件。 調(diào)用形式: 函數(shù)名(參數(shù)表) 注意在調(diào)用C語(yǔ)言庫(kù)函數(shù)時(shí),需要使用編譯預(yù)處理命令#include ,使相應(yīng)的頭文件包含到用戶(hù)源程序中。,#include 或 #include ”stdio.h”,Turbo C 2.0可以不加#include命令,常用頭文件: stdio.h 定義輸入輸出函數(shù)
40、 string.h 定義字符串操作函數(shù) math.h 定義sin、cos等數(shù)學(xué)函數(shù),4.4 字符數(shù)據(jù)的輸入輸出 putchar 函數(shù)(單字符輸出函數(shù)),C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),輸出一個(gè)字符:,格式: putchar( 字符); 或 putchar( 字符變量); 強(qiáng)調(diào):被輸出的單個(gè)字符必須被 括起來(lái),運(yùn)行結(jié)果:BOY,/* 例 4.1 putchar(字符)*/ #include void main() putchar(B); putchar(O); putchar(Y); ,/* 例 4.1 putchar(字符變量) */ #include void main() char
41、a,b,c; a=B; b=O; c=Y; putchar(a); putchar(b); putchar(c); ,結(jié)果當(dāng)然還是一樣的!,輸出控制字符,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),/* 例 putchar(控制字符) */ #include void main() char a,b; a=O; b=k; putchar(a); putchar(n); putchar(b); ,運(yùn)行結(jié)果:O k,輸出轉(zhuǎn)義字符,/*例 putchar( ) 含有轉(zhuǎn)義符* / #include void main() char a; a=B; putchar(101); putchar(a); ,運(yùn)行結(jié)
42、果:AB,getchar 函數(shù)(單字符輸入函數(shù)) 。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),格式: getchar( ) ; 強(qiáng)調(diào):輸入單個(gè)字符后,必須按一次回車(chē), 計(jì)算機(jī)才接受輸入的字符。,# include 不能少!,/*例4.2 */ #include void main() char c; c=getchar( ); putchar(c); ,運(yùn)行結(jié)果: a a,4.5 格式輸入與輸出 printf函數(shù)(格式輸出函數(shù)) printf函數(shù)的一般格式,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),格式: printf( 格式控制,輸出表列);,格式控制:用雙引號(hào)括起來(lái)的字符串,包含兩種信息 格式說(shuō)
43、明:%修飾符格式字符,指定輸出格式 普通字符:原樣輸出 輸出表列:要輸出的數(shù)據(jù),可以是變量或表達(dá)式,可以沒(méi)有,多個(gè)時(shí)以“,”分隔),例: printf( “%d %d”,a,b); printf( “a=%d b= %dn”,a,b);,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),/*從最簡(jiǎn)單的學(xué)起 */ #include void main() printf(“Hello World !” ); ,運(yùn)行結(jié)果: Hello World!,調(diào)用 printf( ) 時(shí)可以省略# include 命令!,格式字符 d格式符:輸出十進(jìn)制整數(shù),有3種用法 %d格式:按數(shù)據(jù)實(shí)際長(zhǎng)度輸出,數(shù)據(jù)范圍 -32768
44、32767。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),/* %d 格式的 printf( ) 函數(shù)使用 */ #include void main() int a=3 , b=4; printf(“%d %dn ”,a,b); printf(“a=%d , b=%dn”,a,b); ,運(yùn)行結(jié)果: 3 4 a=3, b=4,格式說(shuō)明決定最終輸出的格式,格式說(shuō)明應(yīng)與輸出列表項(xiàng)個(gè)數(shù)相同,順序一致,格式說(shuō)明通常用小寫(xiě)字母表示,%md格式:m指定輸出字段的寬度 數(shù)據(jù)位數(shù)小于m,左端補(bǔ)空格,反之按實(shí)際輸出。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),int a=123 , b=12345 ; printf(“%
45、4d %4d ”, a , b);,%ld格式:輸出長(zhǎng)整型數(shù)據(jù) 可以用%mld格式指定輸出列寬,long c=135790 printf(“%ld n”, c); printf(“%8ld ”, c);,135790 32767 ( int 型數(shù)據(jù)的最大值),o格式符:八進(jìn)制輸出整數(shù) 是將內(nèi)存中的二進(jìn)制位整個(gè)按八進(jìn)制輸出,所以輸出值沒(méi)有符號(hào)。 可以指定輸出寬度%mo,長(zhǎng)整型可以用%lo格式輸出。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),int a= -1; printf(“%d , %o , %8o , %x ”, a , a , a , a);,輸出: -1,177777,_ _177777,
46、ffff,x格式符:十六進(jìn)制輸出整數(shù) 同o格式符,無(wú)符號(hào),即無(wú)負(fù)十六進(jìn)制數(shù)。 可以指定輸出寬度%mx ,長(zhǎng)整型可以用%lx格式輸出。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),u格式符:十進(jìn)制輸出unsigned型數(shù)據(jù) int型可以用%u格式輸出,unsigned型也可以用%d、%o和%x格式輸出。,例4.3 無(wú)符號(hào)數(shù)據(jù)的輸出 #include void main() unsigned int a=65535; int b= -2; printf(“a=%d , %o , %x , %un ”,a,a,a,a); printf(“b=%d , %o , %x , %un” ,b,b,b,b); ,
47、運(yùn)行結(jié)果: a= - 1 , 177777 , ffff , 65535 b= - 2 , 177776 , fffe , 65534,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),c格式符:輸出一個(gè)字符 值在0255的整數(shù),可以用%c形式輸出為字符,例4.4 字符數(shù)據(jù)的輸出 #include void main() char c=a; int i=97; printf(“%c , %dn ”,c,c); printf(“%c , %dn” ,i ,i); ,運(yùn)行結(jié)果: a , 97 a , 97,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),s格式符:輸出一個(gè)字符串 有%s,%ms,% -ms,%m.ns,
48、% -m.ns五種用法,例4.5 字符串的輸出 #include void main() printf(“%3s , %7.2s , %.4s , %-5.3dn ”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); ,運(yùn)行結(jié)果: CHINA , _ _ _ _ _CH , CHIN , CHI _ _,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),f格式符:輸出實(shí)數(shù) %f格式:整數(shù)部分全部輸出,小數(shù)6位??梢杂蟹怯行?shù)字輸出,因?yàn)閱尉扔行?位,雙精度16位。 %m.nf格式:占m列,其中n位小數(shù),左補(bǔ)空格。 % -m.nf格式:右補(bǔ)空格,例4.8 %f格式輸出實(shí)數(shù)時(shí)指定
49、小數(shù)位數(shù) #include void main() flot f=123.456; printf(“%f %10f %10.2f %.2f %-10.2fn”,f,f,f,f,f); ,運(yùn)行結(jié)果: 123.456001_ _123.456001_ _ _ _ _ _123.46_ _123.46_ _123.46_ _ _ _,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),e格式符:指數(shù)形式輸出實(shí)數(shù) %e格式:不指定m和n,小數(shù)6位,指數(shù)部分共5位, 其中e和指數(shù)符號(hào)各1位,指數(shù)值3位。 %m.ne和% -m.ne格式:m、n、-的含義同前面。 沒(méi)有n時(shí),自動(dòng)=6,g格式符:輸出實(shí)數(shù) 可以自動(dòng)根據(jù)數(shù)值
50、大小選擇 f 或 e 格式(選列少的) 不輸出無(wú)意義的零,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),int a=100;printf ( “%d”,a);,int a=255;printf(“%x”,a);,int a=8;printf(“%o”,a);,int a=100;printf(“%u”,a);,char a=65;printf(“%c”,a);,printf(“%s”,“ABC”);,float a=567.789;printf(“%e”,a);,float a=567.789;printf(“%f”,a);,float a=567.789;printf(“%g”,a);,printf
51、(“%”);,100,ff,10,100,A,ABC,5.677890e+002,567.789000,567.789,%,scanf 函數(shù)(格式輸入函數(shù)) 一般形式 功能:按指定格式從鍵盤(pán)讀入數(shù)據(jù),存入地址表指定的存儲(chǔ) 單元中,并按回車(chē)鍵結(jié)束 格式控制:含義同printf函數(shù) 地址表列:變量地址或字符串地址,地址間“,”分隔。 強(qiáng)調(diào):地址列表中每一項(xiàng)必須以取地址運(yùn)算符 scanf(“%d%d%d”, ,輸入:3_4_5 輸出:3,4,5,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),例 scanf(“%3d%*4d%f”, 輸入 12345678765.43 則 123k, 8765.43f,例 s
52、canf(“%2d%*3d%2d”, 輸入 1234567 則 12a, 67b,例 scanf(“%3c%2c”, 輸入 abcde 則 ac1, d c2,例 scanf(“%4d%2d%2d”, 輸入 19991015 則 1999yy, 10 mm, 15 dd,輸入分隔符的指定 一般以空格、TAB或回車(chē)鍵作為分隔符 輸入數(shù)據(jù)時(shí),遇非法輸入則認(rèn)為數(shù)據(jù)結(jié)束 其它字符做分隔符:格式串中兩個(gè)格式符間有其它字符,則輸入時(shí)對(duì)應(yīng)位置也要有相同的字符。,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),例 scanf(“%d:%d:%d”, 輸入 12:30:45 則12 h, 30 m, 45 s,例 scanf(“%d%c%f”, 輸入1234a123o.26 則 1234 a, a b, 123 c,4.6 順序結(jié)構(gòu)程序舉例,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),例4.10 輸入三角形邊長(zhǎng),求面積 #include #include void main() float a,b,c,s,area; scanf(%f,%f,%f, ,輸入:3,4,6 輸出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33,C語(yǔ)言程序設(shè)計(jì) 第四章 順序程序設(shè)計(jì),例4.11 從鍵盤(pán)輸入大
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年會(huì)計(jì)基礎(chǔ)理論與實(shí)務(wù)操作模擬試題
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)建筑電氣防火檢測(cè)行業(yè)發(fā)展?jié)摿︻A(yù)測(cè)及投資戰(zhàn)略規(guī)劃報(bào)告
- 未來(lái)五年農(nóng)林牧漁業(yè)生態(tài)保護(hù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年低合金鋼無(wú)縫鋼管企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年智慧倉(cāng)儲(chǔ)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年多功能組合式工程及養(yǎng)路機(jī)械裝備企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年煤炭、石油投資服務(wù)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 2025年物流倉(cāng)儲(chǔ)管理優(yōu)化方案手冊(cè)
- 2026年麥芽購(gòu)銷(xiāo)合同
- 物業(yè)公司綠化養(yǎng)護(hù)計(jì)劃書(shū)
- 2025年社工社區(qū)招聘筆試題庫(kù)及答案
- 病毒性肺炎診療指南(2025年版)
- 2026年度新疆兵團(tuán)草湖項(xiàng)目區(qū)公安局招聘警務(wù)輔助人員工作(100人)筆試參考題庫(kù)及答案解析
- GB/T 46778-2025精細(xì)陶瓷陶瓷造粒粉壓縮強(qiáng)度試驗(yàn)方法
- 協(xié)助審計(jì)協(xié)議書(shū)范本
- 采購(gòu)主管年終工作總結(jié)
- 電力公司安全第一課課件
- 物業(yè)現(xiàn)場(chǎng)管理培訓(xùn)課件
- 數(shù)據(jù)訪(fǎng)問(wèn)控制策略分析報(bào)告
- 2025年市場(chǎng)監(jiān)管局招聘崗位招聘面試模擬題及案例分析解答
- 子宮內(nèi)膜異位癥病因課件
評(píng)論
0/150
提交評(píng)論