版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、白 雪 飛中國(guó)科學(xué)技術(shù)大學(xué)電子科學(xué)與技術(shù)系dept. of elec. sci. & tech., ustcfall, 2003第第2章章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式數(shù)據(jù)類型、運(yùn)算符和表達(dá)式目 錄l數(shù)據(jù)類型、常量和變量的定義l運(yùn)算符的種類、優(yōu)先級(jí)和結(jié)合方向l表達(dá)式的類型和求值l簡(jiǎn)單的c程序設(shè)計(jì)及基本輸入輸出c的數(shù)據(jù)類型 (data types)l基本類型n整型、字符型、浮點(diǎn)型(實(shí)型)、枚舉類型l構(gòu)造類型n數(shù)組類型、結(jié)構(gòu)體類型、共用體類型l指針類型l空類型數(shù)據(jù)類型、常量和變量lc的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型形式出現(xiàn)的l由前述數(shù)據(jù)類型可以構(gòu)造出更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)lc語言的數(shù)據(jù)有常量和變量之分l常量和
2、變量都分別屬于某一數(shù)據(jù)類型l程序中用到的所有數(shù)據(jù)都必須指定類型l本章僅介紹基本數(shù)據(jù)類型標(biāo)識(shí)符 (identifier)l標(biāo)識(shí)符n變量名、符號(hào)常量名、函數(shù)名、類型名l標(biāo)識(shí)符命名規(guī)范n由字母、數(shù)字、下劃線(underscore, _)組成n第一個(gè)字符必須為字母或下劃線nc語言標(biāo)識(shí)符是大小寫敏感的n標(biāo)識(shí)符的名稱一般應(yīng)具有一定的含義n不要與c語言關(guān)鍵字(keywords)重復(fù)n一般不要使用以下劃線開頭的標(biāo)識(shí)符標(biāo)識(shí)符示例l正確的標(biāo)識(shí)符nstudent、num1、_sum、_1_2_3nmyname、myname、my_namel錯(cuò)誤的標(biāo)識(shí)符nroom3-1包含了其他字符(減號(hào))n2men以數(shù)字開頭nlo
3、ng與關(guān)鍵字重復(fù)nmr.zhu包含了其他字符(小數(shù)點(diǎn))常量 (constants)l常量n程序運(yùn)行過程中,其值不能被改變的量n例如:12、-6.7、al符號(hào)常量 (symbolic constants)n用一個(gè)標(biāo)識(shí)符代表的常量n相當(dāng)于把標(biāo)識(shí)符用一個(gè)常量簡(jiǎn)單替換下來n標(biāo)識(shí)符是一個(gè)整體,不要試圖拆開來替換n含義清楚,一改全改n習(xí)慣上符號(hào)常量名用大寫字母常量示例#define price 30#define num 12void main() . . total = num * price; total2 = 84 * price2; printf(total=%d, total); . .不會(huì)被替
4、換= total = 12 * 30;常量符號(hào)常量變量 (variables)l其值可以改變的量稱為變量l變量有一個(gè)名字,即標(biāo)識(shí)符l變量在存儲(chǔ)器中占據(jù)一定的存儲(chǔ)單元l變量占據(jù)存儲(chǔ)空間的大小由其類型決定l變量名表示存儲(chǔ)變量的存儲(chǔ)單元地址l程序使用變量名表示這個(gè)變量所占據(jù)的存儲(chǔ)單元里存儲(chǔ)的數(shù)據(jù)的值l變量要“先定義,后使用”變量的存儲(chǔ)34a變量名存儲(chǔ)單元(地址)變量值整型 (integer)l整型常量的表示方法l整型變量n整型數(shù)據(jù)在內(nèi)存中的存放形式n整型變量的類型n整型變量的定義n整型數(shù)據(jù)的溢出l整型常量的類型整型常量的表示方法l十進(jìn)制 (decimal)n例如,123、-456、0l八進(jìn)制 (oc
5、tal)n以0開頭,不得含有8或9n例如,0123、-0456n錯(cuò)例,0138、-0912l十六進(jìn)制 (hexadecimal)n以0 x或0x開頭,用af或af表示1015n例如,0 x123、-0x45、0 x3ab、-0 xabc整型數(shù)據(jù)在內(nèi)存中的存放方式l二進(jìn)制形式n舉例,int i=50; /*int類型占2字節(jié)*/l補(bǔ)碼 (complement)n正數(shù):與原碼一致,首位為0n負(fù)數(shù):絕對(duì)值取反加一,首位為1n零:各位全為00 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0高地址字節(jié)低地址字節(jié)補(bǔ)碼舉例l舉例nint i=-50; /*int類型占2字節(jié)*/0 0 0 0 0
6、 0 0 0 0 0 1 1 0 0 1 01 1 1 1 1 1 1 1 1 1 0 0 1 1 0 11 1 1 1 1 1 1 1 1 1 0 0 1 1 1 050的原碼-50的補(bǔ)碼取反加一整型變量的分類l按占用存儲(chǔ)空間的大小劃分n基本整型intn短整型short intn長(zhǎng)整型long intl按有無符號(hào)劃分n有符號(hào)signedn無符號(hào)unsignedl上述兩種分類方式組合,可得到6種類型整數(shù)的長(zhǎng)度l整數(shù)的類型與長(zhǎng)度nshort:占2字節(jié)(16bit)nlong: 占4字節(jié)(32bit)nint: 占2或4字節(jié)(16或32bit)n2bytes = short int long =
7、4bytesn若需要精確的長(zhǎng)度,可選用short或longl舉例nbc3.1:int長(zhǎng)度為2bytesngcc:int長(zhǎng)度為4bytes有符號(hào)數(shù)與無符號(hào)數(shù)l有符號(hào)數(shù)n二進(jìn)制補(bǔ)碼表示,首位為符號(hào)位n指定signed或缺省情況,即為有符號(hào)數(shù)l無符號(hào)數(shù)n沒有符號(hào)位,只能表示非負(fù)數(shù)n無符號(hào)數(shù)類型必須指定為unsignedn若把負(fù)數(shù)賦值給無符號(hào)數(shù),則把該負(fù)數(shù)的補(bǔ)碼當(dāng)作無符號(hào)數(shù)進(jìn)行處理有符號(hào)數(shù)與無符號(hào)數(shù)舉例void main() int i; unsigned j; i=j=-50; i=i/2; /*-25*/ j=j/2; /*32743*/1 1 1 1 1 1 1 1 1 1 0 0 1 1 1
8、0-50的補(bǔ)碼i,j/ 21 1 1 1 1 1 1 1 1 1 1 0 0 1 1 10 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1i/2-25的補(bǔ)碼j/232743的補(bǔ)碼/原碼整型數(shù)據(jù)的取值范圍類 型signed short intunsigned short intsigned intunsigned intsigned long intunsigned long int長(zhǎng)度 (bit)161616 or 3216 or 323232取值范圍-215 215-10 216-1-215(31) 215(31)-10 216(32)-1-231 231-10 232-1整型變
9、量的定義 (definition)l定義形式nint a, b;nunsigned c;nlong d;nunsigned short e;l變量的定義一般放在一個(gè)函數(shù)開頭的聲明部分,關(guān)于變量定義的具體內(nèi)容在以后相關(guān)章節(jié)里詳細(xì)介紹整型變量的定義與使用舉例void main() int a;/*定義有符號(hào)基本整型變量a*/ unsigned b;/*定義無符號(hào)基本整型變量b*/ long c;/*定義有符號(hào)長(zhǎng)整型變量c*/ a = -23;/*a的值為-23*/ b = 45;/*b的值為45*/ c = a + b; /*c的值為22*/整型數(shù)據(jù)的溢出 (overflow)l溢出n數(shù)據(jù)超出了變
10、量能夠存儲(chǔ)的范圍,造成數(shù)據(jù)丟失或數(shù)值改變等l舉例void main() int a = 32767; a+; /*32768?*/0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0+132767的補(bǔ)碼-32768的補(bǔ)碼整型常量的類型l常量的類型后綴 (suffix)nl、l表示常量是一個(gè)長(zhǎng)整型nu、u表示常量是一個(gè)無符號(hào)整型數(shù)n兩種后綴可以一起使用l舉例n123l 長(zhǎng)整型常數(shù)123n456u 無符號(hào)整型常數(shù)456n789ul無符號(hào)長(zhǎng)整型常數(shù)789n101lu無符號(hào)長(zhǎng)整型常數(shù)101整型常量使用中的類型問題l對(duì)整型變量賦值n
11、常量的值不要超過變量的取值范圍l直接使用常量n帶有l(wèi)、l、u、u等后綴的整型常量一般用于函數(shù)調(diào)用n不帶有后綴的整型常量的類型,是根據(jù)其數(shù)值大小所處的范圍來確定的浮點(diǎn)型 (floating point)l浮點(diǎn)型常量的表示方法l浮點(diǎn)型變量n浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存放形式n浮點(diǎn)型變量的類型n浮點(diǎn)型數(shù)據(jù)的舍入誤差l浮點(diǎn)型常數(shù)的類型浮點(diǎn)型常量的表示方法l十進(jìn)制小數(shù)形式n由符號(hào)、數(shù)字和小數(shù)點(diǎn)(必須)組成n整數(shù)和小數(shù)部分都可省略,但不能同時(shí)省略n舉例,12.3、-.123、123.、0.、.0l指數(shù)形式n由整數(shù)(或小數(shù))、e(或e)、整數(shù)順序組成ne或e之前必須有數(shù)字,之后必須是整數(shù)n舉例,123.4e-5表
12、示123.410-5n錯(cuò)例,e1、12e、1.2e3.4、.e5、e規(guī)范化指數(shù)形式l規(guī)范化指數(shù)形式n類似于“科學(xué)計(jì)數(shù)法”ne或e之前的小數(shù)中,小數(shù)點(diǎn)前面有且僅有一個(gè)非零數(shù)字l舉例,123.456n規(guī)范化形式,1.23456e2、1.23456e+002n非規(guī)范化形式,123.456、12.3456e1、12345.6e-2、0.123456e3、12345600e-5浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存放方式l二進(jìn)制規(guī)范化指數(shù)形式l小數(shù)部分長(zhǎng)度與能表示的精度有關(guān)l指數(shù)部分長(zhǎng)度與能表示的數(shù)值范圍有關(guān)1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0指數(shù)部分e小數(shù)部分f符號(hào)sesfv2). 1 ()
13、 1(幾個(gè)特殊的數(shù)l無窮大 (infinition)ninf舉例,1.0/0.0n-inf 舉例,-1.0/0.0lnan (not a number)nnan舉例,sqrt(-1) /*開平方*/n-nan 舉例,-sqrt(-1)l零 (zero)n浮點(diǎn)數(shù)用特殊的形式表示零浮點(diǎn)型變量的類型l分類n單精度 floatn雙精度 doublen長(zhǎng)雙精度 long doublel長(zhǎng)度和取值范圍類 型floatdoublelong double長(zhǎng)度 (bit)3264128有效數(shù)字6715161819絕對(duì)值范圍10-37103810-3071030810-4931104932浮點(diǎn)型數(shù)據(jù)的舍入誤差l由
14、于浮點(diǎn)型變量能夠表示的有效數(shù)字有限,將有效位以外的數(shù)字舍去造成誤差l舉例float a=123456.789e5, b;b = a + 20; /*b=12345678920?*/printf(a=%fnb=%fn, a, b);運(yùn)行結(jié)果 a=12345678848.000000 b=12345678848.000000n思考:1.0/3*3=?浮點(diǎn)型常量的類型l類型后綴nf、f表示常量是一個(gè)單精度型浮點(diǎn)數(shù)nl、l表示常量是一個(gè)長(zhǎng)雙精度型浮點(diǎn)數(shù)n無任何后綴的浮點(diǎn)型常量視作雙精度型l對(duì)浮點(diǎn)型變量賦值n一個(gè)浮點(diǎn)型常量可以賦值給任何類型的浮點(diǎn)型變量n根據(jù)變量類型截取常量的相應(yīng)有效數(shù)字n注意防止出現(xiàn)溢
15、出字符型 (character)l字符型常量l字符型變量l字符型數(shù)據(jù)在內(nèi)存中的存放形式l字符型數(shù)據(jù)的使用方法l字符串常量字符型常量l單引號(hào)括起來的一個(gè)字符n舉例,a、a、1、 、?n錯(cuò)例,abc、我l轉(zhuǎn)義字符n以開頭的特殊字符nddd 1到3位8進(jìn)制數(shù)ascii碼代表的字符nxhh 1到2位16進(jìn)制數(shù)ascii碼代表的字符n舉例,n、t、123、x3a字符型變量l字符型變量只能存放一個(gè)字符l定義與使用void main() char c1, c2; /*定義字符型變量c1和c2*/ c1 = a; /*c1的值為a*/ c2 = 2; /*c2的值為2*/字符型數(shù)據(jù)在內(nèi)存中的存放形式l一個(gè)字符
16、型數(shù)據(jù)占一個(gè)字節(jié)的空間l字符型數(shù)據(jù)以其ascii碼形式存放l字符型數(shù)據(jù)的存放形式與只占一個(gè)字節(jié)長(zhǎng)度的整型數(shù)據(jù)完全相同01100001c1=a(ascii=97)00110010c1=2(ascii=50)字符型數(shù)據(jù)的使用方法l可以把字符型數(shù)據(jù)視作一種長(zhǎng)度為1字節(jié)的整型數(shù)據(jù)處理n當(dāng)使用字符型數(shù)據(jù)時(shí),與使用這個(gè)字符的ascii碼(一個(gè)8位整數(shù))是完全一樣的n字符型數(shù)據(jù)的用法與整型數(shù)據(jù)完全一樣,包括運(yùn)算、賦值、輸入、輸出等n字符型數(shù)據(jù)使用過程中,同樣需要注意溢出、符號(hào)等問題l是字符還是整數(shù),只有在輸出時(shí)才有意義字符型數(shù)據(jù)使用舉例void main() char c; int i, j; c = 97
17、;/*c = a*/ i = c + 20;/*i = 117*/ j = 2;/*j = 50*/ printf(%c, %dn, c, c); /*a, 97*/字符型變量的符號(hào)l字符型變量與整型變量一樣,也分為有符號(hào)數(shù)與無符號(hào)數(shù)l無符號(hào)字符nunsigned char c;n舉例,表示一個(gè)班級(jí)的人數(shù) ( = = !=l邏輯運(yùn)算符! & |l位運(yùn)算符 | &l賦值運(yùn)算符= += -= *= /= %= l下標(biāo)運(yùn)算符l其他運(yùn)算符()運(yùn)算符的優(yōu)先級(jí) (precedence)l優(yōu)先級(jí)n運(yùn)算符的運(yùn)算次序按優(yōu)先級(jí)由高到低執(zhí)行n可以用圓括號(hào)( )改變運(yùn)算符的執(zhí)行次序l舉例na+b*cd
18、/e/*先算乘除,后算加減*/*乘除比加減優(yōu)先級(jí)高*/n(a+b)*(c-d)/e/*先算加減,后算乘除*/運(yùn)算符的結(jié)合方向 (associativity)l結(jié)合方向n當(dāng)一個(gè)操作數(shù)兩側(cè)的運(yùn)算符優(yōu)先級(jí)相同時(shí),運(yùn)算次序按照結(jié)合方向的規(guī)定進(jìn)行l(wèi)舉例na+b-c/*+和-的結(jié)合方向都是從左向右*/*b先與+結(jié)合計(jì)算a+b,然后執(zhí)行減法*/na=b=1/*=的結(jié)合方向是從右向左,先計(jì)算b=1*/運(yùn)算符的結(jié)合方向規(guī)則l單目運(yùn)算符的結(jié)合方向都是“從右向左”n!、+、-、+(正號(hào))、-(負(fù)號(hào))n*(指針運(yùn)算符)、&(地址運(yùn)算符)nsizeof、(type)l賦值運(yùn)算符的結(jié)合方向是“從右向左”l三目運(yùn)算
19、符的結(jié)合方向是“從右向左”n唯一的三目運(yùn)算符:條件運(yùn)算符?:l其他運(yùn)算符的結(jié)合方向都是“從左向右”優(yōu)先級(jí)與結(jié)合方向總結(jié)l不同優(yōu)先級(jí)的運(yùn)算符,運(yùn)算次序按優(yōu)先級(jí)由高到低執(zhí)行l(wèi)同一優(yōu)先級(jí)的運(yùn)算符,運(yùn)算次序按結(jié)合方向的規(guī)定執(zhí)行l(wèi)可以使用圓括號(hào)( )明確運(yùn)算次序n圓括號(hào)()具有最高的優(yōu)先級(jí)表達(dá)式 (expression)l表達(dá)式的概念l表達(dá)式的類型l表達(dá)式求值n算術(shù)運(yùn)算符和算術(shù)表達(dá)式n賦值運(yùn)算符和賦值表達(dá)式n逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式表達(dá)式的概念l表達(dá)式n用運(yùn)算符把操作數(shù)連接起來,并符合c語言語法規(guī)則的式子n操作數(shù)包括常量、變量、函數(shù)調(diào)用、表達(dá)式n廣義上,常量、變量、函數(shù)調(diào)用也可以看作屬于表達(dá)式的范疇l舉例
20、na+2.5*b-6/c+z-max(x,y)n!(a1e-6)&(b=(c+sqrt(f)表達(dá)式的類型l表達(dá)式的類型n表達(dá)式的值的類型n取決于操作數(shù)的類型以及它們所做的運(yùn)算l舉例na+2.5*b-6/c+z/*混合類型算術(shù)運(yùn)算,值為double類型*/n!(a 5 */b=(int)(x+y);/* b=6, (int)(6.5) */c=(int)x;printf(x=%f, c=%dn, x, c);/* x=2.800000, c=2 */z=(float)d/e;/* z=2.5 */自增、自減運(yùn)算符l形式n+i, -i使用i之前,先使i的值加/減1ni+, i-使用i之后,
21、再使i的值加/減1l說明n+i和-i的值是加/減1之后i的值ni+和i-的值是加/減1之前i的值n+和-只能用于變量,不能用于常量和表達(dá)式n+和-的結(jié)合方向是“自右向左”自增、自減運(yùn)算符舉例int i=3, j, a, b=1, c=2;j = +i;/* i=i+1, j=i, i=4, j=4 */j = i+;/* j=i, i=i+1, i=5, j=4 */j = -i+;/* -(i+), i=6, j=-5 */j = i+*2;/* (i+)*2, i=7, j=12 */a = (b+c)+;/* 非法! */a = 34+;/* 非法! */j = +i+;/* 非法! *
22、/有關(guān)表達(dá)式使用的問題l表達(dá)式中子表達(dá)式的求值順序沒有規(guī)定ni=3; j=(i+)+(i+)+(i+);/* j=9? 12? */lc編譯程序自左向右盡可能多的將若干字符組合成一個(gè)運(yùn)算符、標(biāo)識(shí)符、關(guān)鍵字ni+j /* (i+)+j? i+(+j)? */l調(diào)用函數(shù)時(shí),實(shí)參的求值順序沒有規(guī)定ni=3; printf(%d,%dn, i, i+);/* 3,3? 4,3? */賦值運(yùn)算符 (assignment operators)l賦值運(yùn)算符 =n把右側(cè)表達(dá)式的值賦給左側(cè)的變量n一般情況下,賦值運(yùn)算符左側(cè)只能是變量n賦值運(yùn)算符的優(yōu)先級(jí)較低,“自右向左”結(jié)合n運(yùn)算符兩側(cè)類型不一致時(shí),要進(jìn)行類型轉(zhuǎn)
23、換n注意“賦值”與“等于”的區(qū)別,例如i=i+2;l復(fù)合賦值運(yùn)算符n=前加上算術(shù)運(yùn)算符或位運(yùn)算符,如+=、|=n舉例,z*=x+y;/* z=z*(x+y); */賦值表達(dá)式l賦值表達(dá)式nn賦值表達(dá)式的值就是所賦的值n運(yùn)算符右側(cè)的表達(dá)式可以是一個(gè)賦值表達(dá)式l舉例na=5; /*表達(dá)式的值為5*/na=b=3; /*a=(b=3)*/na=b=c=1; /*a=(b=(c=1)*/na=(b=4)+(c=3);/*b=4, c=3, a=7*/逗號(hào)運(yùn)算符l逗號(hào)運(yùn)算符 ,nexp1, exp2n逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低,“自左向右”結(jié)合n逗號(hào)表達(dá)式的值是exp2的值nexp1和exp2都可以又是“逗
24、號(hào)表達(dá)式”n把多個(gè)表達(dá)式組合成一個(gè)表達(dá)式使用l舉例nx=(a=3, 6*a) /* a=3, x=18 */nx=a=3, 6*a /* a=3, x=3 */基本輸入輸出l頭文件n#include l輸入輸出函數(shù)n字符輸出函數(shù)putcharn字符輸入函數(shù)getcharn格式輸出函數(shù)printfn格式輸入函數(shù)scanfn字符串輸出函數(shù)putsn字符串輸入函數(shù)gets字符輸出函數(shù)putcharl函數(shù)說明nint putchar(int c);n輸出一個(gè)字符到標(biāo)準(zhǔn)輸出設(shè)備l參數(shù)說明nint c 要輸出的字符,可以是整數(shù)或字符,若超出字符型范圍,則只使用低字節(jié)l返回值n若成功,返回輸出字符的asci
25、i碼值n若失敗,返回eof (end of file)函數(shù)putchar舉例 int c, i;putchar(a);/* 輸出a */putchar(n);/* 輸出換行符 */putchar(101);/* 輸出e */putchar(101);/* 輸出a */c = 1000;i = putchar(c);/* 輸出,i=232 */字符輸入函數(shù)getcharl函數(shù)說明nint getchar(void);n從標(biāo)準(zhǔn)輸入設(shè)備輸入一個(gè)字符n需要輸入回車后,函數(shù)才返回l參數(shù)說明n無參數(shù)l返回值n若成功,返回輸入字符的ascii碼值n若失敗,返回eof (end of file)函數(shù)getch
26、ar舉例 int c;c = getchar();/* 輸入a后回車 */putchar(c);/* 輸出a */c = getchar();/* 是否需要輸入? */printf(c=%dn, c);/* 輸出c=? 10 */c = getchar();/* 輸入abcd后回車 */putchar(c);/* 輸出a */putchar(getchar(); /* 輸出b */格式輸出函數(shù)printfl函數(shù)說明nint printf(char* format, args.);n格式化輸出若干任意類型數(shù)據(jù)l參數(shù)說明nchar* format 格式控制字符串nargs 需要輸出的數(shù)據(jù)列表,可以
27、多個(gè)或沒有l(wèi)返回值n若成功,返回輸出的字節(jié)數(shù),包括換行符n若失敗,返回eof (end of file)函數(shù)printf的參數(shù)說明l格式字符串n包括“格式說明”和“普通字符”n“格式說明”由%和“格式字符”組成,將輸出數(shù)據(jù)按指定格式輸出n“普通字符”按原樣輸出l輸出列表n需要輸出的數(shù)據(jù)n可以是變量、常量、表達(dá)式、函數(shù)調(diào)用等n輸出數(shù)據(jù)按順序與“格式說明”對(duì)應(yīng)輸出函數(shù)printf的格式舉例printf(a=%d b=%d, a, b);格式說明普通字符輸出列表輸出結(jié)果a=3 b=4格式字符格式字符d, iox, xucsfe, eg, g%說 明有符號(hào)十進(jìn)制整數(shù),正數(shù)不輸出符號(hào)無符號(hào)八進(jìn)制整數(shù),不
28、輸出前導(dǎo)0無符號(hào)十六進(jìn)制整數(shù),不輸出前導(dǎo)0 x或0x無符號(hào)十進(jìn)制整數(shù)轉(zhuǎn)換為無符號(hào)字符型,以此為ascii碼輸出一個(gè)字符輸出字符串,直到遇到0或達(dá)到指定寬度小數(shù)形式單、雙精度數(shù),缺省精度為6位小數(shù)以規(guī)范化指數(shù)形式輸出浮點(diǎn)數(shù),缺省精度為6位小數(shù)以f(f)和e(e)兩種格式中較短的一種輸出輸出一個(gè)%附加格式字符格式字符hllmn -+0 #說 明有符號(hào)或無符號(hào)短整型有符號(hào)或無符號(hào)長(zhǎng)整型長(zhǎng)雙精度型一個(gè)正整數(shù),輸出數(shù)據(jù)的最小寬度一個(gè)正整數(shù),輸出的小數(shù)位數(shù)或字符串截取個(gè)數(shù)分隔m和n輸出的數(shù)字或字符向左靠齊輸出的數(shù)字一直帶符號(hào),即正號(hào)也輸出輸出的數(shù)字不滿規(guī)定寬度時(shí),用前導(dǎo)0填充有符號(hào)數(shù)字如果沒有輸出符號(hào),則
29、前面加一個(gè)空格八進(jìn)制和十六進(jìn)制數(shù)加前綴,浮點(diǎn)數(shù)格式也有所改變函數(shù)printf舉例 int i=1234; float f=-56.78;printf(i=%+6d, i);/* i= +1234 */printf(%c, i);/* */printf(%#08x, i); /* 0 x0004d2 */printf(%10.5e, f);/* -5.67800e+01 */printf(%7.4f%, f);/* -56.7800% */printf(%+6.3g, f);/* -56.8 */printf(%-6.3s, hello); /* hel */格式輸入函數(shù)scanfl函數(shù)說明nint scanf(char* format, addrs.);n格式化輸入若干任意類型數(shù)據(jù)l參數(shù)說明nchar* format 格式控制字符串naddrs 需要輸入的地址列表,可以有多個(gè)l返回值n返回輸入并賦值的數(shù)據(jù)項(xiàng)的個(gè)數(shù)函數(shù)scanf使用說明l“地址列表”中是變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 急腹癥護(hù)理課件
- 鉆具租賃合同模板(2篇)
- 閱讀館合伙人合同(2篇)
- 認(rèn)識(shí)平行 課件
- 輸尿管超聲課件
- 幼兒園小班音樂《大樹媽媽》教案
- 西京學(xué)院《網(wǎng)頁設(shè)計(jì)與制作》2022-2023學(xué)年期末試卷
- 幼兒園語言教育中的談話活動(dòng)第5章
- 西京學(xué)院《單片機(jī)原理及應(yīng)用實(shí)驗(yàn)》2022-2023學(xué)年期末試卷
- 西華師范大學(xué)《中學(xué)教研活動(dòng)組織指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 演示文稿意大利埃托索特薩斯
- 高中英語教學(xué)經(jīng)驗(yàn)交流發(fā)言稿
- 生產(chǎn)成本控制與效率提升
- 環(huán)境工程專業(yè)英語全套課件ppt
- 溫潤(rùn)童心博愛至善
- 藝術(shù)課程標(biāo)準(zhǔn)(2022年版)
- 2022年送教下鄉(xiāng)活動(dòng)方案送教下鄉(xiāng)活動(dòng)方案
- 大學(xué)生心理健康教育課程說課課件
- 6年級(jí)科學(xué)家長(zhǎng)會(huì)
- Monkey Fishes The Moon(英語演講ppt猴子撈月)
- 人工智能課件完整版
評(píng)論
0/150
提交評(píng)論