版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 最簡(jiǎn)單的C程序設(shè)計(jì)順序程序設(shè)計(jì)3.1 順序程序設(shè)計(jì)舉例(教材p37-p38)3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.2.1 常量和變量在計(jì)算機(jī)高級(jí)語(yǔ)言中,數(shù)據(jù)有兩種表現(xiàn)形式:常量和變量。1. 常量常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量稱為常量。(程序中的數(shù)值常量就是數(shù)學(xué)中的常數(shù))C程序常量序號(hào)常量分類表示形式舉例說(shuō)明1整型常量整數(shù)0,123,-123等等2實(shí)型常量十進(jìn)制小數(shù)形式1.23,0.0,-0.35等等由數(shù)字和小數(shù)點(diǎn)組成指數(shù)形式12.34e3(代表12.34*103)-3.12E-25(代表-3.12*10-25)由于在計(jì)算機(jī)輸入或輸出時(shí),無(wú)法表示上角或下角,故規(guī)定以字母e或E代表
2、以10為底的指數(shù)。e或E之前必須有數(shù)字,并且e或E,后面必須為整數(shù),如不能寫成e4(e之前無(wú)數(shù)字),12e2.5(e之后為小數(shù))。3字符常量普通字符a','A','?','#',用單撇號(hào)括起來(lái)的一個(gè)字符,單撇號(hào)只是界限服,字符常量只能是一個(gè)字符,不包括單撇號(hào)。字符常量存儲(chǔ)在計(jì)算存儲(chǔ)單元中時(shí),并不存儲(chǔ)字符本身,而是以其ASCII代碼存儲(chǔ)的。轉(zhuǎn)義字符(轉(zhuǎn)義字符是以字符開(kāi)頭的字符序列,將”后面的字符轉(zhuǎn)換成另外的意義。如“”n"中的“"n”不代表字母n,而作為”換行“符。)'一個(gè)單撇號(hào)具有此八進(jìn)制碼的字符"一
3、個(gè)雙撇號(hào)輸出此字符?一個(gè)問(wèn)號(hào)輸出此字符一個(gè)反斜線輸出此字符a警告(alert)產(chǎn)生聲音或視覺(jué)信號(hào)b退格(backspace)將當(dāng)前位置后退一個(gè)字符f換頁(yè)(form feed)將當(dāng)前位置移到下一頁(yè)的開(kāi)頭n換行將當(dāng)前位置移到下一行的開(kāi)頭r回車(carriage return)將當(dāng)前位置移到本行的開(kāi)頭t水平制表符將當(dāng)前位置移到下一個(gè)tab位置v垂直制表符將當(dāng)前位置移到下一個(gè)垂直制表對(duì)齊點(diǎn)o、oo、oooo代表1個(gè)八進(jìn)制數(shù)字。與該八進(jìn)制碼對(duì)應(yīng)的ASCII字符。xhh.其中h是代表一個(gè)十六進(jìn)數(shù)字。與該十六進(jìn)制碼對(duì)應(yīng)的ASCII字符。4字符串常量用雙撇號(hào)把若干個(gè)字符括起來(lái)"boy",&
4、quot;123",字符串常量是雙撇號(hào)中的全部字符,但不包括雙撇號(hào)本身。5符號(hào)常量用#define指令,指定用一個(gè)符號(hào)名稱代表一個(gè)常量。習(xí)慣上用大寫表示符號(hào)常量。#define PI 3.14 /行末沒(méi)有分號(hào)好處:(1)含義清楚;(2)在需要改變程序中多處用到的同一個(gè)常量時(shí),能做到”一改全改“。不要把符號(hào)常量誤認(rèn)為變量。符號(hào)常量不占內(nèi)存,只是一個(gè)臨時(shí)符號(hào),編譯后符號(hào)就不存在,故不能對(duì)符號(hào)常量賦以新值。2. 變量變量 一個(gè)有名字的、具有特定屬性的一個(gè)存儲(chǔ)單元。它用來(lái)存放數(shù)據(jù),也就是存放變量的值。在程序運(yùn)行期間變量的值是可以改變的。變量必須先定義后使用。在定義時(shí)指定變量的名字和類型,一個(gè)
5、變量應(yīng)該有名字,以便與被引用。變量名和變量值是兩個(gè)不同的概念。變量名是以一個(gè)名字代表的一個(gè)存儲(chǔ)地址。定義變量的位置:一般在函數(shù)開(kāi)頭的聲明部分定義變量,也可以在函數(shù)外定義變量(即外部變量、全局變量)。在對(duì)程序編譯連接時(shí)由編譯系統(tǒng)給每一個(gè)變量名分配對(duì)應(yīng)的內(nèi)存地址。從變量中取值,實(shí)際上是通過(guò)變量名找到相應(yīng)的內(nèi)存地址,從該存儲(chǔ)單元中讀取數(shù)據(jù)。3. 常變量常變量與常量常變量與常量異同是:常變量具有變量的基本屬性:有類型,占存儲(chǔ)單元,只是不允許改變其值??梢哉f(shuō),常變量是具有名字的不變量,而常量是沒(méi)有名字的不變量。有名字就便于在程序中被引用。常變量與符號(hào)常量例:#define Pi 3.14 /定義字符常量
6、Const float pi=3.14 /定義常變量本例二者都代表3.14,在程序中都能使用。但二者的性質(zhì)不同:定義符號(hào)常量用#define指令,它是預(yù)編譯指令,它只是用符號(hào)常量代表了一個(gè)字符串,在預(yù)編譯時(shí)僅是進(jìn)行字符轉(zhuǎn)換,在預(yù)編譯后,符號(hào)常量就不存在了(全置換成3.14),對(duì)符號(hào)常量的名字是不分配存儲(chǔ)單元的。而常變量要占用內(nèi)存單元,有變量值,只是該值不改變而已。常變量具有符號(hào)變量的優(yōu)點(diǎn),使用更方便。4. 標(biāo)識(shí)符標(biāo)識(shí)符 在計(jì)算機(jī)高級(jí)語(yǔ)言中,用來(lái)對(duì)變量、符號(hào)常量名、函數(shù)、數(shù)組、類型等命名的有效字符序列統(tǒng)稱為標(biāo)識(shí)符(identifier)。簡(jiǎn)單的說(shuō),標(biāo)識(shí)符就是一個(gè)對(duì)象的名字。c語(yǔ)言規(guī)定標(biāo)識(shí)符只能由
7、字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。編譯系統(tǒng)將大寫字母和小寫字母認(rèn)為是兩個(gè)不同的字符。一般而言,變量名都用小寫字母表示。3.2.2 數(shù)據(jù)類型用計(jì)算機(jī)進(jìn)行的計(jì)算不是抽象的理論值的計(jì)算,而是用工程的方法實(shí)現(xiàn)的計(jì)算,許多情況下只能得到近似的結(jié)果。所謂類型,就是對(duì)數(shù)據(jù)分配存儲(chǔ)單元的安排,包括存儲(chǔ)單元的長(zhǎng)度(占多少字節(jié))以及數(shù)據(jù)的存儲(chǔ)形式。不同的類型分配不同的長(zhǎng)度和存儲(chǔ)形式?;菊停╥nt)短整型 (short int)整型類型 長(zhǎng)整型 (long int)雙長(zhǎng)整型(long long int)c99增字符型 (char)基本類型 布爾型 (bool) c99增單精度浮點(diǎn)型
8、(float)浮點(diǎn)類型 雙精度浮點(diǎn)型(double) 數(shù)據(jù)類型 復(fù)數(shù)浮點(diǎn)型(float_complex,double_comple, long long_comple) 枚舉類型(enum)空類型(void)指針類型(*) 數(shù)組類型( )派生類型 結(jié)構(gòu)體類型(struct)共用體類型(union)函數(shù)類型3.2.3 整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類(1)基本整型(int)整型數(shù)據(jù)在存儲(chǔ)單元中的存儲(chǔ)方式是:用整數(shù)的補(bǔ)碼形式存放。一個(gè)正數(shù)的補(bǔ)碼是此數(shù)的二進(jìn)制形式。求負(fù)數(shù)補(bǔ)碼的方法是:先將此數(shù)的絕對(duì)值寫成二進(jìn)制形式,然后對(duì)其后面所有各二進(jìn)位按位取反,再加1。(教材p44)在存放整數(shù)的存儲(chǔ)單元中,最左面一
9、位是用來(lái)表示符號(hào)的,如果該位為0,表示數(shù)值為正;如果該位為1,表示數(shù)值為負(fù)。(2)短整型 (short int)Visual C+ 6.0編譯系統(tǒng)分配給int數(shù)據(jù)4個(gè)字節(jié),短整型2個(gè)字節(jié)。一個(gè)短整型變量的值的范圍是:-3276832767。(3)長(zhǎng)整型 (long int)Visual C+ 6.0編譯系統(tǒng)分配給long int數(shù)據(jù)4個(gè)字節(jié)。長(zhǎng)整型(long int)變量的值的范圍是-231(231-1),即:-21474836482147463647。2. 整型變量的符號(hào)屬性整型數(shù)據(jù)加上修飾符unsigned(無(wú)符號(hào)整數(shù))和signed(有符號(hào)整數(shù))后,可以擴(kuò)展為以下八種整形數(shù)據(jù):有符號(hào)基本
10、整型 signed int;無(wú)符號(hào)基本整型 unsigned int;有符號(hào)短整型 signed short int;無(wú)符號(hào)短整型 unsigned short int;有符號(hào)長(zhǎng)整型 signed long int;無(wú)符號(hào)長(zhǎng)整型 unsigned long int;有符號(hào)雙長(zhǎng)整型 signed long long int; /C99增加無(wú)符號(hào)雙長(zhǎng)整型 unsigned long long int。/C99增加不能給定義為無(wú)符號(hào)型整型變量賦予負(fù)值。3.2.4 字符型數(shù)據(jù)由于字符是按其代碼(整數(shù))形式存儲(chǔ)的,因此C99把字符型數(shù)據(jù)作為整數(shù)類型行的一種。1. 字符與字符代碼,并不是任意寫的一個(gè)字符程
11、序能夠識(shí)別,如圓周率符號(hào)程序是不能識(shí)別的。大多數(shù)系統(tǒng)采用,ASCII字符集,各種字符集基本都包括了127個(gè)字符。每個(gè)字符都可以用7個(gè)二進(jìn)位表示,所以在C中,指定一個(gè)字節(jié)(8位)存儲(chǔ)一個(gè)字符。字母:AZ,az。數(shù)字:09。專門符號(hào):29個(gè)。!” # & ( ) * + - 空格符: 空格、水平制表符(tab)、垂直制表符、換行、換頁(yè)(formfeed)不能顯示的字符:空(null)字符(以0 表示)、警告(以a 表示)等。2. 字符變量 字符變量是用類型符char定義字符變量。char是英文character(字符)的縮寫。例:char c=?; /定義c為字符型變量,并使初值為字符?。
12、字符?的ASCII代碼是63,系統(tǒng)把整數(shù)63賦給變量c。字符型變量可以用修飾符signed和unsigned。類型字節(jié)數(shù)取值范圍Signed char有符號(hào)字符型1-128127,即-27(27-1)Unsigned char無(wú)符號(hào)字符型10255,即0(28-1)3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)是用來(lái)表示具有小數(shù)點(diǎn)的實(shí)數(shù)的。一個(gè)實(shí)數(shù)表示為指數(shù)可以有不止一種形式,小數(shù)點(diǎn)的位置可以浮動(dòng),所以實(shí)數(shù)的指數(shù)形式稱為浮點(diǎn)數(shù)。在指數(shù)形式的多種表示方式中,把小數(shù)部分中小數(shù)點(diǎn)前的數(shù)字為0、小數(shù)點(diǎn)后第一位數(shù)字不為0的表示形式稱為規(guī)范化的指數(shù)形式。(1)float型(單精度浮點(diǎn)型)float型數(shù)據(jù)能得到6位有效數(shù)
13、字,取值范圍-3.4*10-383.4*1038。(2)double 型(雙精度)double 型數(shù)據(jù)可以得到15位有效數(shù)字。(3)long double 型(長(zhǎng)雙精度)3.2.6 怎樣確定常量的類型字符常量,由單撇號(hào)括起來(lái)的單個(gè)字符或轉(zhuǎn)義字符就是字符常量。整型常量,不帶小數(shù)點(diǎn)的數(shù)值是整型常量,但應(yīng)注意其有效范圍。浮點(diǎn)型常量,凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實(shí)數(shù)是浮點(diǎn)型常量,在內(nèi)存中以指數(shù)形式存儲(chǔ)。C程序中的實(shí)型常量都是雙精度浮點(diǎn)型常量。3.2.7 運(yùn)算符和表達(dá)式1. 基本的算術(shù)運(yùn)算符最常用的算術(shù)運(yùn)算符運(yùn)算符含義舉例結(jié)果+正號(hào)運(yùn)算符(單目運(yùn)算符)+aa的值-負(fù)號(hào)算符(單目運(yùn)算符)-aa的算術(shù)負(fù)值*
14、乘法運(yùn)算符a*ba和b的乘積/除法運(yùn)算符a/ba除b的商%求余運(yùn)算符a%ba除b的余數(shù)+加法運(yùn)算符a+ba和b的和-減法運(yùn)算符a-ba和b的差2. 自增、自減運(yùn)算符+i,-i (在使用i之前,先使i的值加(減)1)i+,i- (在使用i之后,使i的值加(減)1)自增運(yùn)算符和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式。常用于循環(huán)語(yǔ)句中,使循環(huán)變量自動(dòng)加1(或減1),也用于指針變量,使指針指向下一個(gè)(上一個(gè))地址。在使用運(yùn)算符時(shí),如遇到諸如i+j,為避免二義性,可以通過(guò)加括號(hào)來(lái)明確,如寫成(i+)+j。3. 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來(lái)的
15、符合C語(yǔ)法規(guī)則的式子,稱為C算術(shù)表達(dá)式。運(yùn)算對(duì)象包括常量、變量、函數(shù)等。如:a*b/c-1.5+a在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別順序執(zhí)行。如果一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符號(hào)的優(yōu)先級(jí)別相同,則按規(guī)定的結(jié)合方向處理。結(jié)合性是指規(guī)定運(yùn)算對(duì)象與運(yùn)算符的“結(jié)合方向“,即先與左邊的運(yùn)算符結(jié)合,還是先與右邊的運(yùn)算符結(jié)合。自左至右的結(jié)合方向,又稱為左結(jié)合性。4. 不同類型數(shù)據(jù)間的混合運(yùn)算(1)+、-、*、/運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為float或double型,結(jié)果是double型。(2)int型與float或double型數(shù)據(jù)進(jìn)行運(yùn)算,結(jié)果是double型。(3)字符型(char)數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是
16、把字符的ASCII代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算。字符數(shù)據(jù)可以直接與整型數(shù)據(jù)進(jìn)行運(yùn)算。字符型數(shù)據(jù)和其他算術(shù)型數(shù)據(jù)之間可以互相互賦值和運(yùn)算。同一個(gè)字母用小寫表示的字符ASCII代碼比用大寫表示的字符的ASCII代碼大32。5. 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符一般形式為:(類型名)(表的式)強(qiáng)制類型轉(zhuǎn)換時(shí)得到一個(gè)所需類型的中間數(shù)據(jù),而原來(lái)變量類型未發(fā)生變化。例:(double)a /將a轉(zhuǎn)換成double類型(int)(x+y) /將x+y的值轉(zhuǎn)換成int型(float)(5%3) /將5%3的值轉(zhuǎn)換成float型6.C運(yùn)算符(1)算術(shù)運(yùn)算符 (+ - * / % + -)(2)關(guān)系運(yùn)算符 (> < =
17、>= <= !=)(3)邏輯運(yùn)算符 (! && |)(4)位運(yùn)算符 (<< >> | &)(5)賦值運(yùn)算符 (=及其擴(kuò)展賦值運(yùn)算符)(6)條件運(yùn)算符 (?:) /C中唯一三目運(yùn)算符(7)逗號(hào)運(yùn)算符 (,)(8)指針運(yùn)算符 (* &)(9)求字節(jié)數(shù)運(yùn)算符(sizeof)(10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符( (類型) )(11)成員運(yùn)算符 (. >)(12)下標(biāo)運(yùn)算符 ( )(13)其他 (如函數(shù)調(diào)用運(yùn)算符())3.3 C 語(yǔ)句 3.3.1 C語(yǔ)句的作用和分類語(yǔ)句的作用是向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令,要求執(zhí)行相應(yīng)的操作。一個(gè)函數(shù)包含聲明
18、部分和執(zhí)行部分,執(zhí)行部分是由語(yǔ)句組成的。if()else (條件語(yǔ)句)for() (循環(huán)語(yǔ)句)while() (循環(huán)語(yǔ)句)dowhile()(循環(huán)語(yǔ)句) continue (結(jié)束本次循環(huán)語(yǔ)句) 控制語(yǔ)句 break (中止執(zhí)行switch或循環(huán)語(yǔ)句)switch (多分支選擇語(yǔ)句)C語(yǔ)句 return (從函數(shù)返回語(yǔ)句)goto (轉(zhuǎn)向語(yǔ)句)函數(shù)調(diào)用語(yǔ)句(由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成)表達(dá)式語(yǔ)句 (由一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成)空語(yǔ)句 (;)復(fù)合語(yǔ)句 (用 把一些語(yǔ)句和聲明括起來(lái)成為復(fù)合語(yǔ)句,又稱語(yǔ)句塊) 3.3.2 最基本的語(yǔ)句賦值語(yǔ)句在C程序中,最常用的語(yǔ)句是:賦值語(yǔ)句和輸入輸出語(yǔ)句。最基本
19、的是賦值語(yǔ)句。凡在程序中要用到數(shù)學(xué)函數(shù)庫(kù)中的函數(shù),都應(yīng)當(dāng)”包含”math.h頭文件。1. 賦值運(yùn)算符賦值符號(hào)=就是賦值運(yùn)算符, 它的作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量。也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量。2. 復(fù)合賦值運(yùn)算符在賦值運(yùn)算符=之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符。例:a+=1 等價(jià)于 a=a+3x*= y+5 等價(jià)于 x=x*( y+5)凡是二元(二目)運(yùn)算符,都可以與賦值符一起組成復(fù)合賦值符,有關(guān)算術(shù)運(yùn)算符的復(fù)合賦值運(yùn)算符有+=,-=,*=,/=,%=。3. 復(fù)制表達(dá)式賦值語(yǔ)句是在賦值表達(dá)式的末尾加一個(gè)分號(hào)構(gòu)成。由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱為賦值表達(dá)式。一般形
20、式為:變量 賦值運(yùn)算符 表達(dá)式賦值表達(dá)式的作用是將一個(gè)表達(dá)式值賦給一個(gè)變量,因此賦值表達(dá)式具有計(jì)算和賦值的雙重功能。賦值運(yùn)算符左值應(yīng)該是一個(gè)可以修改的“左值“。變量可以作為“左值“,常量和表達(dá)式不能作為左值。凡是左值都可以作為右值。賦值表達(dá)式中的“表達(dá)式“,又可以是一個(gè)賦值表達(dá)式。如:a=(b=5)賦值表達(dá)式也可以包含復(fù)合的賦值運(yùn)算符。如:a+=a-=a*a賦值表達(dá)式作為表達(dá)式的一種,使賦值操作不僅可以出現(xiàn)在賦值語(yǔ)句中,而且可以以表達(dá)式的形式出現(xiàn)在其他語(yǔ)句中。如:Printf(”%d”,a=b);4. 賦值過(guò)程中的類型轉(zhuǎn)換(教材p62)5. 賦值表達(dá)式和賦值語(yǔ)句賦值表達(dá)式末尾沒(méi)有分號(hào),而賦值語(yǔ)
21、句的末尾必須有分號(hào)。在一個(gè)表達(dá)式中,可以包含一個(gè)或多個(gè)賦值表達(dá)式,但絕不能包含賦值語(yǔ)句。如:if(a=b;)>0) max=a; /”a=b;” 是賦值語(yǔ)句,故錯(cuò)誤。6. 變量賦初值3.4 數(shù)據(jù)的輸入輸出3.4.1 輸入輸出舉例3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念輸入輸出是程序中最基本的操作之一。(1)所以輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的。(2)c語(yǔ)言本身不提供輸入輸出語(yǔ)句,輸入和輸出操作由c語(yǔ)言標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)來(lái)實(shí)現(xiàn)的。(3)在使用系統(tǒng)函數(shù)庫(kù)時(shí),要在程序文件的開(kāi)頭用預(yù)處理指令#include把有關(guān)頭文件放在本程序中。#include 指令都放在程序文件的開(kāi)頭,因此這類文件稱為頭文件。
22、“stdio.h“頭文件包含了與標(biāo)準(zhǔn)I/O庫(kù)有關(guān)的變量定義和宏定義以及對(duì)函數(shù)的聲明。文件開(kāi)頭應(yīng)該有以下預(yù)處理指令:#include<stdio.h>或#include”stdio.h”用尖括號(hào)形式(如<stdio.h>)時(shí),編譯系統(tǒng)從存放C編譯系統(tǒng)的子目錄中去找要包含的文件(如<stdio.h>),這稱為標(biāo)準(zhǔn)方式。用雙撇號(hào)形式(如”stdio.h“)時(shí),編譯系統(tǒng)現(xiàn)在用戶的當(dāng)前目錄(一般是用戶存放源程序文件的子目錄)中去找要包含的文件,如果找不到,再按標(biāo)準(zhǔn)方式查找。3.4.3 用printf函數(shù)輸出數(shù)據(jù)1. printf函數(shù)的一般形式printf函數(shù)的一般格式
23、為:printf(格式控制,輸出表列)(1)“格式控制“是雙撇號(hào)括起來(lái)的一個(gè)字符串,稱為”轉(zhuǎn)換控制字符串“,又簡(jiǎn)稱”格式字符串“。格式聲明 格式聲明由“%”和格式字符組成,它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式然后輸出。格式聲明總是由“%”字符開(kāi)始的。普通字符 普通字符即需要在輸出時(shí)原用輸出的字符。(2)輸出表列 是程序需要輸出的一些數(shù)據(jù),可以是常量、變量或表達(dá)式。printf函數(shù)的一般形式為:printf(參數(shù)1, 參數(shù)2, 參數(shù)3, 參數(shù)n)函數(shù)的一般形式2. 格式字符格式聲明的一般形式可以表示為:% 附加字符 格式字符(1)d格式符 用來(lái)輸出一個(gè)有符號(hào)的十進(jìn)制整數(shù)。在輸出時(shí),按十進(jìn)制整數(shù)
24、數(shù)據(jù)的實(shí)際長(zhǎng)度輸出,正數(shù)的符號(hào)不輸出。可以在格式聲明中指定輸出數(shù)據(jù)的域?qū)挘ㄋ剂袛?shù))。如:Printf(“%5dn”,12); /輸出5列,12前有三個(gè)空格若輸出長(zhǎng)整型(long)數(shù)據(jù),在格式字符d前面加字母l(代表long)即可。(2)c格式符 用來(lái)輸出一個(gè)字符。(3)s格式符 用來(lái)輸出一個(gè)字符串。(4)f格式符 用來(lái)輸出實(shí)數(shù)(包括單、雙精度、長(zhǎng)雙精度),以小數(shù)形式輸出?;拘停?f。輸出實(shí)數(shù),只能輸出六位小數(shù)。指定數(shù)據(jù)寬度和小數(shù)位數(shù),用%m.nf。m代表輸出所占的列數(shù),n表示小數(shù)位數(shù),對(duì)最后一位采取四舍五入的方法處理。如果只指定輸出小數(shù)位,用%.nf。m,n等是“附加字符”,又稱為“修飾
25、字符”,起補(bǔ)充聲明的作用。在用%f輸出時(shí)要注意數(shù)據(jù)本身能提供的有效數(shù)字,如float型數(shù)據(jù)的存儲(chǔ)單元只能保證6位有效數(shù)字。double型數(shù)據(jù)能保證15位有效數(shù)字。輸出的數(shù)據(jù)向左對(duì)齊,用%-m.nf。當(dāng)數(shù)據(jù)長(zhǎng)度不超過(guò)m時(shí),數(shù)據(jù)向左靠,右端補(bǔ)空格。e格式符 用格式聲明%e指定以指數(shù)形式輸出實(shí)數(shù)。Printf函數(shù)中用到的格式字符格式字符說(shuō)明備注d,i以帶符號(hào)的十進(jìn)制形式輸出整數(shù)(正數(shù)輸出符號(hào))i表示按實(shí)際長(zhǎng)度輸出習(xí)慣用do以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0)不常用x,X以十六進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符,0x),用x則輸出十六進(jìn)制數(shù)的,af時(shí)以小寫形式輸出。用X時(shí),則以大寫字母輸出。
26、不常用u有無(wú)符號(hào)(unsigned)十進(jìn)制形輸出整數(shù)。不常用c以字符形式輸出,只輸出一個(gè)字符。s輸出字符串f以小數(shù)形式輸出單、雙精度數(shù),隱含輸出六位小數(shù)。e,E以指數(shù)形式輸出實(shí)數(shù),用e時(shí)指數(shù)以“e”表示,用E時(shí),指數(shù)以”E”表示。g,G選用%f或%e格式中輸出寬度較短的一種格式,不輸出無(wú)意義的0,用紀(jì)G時(shí),若以指數(shù)形式輸出,則指數(shù)以大寫表示。不常用Printf函數(shù)中用到的格式附加字符字符說(shuō)明l用于長(zhǎng)整型整數(shù),可加在格式d、o、x、u前面。m(代表一個(gè)正整數(shù))數(shù)據(jù)最小寬度n(代表一個(gè)正整數(shù))對(duì)實(shí)數(shù),表示輸出n位小數(shù);對(duì)字符串,表示截取的字符個(gè)數(shù)。-輸出的數(shù)字或字符在域內(nèi)向左靠說(shuō)明,如果想輸出字符
27、“%”,應(yīng)該在“格式控制字符串”中用連續(xù)兩個(gè)“%”表示。如:printf(“%f%n”,1.0/3);3.4.4 用scanf 函數(shù)輸入數(shù)據(jù)1. scanf 函數(shù)的一般形式Scanf(格式控制,地址表列)“地址表列“是由若干個(gè)地址組成的表列,可以是變量的地址,或是字符串的首地址。2. scanf 函數(shù)中的格式聲明與Printf函數(shù)中的格式聲明相似,以%開(kāi)始,以一個(gè)格式字符結(jié)束,中間可以插入附加的字符。scanf函數(shù)中用到的格式字符格式字符說(shuō)明d,i用來(lái)輸入有符號(hào)的十進(jìn)制整數(shù)u用來(lái)輸入無(wú)符號(hào)的十進(jìn)制整數(shù)o用來(lái)輸入無(wú)符號(hào)的八進(jìn)制整數(shù),x,X用來(lái)輸入符號(hào)的十六進(jìn)制整數(shù)(大小寫作用相同)c用來(lái)輸入單個(gè)
28、字符s用來(lái)輸入字符串,將字符串送到一個(gè)字符數(shù)組中,在輸入時(shí)以非空白的字符開(kāi)始,以第一個(gè)空白字符結(jié)束。字符串以串結(jié)束標(biāo)志0作為最后一個(gè)字符。f用來(lái)輸入實(shí)數(shù),可以用小數(shù)形式或指數(shù)形式輸入。e,E,g,Gf作用相同,e與f、g可以互相替換(大小寫中相同)。scanf函數(shù)中用到的格式附加字符字符說(shuō)明l用于輸入長(zhǎng)整形數(shù)據(jù)(可用%ld,%lo,%lx,%lu)以及double型數(shù)據(jù)(用%lf或%le)。h用于輸入短整型數(shù)據(jù)(可用%hd,%ho,%hx)域?qū)捴付ㄝ斎霐?shù)據(jù)所占的寬度(列數(shù)),域?qū)拺?yīng)為正整數(shù)。*表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題(教材p76)(1)scanf函數(shù)中的“格式控制“后面應(yīng)當(dāng)是變量地址,而不是變量名。(2)如果在“格式控制字符串“中除了格式聲明以外還有其他字符,則在輸入數(shù)據(jù)時(shí)在對(duì)應(yīng)的位置上應(yīng)輸入與這些字符相同的字符。如:scanf(”a=%f,b=%f,c=%f”,&a,&b,&c);則在輸入數(shù)據(jù)時(shí),應(yīng)輸入類似格式:a=1,b=3,c=2 (回車)(3)在用“%c”格式聲明輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”中的字符都作為有效字符輸入。(4)在輸入數(shù)值數(shù)據(jù)時(shí),如輸入空格、回車tab鍵或有非法字符(不屬于數(shù)值的字符),認(rèn)為該數(shù)據(jù)結(jié)束。3.4.5 字符數(shù)據(jù)的輸入輸出1.用putcha
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024林業(yè)土地承包合同中林地生態(tài)修復(fù)與保護(hù)協(xié)議
- 二零二五年度品牌授權(quán)使用保密協(xié)議3篇
- 二零二五年度企業(yè)員工股份配比及分紅協(xié)議3篇
- 2025年度智慧城市綜合體項(xiàng)目施工及運(yùn)維管理服務(wù)合同3篇
- 信息技術(shù)必修2信息系統(tǒng)與社會(huì)4.3《信息系統(tǒng)安全管理》說(shuō)課稿001
- 二零二五年制片人電影項(xiàng)目制片與制片方合作合同3篇
- 教師與家長(zhǎng)互動(dòng)如何與家長(zhǎng)共同促進(jìn)孩子的數(shù)學(xué)學(xué)習(xí)
- 2025年度無(wú)人機(jī)安裝與航空拍攝服務(wù)合同3篇
- 2024版正規(guī)民間個(gè)人借貸合同
- 2024年車輛租賃與維修保養(yǎng)服務(wù)合同范本3篇
- 二年級(jí)上冊(cè)語(yǔ)文期末試卷
- 進(jìn)水口快速閘門液壓?jiǎn)㈤]機(jī)安裝施工方案
- 中小微企業(yè)融資情況調(diào)查問(wèn)卷
- 西門子s7200格式s7200硬件手冊(cè)
- 時(shí)間序列分析論文
- 職校生個(gè)人簡(jiǎn)歷自薦信范文模板
- 交通標(biāo)志結(jié)構(gòu)計(jì)算書(shū)
- 汽車吊吊裝計(jì)算
- 個(gè)人獨(dú)資公司章程范本-
- 中國(guó)核電標(biāo)準(zhǔn)化組織方式及工作方案
- 淺談循環(huán)流化床鍋爐與煤粉爐比較探究
評(píng)論
0/150
提交評(píng)論