C語言程序設(shè)計--第2章.ppt
《C語言程序設(shè)計--第2章.ppt》由會員分享,可在線閱讀,更多相關(guān)《C語言程序設(shè)計--第2章.ppt(87頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第2章基本數(shù)據(jù)類型與運算符,返回總目錄,目錄,2.1數(shù)據(jù)類型和取值范圍,2.2運算符,2.3輸入/輸出函數(shù),2.4習(xí)題二,返回總目錄,基本要求:)熟悉C語言的常用數(shù)據(jù)類型;)熟悉C語言的常用運算符;)熟練掌握輸入/輸出函數(shù)的使用。學(xué)習(xí)重點:)C語言運算符的使用;)輸入/輸出函數(shù)的使用。,2.1基本數(shù)據(jù)類型和取值范圍,2.1.1基本數(shù)據(jù)類型和取值范圍,數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.其上可進(jìn)行的操作,數(shù)據(jù)類型總表,返回目錄,基本類型及范圍(VisualC+6.0環(huán)境下),2.1基本數(shù)據(jù)類型和取值范圍,2.1.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,標(biāo)識符,定義:用來標(biāo)識變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字命名原則:見名知意不宜混淆如l與I,o與0,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,標(biāo)識符,例:判斷下列標(biāo)識符號合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3charab_above$123,M.D.John,3days,#33,char,$123,ab,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量,定義:程序運行時其值不能改變的量(即常數(shù))分類:符號常量:用標(biāo)識符代表常量定義格式:#define符號常量常量,如#definePRICE30,例符號常量舉例#definePRICE30main()intnum,total;num=10;total=num*PRICE;printf(total=%d,total);,一般用大寫字母是宏定義預(yù)處理命令,不是C語句直接常量:整型常量實型常量字符常量字符串常量,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-整型常量(整常數(shù)),三種形式:十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號表示.如123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字07表示.如0123,011十六進(jìn)制整數(shù):由0 x開頭,后跟09,af,AF表示.如0 x123,0Xff,示例:0571=(377)100 x179=(377)100X179=(377)10,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-整型常量(整常數(shù)),兩種長度:整型常量按長度劃分為兩種:短整型和長整型(后綴為小寫字母l或大寫字母L),從長度來看:TurboC中默認(rèn)為短整型,如-377是一個短整型數(shù),而-377l或-377L表示-377是長整型數(shù)。而在VisualC+6.0中默認(rèn)為長整型,如-377、-377l或-377L均表示-377是長整型數(shù)。例:語句:printf(“%d,%d”,sizeof(-377),sizeof(-377L);在TurboC中的運行結(jié)果為:2,4而在VC中的結(jié)果為:4,4小結(jié):從數(shù)據(jù)類型角度來分析,整型常量默認(rèn)為int類型,而加上后綴(l或L)后,就是longint類型。,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-實型常量(實數(shù)或浮點數(shù)),表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點)如0.123,.123,123.0,0.0,123.指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5,1.2E-3.5,實型常量的類型默認(rèn)double型在實型常量后加字母f或F,認(rèn)為它是float型例:語句:printf(“%d,%d”,sizeof(0.123),sizeof(0.123F);在TurboC和VC中的運行結(jié)果均為:8,4,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-字符常量,定義:用單引號括起來的單個普通字符或轉(zhuǎn)義字符.,字符常量的值:該字符的ASCII碼值,如aA?n101,轉(zhuǎn)義字符:反斜線后面跟一個字符或一個代碼值表示,如A65,a97,048,n10,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-字符常量,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-字符常量,如101-A012-n376-x61-a60-0483-(),例:A-101-x41-65,轉(zhuǎn)義字符示例:,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-字符常量,例轉(zhuǎn)義字符舉例main()printf(101x42Cn);printf(Isay:Howareyou?n);printf(CProgramn);printf(TurboC);,運行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”CProgramTurboC,例main()printf(“Yb=n”);,運行結(jié)果:屏幕顯示:=打印機(jī)輸出:,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,常量-字符串常量,定義:用雙引號(“”)括起來的字符序列存儲:每個字符串尾自動加一個0作為字符串結(jié)束標(biāo)志,字符常量與字符串常量不同,例:charch;ch=“A”;,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,變量,概念:其值可以改變的量變量名與變量值變量定義的一般格式:數(shù)據(jù)類型變量1,變量2,變量n;,例:inta,b,c;floatdata;,決定分配字節(jié)數(shù)和數(shù)的表示范圍,合法標(biāo)識符,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,變量,例:inta=2,b,c=4;floatdata=3.67;charch=A;intx=1,y=1,z=1;intx=y=z=1;,變量初始化:定義時賦初值,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,變量,例1intstudent;stadent=19;/本行語句有錯,符號“stadent”未定義,例2inta,b,c;c=a%b;/本行語句有錯,a、b沒有具體的值就參與運算,變量的使用:先定義,后使用,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,變量,變量定義位置:一般放在函數(shù)開頭,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,變量,整型變量占字節(jié)數(shù)隨機(jī)器不同而不同,一般占一個機(jī)器字shortintlong可用sizeof(類型標(biāo)識符)測量,#includestdio.hmain()printf(intlength=%d,sizeof(int);,VC運行結(jié)果:intlength=4,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,變量,實型變量float:占4字節(jié),提供67位有效數(shù)字(跟C編譯系統(tǒng)有關(guān),將實型數(shù)據(jù)按指數(shù)形式存儲時,一般若以24位二進(jìn)制位表示小數(shù)部分(含符號),則對應(yīng)的十進(jìn)制有效數(shù)字為7位)double:占8字節(jié),提供1516位有效數(shù)字,2.1基本數(shù)據(jù)類型和取值范圍,#includemain()doublea=1.234567890123456789e18;floatb=a;printf(a=%.20len,a);printf(b=%.20len,b);,程序輸出結(jié)果為:c=1.23456789012345680000e18d=1.23456793955060940000e18,2.1.2常量與變量,變量,字符型變量字符變量存放字符ASCII碼char與int數(shù)據(jù)間可進(jìn)行算術(shù)運算,例a=D;/*a=68;*/x=A+5;/*x=65+5;*/s=!+G/*s=33+71;*/,沒有字符串變量,字符串用字符數(shù)組存放,2.1基本數(shù)據(jù)類型和取值范圍,2.1.2常量與變量,變量,變量綜合示例:#definePRICE12.5main()intnum=3;floattotal;charch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(“total=%f,ch1=%cn”,total,ch1);,運行結(jié)果:total=37.500000,ch1=d,2.1基本數(shù)據(jù)類型和取值范圍,2.2運算符,2.2.1優(yōu)先級與結(jié)合規(guī)則,運算符,返回目錄,2.2運算符,2.2.1優(yōu)先級與結(jié)合規(guī)則,優(yōu)先級和結(jié)合規(guī)則總表,2.2運算符,2.2.1優(yōu)先級與結(jié)合規(guī)則,不同級別的運算符按運算符的優(yōu)先級別確定計算順序,優(yōu)先級別高(即優(yōu)先級別數(shù)?。┑倪\算符先計算:相同級別的運算符按結(jié)合規(guī)則確定計算順序。例:表達(dá)式3+4*(12-6)/(1+2)的計算順序為:(126)6(12)34*62424/3=83+8=11,運算符的計算規(guī)則,2.2運算符,2.2.2賦值運算與連續(xù)賦值,在C中,運算符“=”是賦值運算符。簡單賦值運算的一般形式為:變量=表達(dá)式其功能是將一個表達(dá)式的值賦給變量。如下表達(dá)式a=b+c該式讀作將表達(dá)式b+c的值賦給a。其本意是改寫變量a的值,而不是判斷b+c與a是否相等,,賦值運算,2.2運算符,2.2.2賦值運算與連續(xù)賦值,連續(xù)賦值,在C語言中,賦值運算符的級別較低,為14級,并滿足右結(jié)合規(guī)則。因此表達(dá)式:x=y=z=1是連續(xù)賦值表達(dá)式,其功能相當(dāng)于如下表達(dá)式的功能x=(y=(z=1)它是先執(zhí)行表達(dá)式z=1,即將1賦給z,表達(dá)式值也為1,然后將表達(dá)式值1賦給y,即執(zhí)行y=1,表達(dá)式值也仍為1,再將表達(dá)式值1賦給x,即執(zhí)行x=1。,2.2運算符,2.2.3算術(shù)運算,結(jié)合方向:從左向右優(yōu)先級:-*/%-+-(2)(3)(4)說明:“-”可為單目運算符時,右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù)%要求兩側(cè)均為整型數(shù)據(jù),例5/2=2-5/2.0=-2.5,例5%2=1-5%2=-11%10=15%1=05.5%2(),基本算術(shù)運算符:+-*/%,2.2運算符,2.2.3算術(shù)運算,自增、自減運算符+-,作用:使變量值加1或減1種類:前置+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,/3,/c=20,a=4,/c=15,a=4,“先加后用”,“先用后加”,2.2運算符,2.2.3算術(shù)運算,自增、自減運算符+-,說明:+-不能用于常量和表達(dá)式,如5+,(a+b)+-結(jié)合方向:自右向左優(yōu)先級:-+-*/%-+-(2)(3)(4),例-i+-(i+)i=3;printf(“%d”,-i+);/-3,例-i+i=3;printf(“%d”,-i+);,2.2運算符,2.2.3算術(shù)運算,自增、自減運算符+-,特別提示:慎用+,-運算符!,4,345,3,2,2,3,343,2,2,2,a=3;printf(%d,%dn,a,a+);printf(%dn,a);a=3;printf(%d,%d,%d,%dn,+a,a+,a+,-a);,例,TC中結(jié)果:,VC中結(jié)果:,從例中可分析出:1、函數(shù)參數(shù)均按從右到左的順序求值;2、對于后置運算,都遵循“先用后加”規(guī)則,但“加”的時機(jī)不同,TC中是用后馬上加,這樣下個左邊的參數(shù)用到的值是加后的值,而在VC中,用后不馬上加,而是在函數(shù)調(diào)用(printf)完成后才加。,2.2運算符,2.2.3算術(shù)運算,自增、自減運算符+-,特別提示:慎用+,-運算符!,由上例知,由于+,-運算符在不同版本的C編譯系統(tǒng)中使用時會出現(xiàn)非預(yù)期的結(jié)果,因此要慎用!例如:a=3;printf(“%d,%d”,a,a+);在有的系統(tǒng)中,函數(shù)參數(shù)是從左至右求值,輸出“3,3”,在多數(shù)系統(tǒng)(如TC和VC)中是從右至左求值,輸出“4,3”或“3,3”。因此,以上寫法不宜提倡,最好改寫成:a=3;b=a+;printf(“%d,%d”,a,b);或:a=3;b=a;a+;printf(“%d,%d”,a,b);則結(jié)果都是明確的(輸出“4,3”)。,2.2運算符,2.2.3算術(shù)運算,自增、自減運算符+-,特別提示:慎用+,-運算符!,總之,不要編寫讓人很難看懂,也不知道系統(tǒng)會怎樣執(zhí)行的程序。所以,我們可以通過一些含+,-比較多的表達(dá)式來加深對其運算規(guī)則的理解,但在實際編程中,除非不得已,否則絕對不要編寫含+,-比較多的表達(dá)式。從上面的介紹可知,含+,-比較多的復(fù)雜語句或有歧義的語句完全可以用簡單易懂、結(jié)果明確的語句組替代。,2.2運算符,2.2.4關(guān)系運算,關(guān)系運算又稱為比較大小運算,它有六個運算符:、=、=、=352在數(shù)學(xué)上是恒成立的。但在C語言中,上式卻不成立,因為首先計算第一個大于號,其值為1,而后計算第二個大于號時,成為計算12,顯然不成立,其值為0。實際上,連續(xù)比較大小時,表示幾個條件同時滿足,因此若將上式改寫為條件表達(dá)式53x=y=z=0;+x|+y|+z;printf(“x=%dy=%dz=%dn”,x,y,z);x=y=z=0;+x,程序運行結(jié)果為:,x=1y=0z=0 x=1y=1z=0 x=1y=1z=1x=1y=0z=0,2.2運算符,2.2.6位運算,位運算操作符,表2.5位運算符號表,2.2運算符,2.2.6位運算,異或運算,異或運算真值表見表2.6,即對應(yīng)位相同時為0,不同時為1.表2.6異或運算真值表,2.2運算符,2.2.6位運算,移位運算,左移位運算ab:右邊移出的部分將丟棄,左邊空出的高位部分填補(bǔ)方法則根據(jù)a是否為帶符號數(shù)又分為兩種:a為帶符號數(shù)時,左邊空出的高位部分用符號位填補(bǔ);a為不帶符號數(shù)時,左邊空出的高位部分用0填補(bǔ)。,注意:參與運算的數(shù)以補(bǔ)碼形式出現(xiàn).,2.2運算符,2.2.6位運算,例2.5,#includemain()chara=-25,b=93,c;unsignedchard=-25;c=a,69-1-7024-4283-56,程序運行結(jié)果為:,2.2運算符,2.2.7條件運算,一般形式:expr1?expr2:expr3執(zhí)行過程,條件運算符可嵌套如x0?1:(xb?a:cd?c:dab?a:(cd?c:d),2.2運算符,2.2.7條件運算,例求a+|b|printf(“a+|b|=%dn”,b0?a+b:a-b);,例(a=b)?Y:N(x%2=1)?1:0(x=0)?x:-x(c=afloatz=4;x=(y=y+6,y/z);printf(x=%dn,x);,X=3,程序運行結(jié)果為:,2.2運算符,2.2.10求字節(jié)數(shù)(sizeof),1)sizeof計算類型占用字節(jié)數(shù)的形式為:sizeof(類型)2)sizeof計算變量占用字節(jié)數(shù)的形式有兩種:sizeof(變量)或sizeof變量,示例:#includemain()inta=5;printf(%dn,sizeof(int);printf(%dn,sizeof(a);printf(%dn,sizeofa);,222,運行結(jié)果為:,2.2運算符,2.2.11類型轉(zhuǎn)換,算術(shù)運算類型轉(zhuǎn)換,算術(shù)運算中,當(dāng)兩個運算數(shù)類型相同時,運算結(jié)果類型與原類型相同,當(dāng)兩個運算數(shù)類型不同時,運算結(jié)果類型為級別較高的數(shù)據(jù)類型。類型級別高低按下述規(guī)則進(jìn)行:,即字符型向整型轉(zhuǎn)換、整型向?qū)崝?shù)型轉(zhuǎn)換、短型向長型轉(zhuǎn)換、不帶符號型向帶符號型轉(zhuǎn)換。,例如表達(dá)式:5/2+3*4.5+2的運算結(jié)果為17.5,而不是18。因為5/2時,除法運算符“/”兩邊運算數(shù)的類型都為整數(shù),其運算結(jié)果類型也應(yīng)為整數(shù)類型,其值當(dāng)然為2,而不是2.5;乘法3*4.5兩邊運算數(shù)的類型不同,結(jié)果類型為級別高的類型,即實型,值為13.5,整個表達(dá)式值為17.5。如將上述表達(dá)式改寫為:5/2.0+3*4.5+2此時,其運算結(jié)果為18.0,而不是17.5,請讀者自行分析。,2.2運算符,2.2.11類型轉(zhuǎn)換,算術(shù)運算類型轉(zhuǎn)換,2.2運算符,2.2.11類型轉(zhuǎn)換,賦值轉(zhuǎn)換,執(zhí)行賦值運算變量a=表達(dá)式b時,若a、b類型相同,則直接將b賦給a即可,若a、b類型不同,則需先將b的類型轉(zhuǎn)換為a的類型后再賦值,這種類型轉(zhuǎn)換,我們稱之為賦值類型轉(zhuǎn)換。,2.2運算符,2.2.11類型轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換的一般格式為:(目標(biāo)類型)表達(dá)式其功能是將表達(dá)式類型轉(zhuǎn)換為目標(biāo)類型,其轉(zhuǎn)換方法同賦值轉(zhuǎn)換。如:floata=3.1;inti;i=(int)a;則i的值為3。,2.2運算符,2.2.11類型轉(zhuǎn)換,輸入/輸出類型轉(zhuǎn)換,示例:#includemain()inta=15;charch=A;printf(%dn,ch);printf(%Xn,a);,65F,程序運行結(jié)果為:,詳見“輸入/輸出函數(shù)”一節(jié),2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,printf()函數(shù)調(diào)用格式,#include,格式:printf(“格式字符串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù),輸出表:要輸出的數(shù)據(jù)(可以沒有,多個時以“,”分隔)格式控制串:包含兩種信息格式說明:%flagswidth.precisionF|N|h|ltype,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出,返回目錄,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,Type類型代碼及示例,d,i,x,X,o,u,c,s,e,E,f,g,%,十六進(jìn)制無符號整數(shù),不帶符號十進(jìn)制整數(shù),十進(jìn)制整數(shù),指數(shù)形式浮點小數(shù),單一字符,字符串,八進(jìn)制無符號整數(shù),小數(shù)形式浮點小數(shù),e和f中較短一種,去0,百分號本身,inta=567;printf(“%d”,a);,inta=255;printf(“%x”,a);,inta=65;printf(“%o”,a);,inta=567;printf(“%u”,a);,chara=65;printf(“%c”,a);,printf(“%s”,“ABC”);,floata=567.789;printf(“%e”,a);,floata=567.789;printf(“%f”,a);,floata=567.789;printf(“%g”,a);,printf(“%”);,567,ff,101,567,A,ABC,5.677890e+002,567.789001,567.789,%,p,指針,inta=567;int*q=,FFF4,F(xiàn)FFF4,以無符號的十六進(jìn)制形式輸出變量的地址,說明Type類型代碼字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng)。,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,程序運行結(jié)果為:,Type類型代碼及示例,34a=3,b=4,示例:main()inta=3,b=4;printf(“%d%dn”,a,b);printf(“a=%d,b=%dn”,a,b);,說明輸出類型轉(zhuǎn)換:格式字符與輸出項類型不一致,按指定type類型輸出。輸出類型轉(zhuǎn)換與賦值類型轉(zhuǎn)換規(guī)律相同。,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,程序在VC中運行結(jié)果為:,Type類型代碼及示例,u=1u=4294967295,示例:main()intu=-1;printf(“u=%dn,u);printf(“u=%un”,u);,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,可選格式說明符寬度width,定義輸出數(shù)據(jù)域?qū)?。?shù)據(jù)長度width,左補(bǔ)空格;否則按實際輸出寬度。當(dāng)width值前加0時,表示左邊空位用0填補(bǔ)。,程序運行結(jié)果為:,a=888a=000888,示例:main()inta=888;printf(a=%6dn,a);printf(a=%06dn,a);,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,可選格式說明符精度.precision,精度作用于浮點數(shù)%f,%e,%E:精度表示“小數(shù)點后最多顯示位數(shù)”,默認(rèn)值為6精度作用于%g,%G:精度表示“有效位的數(shù)目”精度作用于字符串%s:精度表示“最大字符串位數(shù)”精度作用于整數(shù):精度決定“必須顯示的最小位數(shù)”,不足時補(bǔ)前導(dǎo)0。,程序運行結(jié)果為:,123.123500001234Thisisasimpl,例2.12:main()printf(%.4fn,123.1234567);printf(%3.8dn,1234);printf(%10.15sn,Thisisasimpletest);,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,可選格式說明符標(biāo)志flags,程序運行結(jié)果為:,示例:對齊符”-”main()printf(%8dn,12345);printf(%8dn,12);printf(%-8dn,12345);printf(%-8dn,12);,“-”:表示左對齊,缺省(即沒有”-”號時)為右對齊;“0”:輸出數(shù)值時指定左面不使用的空位置自動填0;“+”:指定在有符號數(shù)的正數(shù)前顯示正號(+);“#”:在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0 x或0X;,12345121234512,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,可選格式說明符標(biāo)志flags,程序運行結(jié)果為:,示例:“0”與“”main()printf(%+08dn,12345);printf(%+8dn,12);printf(%-8dn,12345);printf(%-8dn,12);,“-”:表示左對齊,缺?。礇]有”-”號時)為右對齊;“0”:輸出數(shù)值時指定左面不使用的空位置自動填0;“+”:指定在有符號數(shù)的正數(shù)前顯示正號(+);“#”:在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0 x或0X;,+0012345+121234512,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,可選格式說明符標(biāo)志flags,“-”:表示左對齊,缺?。礇]有”-”號時)為右對齊;“0”:輸出數(shù)值時指定左面不使用的空位置自動填0;“+”:指定在有符號數(shù)的正數(shù)前顯示正號(+);“#”:在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0 x或0X;,程序運行結(jié)果為:,示例:”#”main()printf(%#8xn,0 x1234);printf(%#8xn,0 x12);printf(%-#8on,01234);printf(%-#8on,012);,0 x12340 x1201234012,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,可選格式說明符標(biāo)志h|l,程序運行結(jié)果為:,示例:”h”與“l(fā)”main()printf(%hdn,65536);printf(%hon,8);printf(%lun,65536);printf(%lxn,65536);printf(%len,5000000000.0);printf(%lfn,5000000000.0);printf(%lgn,5000000000.0);,01065536100005.000000e+0095000000000.0000005e+009,“h”:在d,o,x,u前,指定輸出精度為short型;“l(fā)”:在d,o,x,u前,指定輸出精度為long型;在e,f,g前,指定輸出精度為double型;,2.3輸入/輸出函數(shù),2.3.1格式化輸出函數(shù)printf,可選格式說明符標(biāo)志F|N,“F”:在p前,指定為遠(yuǎn)指針(32位),表示段地址:偏移地址;“N”:在p前,指定為近指針(16位),表示段內(nèi)偏移地址;,TC程序運行結(jié)果為:,示例:”F”與“N”main()charfar*q1=(charfar*)0 xB5000002;charnear*q2=(charnear*)0 x452;printf(%Fpn,q1);printf(%Npn,q2);,B500:00020452,注意:在VC中運行本程序時,會出現(xiàn)farisanobsoletekeyword或nearisanobsoletekeyword之類的錯誤,表示在VC中,far和near是已經(jīng)被廢棄的關(guān)鍵字。,2.3輸入/輸出函數(shù),2.3.2格式化輸入函數(shù)scanf,scanf()函數(shù)調(diào)用格式,格式:scanf(“格式字符串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲單元中。,地址表:變量的地址,常用取地址運算符floatv;scanf(%d%*d%d,354Thevolumeis:113.09724,2.3輸入/輸出函數(shù),2.3.2格式化輸入函數(shù)scanf,輸入數(shù)據(jù)流的分隔方式,用空白符號分隔:空白符有:空格,制表符,回車符;,程序運行結(jié)果為:,例2.13:main()intr,h;floatv;scanf(%d%*d%d,354Thevolumeis:113.09724,程序運行結(jié)果為:,354Thevolumeis:113.09724,2.3輸入/輸出函數(shù),2.3.2格式化輸入函數(shù)scanf,輸入數(shù)據(jù)流的分隔方式,示例:main()intr,h;floatv;scanf(“r=%dh=%d,程序運行結(jié)果為:,r=3h=4Thevolumeis:113.09724,用指定的符號分隔:,2.3輸入/輸出函數(shù),2.3.2格式化輸入函數(shù)scanf,輸入數(shù)據(jù)流的分隔方式,示例:main()intr,h;floatv;scanf(%2d%*3d%2d,程序運行結(jié)果為:,12345678r=12h=67Thevolumeis:30310.06055,用指定輸入寬度分隔:,2.3輸入/輸出函數(shù),2.3.2格式化輸入函數(shù)scanf,輸入數(shù)據(jù)流的分隔方式,根據(jù)數(shù)據(jù)含義分隔:,示例:main()intr,h;charc;floatv;scanf(%d%d%c,程序運行結(jié)果為:,35rr=3h=5Inputcharacteris:rThevolumeis:113.09724,2.3輸入/輸出函數(shù),2.3.3字符輸入/輸出函數(shù),字符輸入,采用scanf函數(shù)例如:charch;scanf(“%c”,2.3輸入/輸出函數(shù),2.3.3字符輸入/輸出函數(shù),字符輸出,采用printf函數(shù):例如:charch=B;printf(“%c”,ch);采用函數(shù):putchar(參數(shù))功能:向顯示器輸出參數(shù)指定的一個字符。例如:charch=B;putchar(ch);/參數(shù)是字符變量putchar(B);/參數(shù)是字符常量putchar(66);/參數(shù)是整型常量putchar(ch+1);/參數(shù)是表達(dá)式,2.3輸入/輸出函數(shù),2.3.3字符輸入/輸出函數(shù),例2.14字符輸入輸出函數(shù)。#includemain()charc1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1+32);putchar(c2+32);putchar(c3+32);,綜合示例,程序運行結(jié)果為:,ABCabc,本程序?qū)崿F(xiàn)將大寫字母轉(zhuǎn)換成小寫字母。,2.4習(xí)題二,單項選擇題,C語言中最基本的非空數(shù)據(jù)類型包括.A)整型、浮點型、無值型B)整型、字符型、無值型C)整型、浮點型、字符型D)整型、浮點型、雙精度型、字符型C語言中運算對象必須是整型的運算符是.A)%B)/C)=D)=10ora=0|a=10則表達(dá)式a+=a*=a的值為_.A)10B)100C)1000D)2009)設(shè)先有定義:inta=10;則表達(dá)式(+a)+(a-)的值為_.A)20B)21C)22D)19,B,D,D,C,2.4習(xí)題二,單項選擇題,10)設(shè)先有定義:inty=3,x=3,z=1;則語句:printf(“%d%dn”,(+x,y+),z+2);的輸出結(jié)果為_.A)34B)42C)43D)3311)假定x、y、z、m均為int型變量,有如下程序段:x=2;y=3;z=1;m=(y=f2),0,2.4習(xí)題二,6以下程序的執(zhí)行結(jié)果是_。#includemain()floatf=13.8;intn;n=(int)f%3;printf(n=%dn,n);,填空題,n=1,2.4習(xí)題二,本章完!謝謝大家的合作!,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語言程序設(shè)計
鏈接地址:http://m.italysoccerbets.com/p-11494828.html