C語言第二次作業(yè)答案_第1頁
C語言第二次作業(yè)答案_第2頁
C語言第二次作業(yè)答案_第3頁
C語言第二次作業(yè)答案_第4頁
C語言第二次作業(yè)答案_第5頁
已閱讀5頁,還剩57頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1C語言第二次作業(yè)答案2常量概念:程序運(yùn)行過程中其值不能被改變的量常量的分類:整型常量實(shí)型常量字符常量字符串常量符號(hào)常量第1頁/共62頁整型常量整型常量即整常數(shù)1.整數(shù)

?

取值范圍:一般占一個(gè)機(jī)器字,字長(zhǎng)2字節(jié),取值范圍為-32768~+32767

?

表示形式:十進(jìn)制整數(shù)以非0開頭的整數(shù)八進(jìn)制整數(shù)以0開頭的整數(shù)十六進(jìn)制整數(shù)以0x或0X開頭的整數(shù)例:-123、456、0123、-0x123第2頁/共62頁2.長(zhǎng)整數(shù)

?

取值范圍:占四字節(jié)-2147483648~+2147483647

?

表示形式:在整數(shù)后面加字母L或l

例:456l、-0456l、0x456l3.關(guān)于無符號(hào)數(shù)若整數(shù)是無符號(hào)數(shù),整常量能表示的取值范圍將相應(yīng)的擴(kuò)大一倍第3頁/共62頁實(shí)型常量1.實(shí)型常量又稱浮點(diǎn)數(shù)常量,只使用十進(jìn)制,有兩種表示形式:

?

定點(diǎn)數(shù)形式由正負(fù)號(hào)、整數(shù)部分、小數(shù)點(diǎn)、小數(shù)部分組成例:0.0、12.34、0.123、.123、-123.0、-123.

?

指數(shù)形式由正負(fù)號(hào)、整數(shù)部分、小數(shù)點(diǎn)、小數(shù)部分、E(e)后帶或不帶正負(fù)號(hào)的整數(shù)組成合法:1e-5、-3.14157E+7、-28e-005、123.45E0

非法:E8、3E-5.6、.e2、4e、e2.實(shí)型常量不分單、雙精度,都按雙精度double型處理第4頁/共62頁字符常量1.字符常量是用一對(duì)單引號(hào)(作為定界符)括起來的一個(gè)字符,字符不能是單引號(hào)‘、雙引號(hào)“、反斜杠\。例如:

'A','a','5','?','+','!','$'。2.字符常量具有數(shù)值,即其ASCII代碼值。如:C='A';與C=65;等價(jià)。3.一種特殊的字符常量-轉(zhuǎn)義字符(見表3-1)

一對(duì)單引號(hào)括起來,里面是反斜線開頭,后跟一個(gè)字符,如'\n'。或反斜線開頭,后跟一個(gè)一到三位八進(jìn)制數(shù),或后跟一個(gè)一到二位x開頭的十六進(jìn)制數(shù)。第5頁/共62頁常用轉(zhuǎn)義字符符號(hào)ASCII值功能\ddd8進(jìn)制數(shù)表示的ASCII字符\xhh16進(jìn)制數(shù)表示的ASCII字符\a7響鈴\t9水平制表\n10換行\(zhòng)r13回車\b8退格\'39單引號(hào)\"34雙引號(hào)\\92反斜線\00空字符第6頁/共62頁字符串常量1.字符串常量一對(duì)雙引號(hào)括起來的字符系列。

例:"hello!","program","a",123.45"2.存儲(chǔ)形式字符串中的每個(gè)字符占一個(gè)字節(jié),在其尾部自動(dòng)追加一個(gè)字符'\0'

hello!\0

104101108108111330第7頁/共62頁符號(hào)常量符號(hào)常量即用一個(gè)特定的符號(hào)來代表一個(gè)常量

?

定義:#define符號(hào)常量常量(字符串)例:#defineR5.179

?

符號(hào)常量須“先定義,后使用”,一般用大寫字母例:#definePRICE35#defineNUM10 #defineSUMPRICE*NUMmain(){printf("total=%d\n",SUM);}

結(jié)果:total=350第8頁/共62頁3變量概念:在程序運(yùn)行過程中,其值能被改變的量。對(duì)所使用的變量要“先定義、后使用”(使用標(biāo)識(shí)符進(jìn)行定義),以便編譯時(shí)為其分配相應(yīng)的存儲(chǔ)單元。普通變量定義形式數(shù)據(jù)類型變量名表;例:inta,b;(定義兩個(gè)整數(shù))分類整型變量、實(shí)型變量、字符型變量變量初始化第9頁/共62頁C標(biāo)識(shí)符

用來標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、數(shù)組名、文件名的有效字符序列。標(biāo)識(shí)符必須由字母或下劃線開頭,后跟字母或下劃線或數(shù)字,字母區(qū)分大小寫。標(biāo)識(shí)符的長(zhǎng)度(字符個(gè)數(shù))無統(tǒng)一規(guī)定,隨系統(tǒng)而不同,一般只能識(shí)別前8個(gè)字符。選擇標(biāo)識(shí)符時(shí),提倡使用有意義的英文單詞,注意做到“見名知義”關(guān)鍵字是由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字,不允許作標(biāo)識(shí)符(見附錄)第10頁/共62頁整型變量數(shù)據(jù)類型所占位數(shù)數(shù)值范圍int,short16-32768~32767(-215~215-1)long[int]32-2147483648~2147483647(-231~231-1)unsignedint160~65535(0~216-1)unsignedshort160~65535(0~216-1)unsignedlong320~4294967295(0~232-1)數(shù)據(jù)類型說明符:int,short,longmain(){inta,b,s;scanf(“%d%d”,&a,&b);s=a+b;printf(“%d”,s);}輸入:1122輸出:33第11頁/共62頁實(shí)型變量main(){floatx,y;x=111111.111;y=222222.222;printf("%f\n",x+y);}

運(yùn)行結(jié)果為333333.328125數(shù)據(jù)類型所占位數(shù)數(shù)值范圍有效數(shù)字float3210-37~10386~7double6410-307~1030815~16longdouble12810-4931~10493218~19數(shù)據(jù)類型說明符:float,double第12頁/共62頁字符型變量?

一個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié)?

將一個(gè)字符常量賦值給一個(gè)字符變量,實(shí)際上是把該字符的ASCII代碼放到字符變量對(duì)應(yīng)的內(nèi)存單元中去?

字符數(shù)據(jù)與整型數(shù)據(jù)的存儲(chǔ)形式相類似,可以相互賦值或混合運(yùn)算,一個(gè)字符數(shù)據(jù)既可以以字符形式輸出,也可以整數(shù)形式輸出.數(shù)據(jù)類型說明符:char第13頁/共62頁

例1:main(){chara,b;a='a';b='b';printf("%c%c\n",a,b);printf("%d%d\n",a,b);}

例2:main(){inta;charb;a='a';b=98;printf("%c%c\n",a,b);printf("%d%d\n",a,b);}運(yùn)行結(jié)果:ab9798第14頁/共62頁變量初始化定義變量時(shí)僅為變量分配內(nèi)存,并不對(duì)這部分內(nèi)存進(jìn)行清空操作,分配作變量的內(nèi)存中的原值被保留,且其值無法確定。因此,變量在參與運(yùn)算前應(yīng)初始化,賦予初值,以免產(chǎn)生邏輯錯(cuò)誤。C語言規(guī)定,可以在定義變量的同時(shí)給變量賦初值。例如:inta=2,c=3;floatpi=3.14;charc1=‘a(chǎn)’,c2=‘9’;如果要對(duì)n個(gè)同類型的變量賦相同的初始值,也要分別賦值。 例如:inta=10,b=10,c=10;

inta=b=c=10;錯(cuò)誤!!!第15頁/共62頁4運(yùn)算符和表達(dá)式-1運(yùn)算符是告訴編譯程序執(zhí)行特定算術(shù)或邏輯操作的符號(hào)算術(shù)運(yùn)算符和算術(shù)表達(dá)式賦值運(yùn)算符和賦值表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式條件運(yùn)算符和條件表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式第16頁/共62頁4運(yùn)算符和表達(dá)式-2指針運(yùn)算符*sizeof運(yùn)算符位運(yùn)算符*不同類型數(shù)據(jù)之間的轉(zhuǎn)換運(yùn)算符優(yōu)先級(jí)和結(jié)合性表達(dá)式和表達(dá)式語句(如何按照條件寫表達(dá)式)第17頁/共62頁4.1算術(shù)運(yùn)算符1.加、減、乘、除和取余運(yùn)算符:+

、-、*、/、%除號(hào)/-當(dāng)兩個(gè)整型數(shù)相除時(shí),結(jié)果為整數(shù)(商的整數(shù)部分)

-

當(dāng)被除數(shù)和除數(shù)只要有一個(gè)是實(shí)型數(shù)時(shí),結(jié)果為實(shí)數(shù)的商。取余號(hào)%只能對(duì)整型數(shù)運(yùn)算。比如取整數(shù)的個(gè)位數(shù):53%10是3,取整數(shù)的十位數(shù)1253/10%10是5第18頁/共62頁2.自增、自減運(yùn)算符:++、--

?

用法

-前置運(yùn)算:++或--用在變量之前,先將變量的值增1或減1,再將該變量的新值用于表達(dá)式中

-后置運(yùn)算:++或--用在變量之后,先將變量的值用于表達(dá)式中,再將該變量的值增1或減1

例:i=5+j--;i=5+--j;

?

該運(yùn)算符只能用于變量,不能用于常量和表達(dá)式合法:i++;--j;i=(j++)*5;

非法:6--;i=(j*5)++;第19頁/共62頁

例1:main(){inta=5,c;

c=++a;/*a先增1,再運(yùn)算*/

c=c+a++;/*a先運(yùn)算,再增1*/

printf("a=%d\tc=%d\n",a,c);}

結(jié)果:a=7c=12*例2:執(zhí)行下列語句后,輸出結(jié)果是什么?main(){inta=10,b=20,c;c=++a+b--;printf("a=%d,b=%d,c=%d",a,b,c);}結(jié)果:a=11,b=19,c=31第20頁/共62頁算術(shù)表達(dá)式是用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(常量、變量和函數(shù)等)連接起來的、符合C語法規(guī)則的式子,如:

x++a+ba%bn/100%10

…第21頁/共62頁4.2賦值運(yùn)算符與賦值表達(dá)式1.基本賦值運(yùn)算符:=

?

由“=”連接的式子稱為賦值表達(dá)式。其一般形式為:變量=表達(dá)式功能是:計(jì)算右邊表達(dá)式的值再賦予左邊的變量。例如:

a=3b=i+++--jc=sin(x)+sin(y)

?

賦值運(yùn)算符具有右結(jié)合性。

a=b=c=1可理解為:

a=(b=(c=1))第22頁/共62頁2.復(fù)合賦值運(yùn)算符:

+=

、-=、*=、/=、%=(算術(shù)運(yùn)算)&=、|=、^=、>>=、<<=(位運(yùn)算)

?

復(fù)合賦值符是在賦值符“=”之前加上其它二目運(yùn)算符可構(gòu)成,執(zhí)行順序是:先運(yùn)算,再賦值。

?

復(fù)合賦值表達(dá)式的一般形式為:

變量雙目運(yùn)算符=表達(dá)式等價(jià)于:變量=變量雙目運(yùn)算符表達(dá)式

例如:

a+=5等價(jià)于a=a+5第23頁/共62頁x%=8等價(jià)于

x=x%8n&=m等價(jià)于n=n&mx*=y+7等價(jià)于x=x*(y+7)x<<=n+1等價(jià)于x=x<<(n+1)注:賦值號(hào)右邊是作為一個(gè)完整的表達(dá)式參加運(yùn)算例:

intx=6;

執(zhí)行x+=x-=x*x;后,x的值是?

*執(zhí)行x+=x-=x++;后,x的值是?-602第24頁/共62頁例:復(fù)合賦值運(yùn)算符示例#include"stdio.h"main(){inta=2,b=3,c=4;a*=b/=c-=a;printf("%d,%d,%d\n",a,b,c);a-=b*=c+=3;printf("%d,%d,%d\n",a,b,c);a=b=c=1;c=(a*=2)+(b+=3)+2;printf("%d\n",c);}運(yùn)行結(jié)果:

2,1,2-3,5,58第25頁/共62頁4.3關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.關(guān)系運(yùn)算符(比較運(yùn)算符)用于比較兩個(gè)表達(dá)式值的大小,有6種:

>、>=、<、<=、==、!=2.關(guān)系表達(dá)式

?

是用關(guān)系運(yùn)算符把兩個(gè)表達(dá)式聯(lián)系起來的式子

?

關(guān)系表達(dá)式成立,其值為真,用1代表;否則為假,用0代表。如inta=4,b=8;

則關(guān)系表達(dá)式a>b的值為0,而關(guān)系表達(dá)式a<b的值為1。第26頁/共62頁

這里的0和1是邏輯值,它可以作為判斷的條件,也可以和其它的關(guān)系表達(dá)式做邏輯運(yùn)算(與、或、非等),也可以和其它的算術(shù)表達(dá)式做算術(shù)運(yùn)算運(yùn)用關(guān)系表達(dá)式時(shí)的注意事項(xiàng)1

關(guān)系表達(dá)式中字符型數(shù)據(jù)按其ASCII碼值參加比較運(yùn)算

100<‘a(chǎn)’

值為0'3'>30值為12

運(yùn)算符兩邊的表達(dá)式可以是算術(shù)、字符、賦值、關(guān)系、或邏輯表達(dá)式。例:(a+x)>(b+y)(x=4)<=y++3關(guān)系運(yùn)算符運(yùn)算時(shí)結(jié)合方向自左至右。例:若a=4,b=3,c=2則

x=(a<b<c)x的值為1;y=(a>b>c)y的值為0。第27頁/共62頁4.4邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符用于對(duì)邏輯量進(jìn)行運(yùn)算,有3種:

&&邏輯與:操作數(shù)全真時(shí)結(jié)果才真否則為假

||邏輯或:操作數(shù)全假時(shí)結(jié)果為假真否則為真

!邏輯非:操作數(shù)取反

邏輯表達(dá)式是用邏輯運(yùn)算符聯(lián)系起來的表達(dá)式。如:

a&&b;a||b;!a;邏輯運(yùn)算符兩邊的操作數(shù)認(rèn)為是邏輯值。非0為真,0為假。邏輯表達(dá)式的結(jié)果也是邏輯值。真為1,假為0。第28頁/共62頁運(yùn)用邏輯表達(dá)式的注意事項(xiàng)判斷數(shù)值是否為真時(shí),非0代表真,0代表假邏輯運(yùn)算符兩側(cè)的操作數(shù)不僅可以是整數(shù),也可以是其他數(shù)據(jù)類型,只要該類型的數(shù)據(jù)值最終能得到0或非0值邏輯表達(dá)式中,不一定對(duì)邏輯運(yùn)算符兩側(cè)的表達(dá)式都求值(&&、||)數(shù)學(xué)上的數(shù)值區(qū)間不能直接用在C語言的判斷條件上

如:數(shù)學(xué)上的1<x≤10,不應(yīng)寫成:1<x<=10;

而應(yīng)寫成:(1<x)&&(x<=10)第29頁/共62頁例1:intx,y,z,w;x=y=z=-1;w=(++x||++y)&&++z;printf("%d,%d,%d,%d\n",x,y,z,w);

輸出是什么?注:&&

前的操作數(shù)值若是假,則后面的表達(dá)式無需運(yùn)算

||

前的操作數(shù)值若是真,則后面的表達(dá)式無需運(yùn)算0,0,-1,0第30頁/共62頁4.5條件運(yùn)算符和條件表達(dá)式條件運(yùn)算符(三目運(yùn)算符)?:

條件表達(dá)式的一般形式:表達(dá)式1?

表達(dá)式2:

表達(dá)式3條件表達(dá)式求值過程:注:三個(gè)表達(dá)式的類型可以不同;表達(dá)式1要能得到邏輯值;整個(gè)表達(dá)式值類型取表達(dá)式2和表達(dá)式3中較高的類型表達(dá)式1取表達(dá)式2值取表達(dá)式3值TF第31頁/共62頁例1:執(zhí)行下列程序段后,變量a,b,c的值和x,y的值分別是什么?

intx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;8,8,109,10第32頁/共62頁*例2:請(qǐng)寫出下列程序的運(yùn)行結(jié)果main(){intx=5,y=6; printf("%d\n",((++x==y++)||(x=8))?--x:--y); printf("%d,%d",x,y);}結(jié)果:55,7第33頁/共62頁4.6逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式又稱順序運(yùn)算符,用于把若干表達(dá)式組合成一個(gè)表達(dá)式,稱之為逗號(hào)表達(dá)式或順序表達(dá)式。如:3+5,7+9

?

逗號(hào)表達(dá)式的一般形式:

表達(dá)式1,表達(dá)式2,……,表達(dá)式n

表示由左到右依次計(jì)算各表達(dá)式之值,逗號(hào)表達(dá)式之值為表達(dá)式n之值。如:a=3*5,a*6之值為90第34頁/共62頁4.7指針運(yùn)算符*取址運(yùn)算符&

:取出內(nèi)存單元的地址例:p=&i;表示變量i

的地址賦給指針變量p,即指針p指向了變量i取內(nèi)容運(yùn)算符*:取出指針?biāo)赶虻淖兞康膬?nèi)容,例:

y=*p;

表示指針p指向的變量值賦給變量y*p=x;

表示變量x的值賦給指針?biāo)赶虻淖兞康?5頁/共62頁指針運(yùn)算符示例main(){ inta=10,b=8,c,d,*p1,*p2; p1=&a;p2=&b; c=*p1+*p2; d=*p1-*p2; printf("a+b=%d\n",c);printf("a-b=%d\n",d);}詳細(xì)的用法見指針一章第36頁/共62頁4.8sizeof運(yùn)算符功能:用于計(jì)算被運(yùn)算對(duì)象所占字節(jié)數(shù)使用格式:sizeof(數(shù)據(jù)類型)

或sizeof(表達(dá)式)例如:

?sizeof(double)值為8

?sizeof(char)

值為1

?floatf;inti,a[10];i=sizeof(f);i的值將為4i=sizeof(a);i的值將為20第37頁/共62頁4.9不同數(shù)據(jù)類型之間的轉(zhuǎn)換

不同數(shù)據(jù)類型的常量、變量混合運(yùn)算時(shí),要先轉(zhuǎn)換成同一類型后進(jìn)行運(yùn)算。轉(zhuǎn)換方法有兩種:1.自動(dòng)轉(zhuǎn)換表達(dá)式運(yùn)算時(shí)的轉(zhuǎn)換規(guī)則:longdouble高

doublefloatunsignedlongintlongintunsignedintintchar,shortint

低第38頁/共62頁例:10+'a'+i*f-d/eintcharfloatfloatdoublelongint

intfloatfloatdoubledouble第39頁/共62頁

?

賦值號(hào)兩邊的數(shù)據(jù)類型不同時(shí)的轉(zhuǎn)換規(guī)則:賦值號(hào)右邊的類型轉(zhuǎn)換成左邊的類型。當(dāng)右邊的數(shù)據(jù)類型比左邊長(zhǎng)時(shí),右邊的數(shù)據(jù)被截取所需的長(zhǎng)度。見示例2.強(qiáng)制轉(zhuǎn)換形式:(類型名)操作數(shù)其中操作數(shù)可以是常量、變量或表達(dá)式。例:floatx;(int)4.5/3值為1(int)x取變量x的整數(shù)部分

x-(int)x取變量x的小數(shù)部分第40頁/共62頁自動(dòng)類型轉(zhuǎn)換示例main(){ charc; inti; i=11361;/*0x2c61*/ c=i;/*0010110001100001*/ printf("%c%d%x",c,c,c);}

運(yùn)行結(jié)果:a9761第41頁/共62頁4.10運(yùn)算符的優(yōu)先級(jí)和結(jié)合性

?

優(yōu)先級(jí):操作數(shù)兩邊有兩個(gè)運(yùn)算符,首先參加優(yōu)先級(jí)高的運(yùn)算符一側(cè)的運(yùn)算。(附錄Ⅲ)?

結(jié)合性:操作數(shù)兩側(cè)的運(yùn)算符優(yōu)先級(jí)相同時(shí),C規(guī)定了各種運(yùn)算符的結(jié)合方向,即“自左至右”或“自右至左”。(附錄Ⅲ)即:運(yùn)算符的結(jié)合性是規(guī)定連續(xù)幾個(gè)相同優(yōu)先級(jí)的運(yùn)算符的計(jì)算順序。結(jié)合性為從左到右時(shí),計(jì)算就從左到右逐個(gè)進(jìn)行;結(jié)合性為從右到左時(shí),計(jì)算就從右到左逐個(gè)進(jìn)行。第42頁/共62頁

例1:y=2+3-4*5+65-20-15+6-9

例2:表達(dá)式a+b+c等價(jià)于(a+b)+c(左到右)表達(dá)式a=b=c等價(jià)于a=(b=c)(右到左)表達(dá)式*p++等價(jià)于*(p++)(右到左)表達(dá)式*++p等價(jià)于*(++p)(右到左)表達(dá)式++*p等價(jià)于++(*p)(右到左)第43頁/共62頁練習(xí):如何用C語言寫表達(dá)式邏輯或關(guān)系表達(dá)式 判斷某一年是否是閏年整數(shù)x大于y且小于等于z一個(gè)整數(shù)是偶數(shù)但不能被3整除寫表達(dá)式表示一個(gè)字符是一個(gè)數(shù)字寫表達(dá)式表示一個(gè)字符是一個(gè)字母數(shù)學(xué)表達(dá)式寫一個(gè)表達(dá)式使得一個(gè)小數(shù)x四舍五入寫一個(gè)表達(dá)式使得一個(gè)小數(shù)x在小數(shù)點(diǎn)后第三位四舍五入分別寫表達(dá)式描述一個(gè)整數(shù)n的個(gè)位數(shù)、十位數(shù)。。。寫出下面的代數(shù)式表達(dá)式表達(dá)式:用運(yùn)算符將運(yùn)算對(duì)象連接起來得式子表達(dá)式語句:表達(dá)式以分號(hào)結(jié)束稱為表達(dá)式語句第44頁/共62頁5輸入輸出函數(shù)在C語言中,所有的數(shù)據(jù)輸入/輸出都是由庫函數(shù)完成的。使用C語言庫函數(shù)時(shí),要用預(yù)編譯命令#include將有關(guān)“頭文件”包括到源文件中。使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時(shí)要用到"stdio.h"文件,因此源文件開頭應(yīng)有以下預(yù)編譯命令:

#include<stdio.h>或#include"stdio.h"

對(duì)于下面介紹的printf和scanf函數(shù),考慮到其使用頻繁,系統(tǒng)允許在使用這兩個(gè)函數(shù)時(shí)可不加上述預(yù)編譯命令第45頁/共62頁5.1格式輸入和輸出函數(shù)1.格式輸出函數(shù)printf()

?

功能:向顯示器輸出信息

?

使用形式:

printf("輸出格式",輸出表列);

輸出格式可由三部分組成:

格式說明、按原樣輸出的字符、轉(zhuǎn)義字符

輸出表列是需要輸出的一些數(shù)據(jù),可以是表達(dá)式例:inta=123;

printf("a=%d\n",a);第46頁/共62頁

有多個(gè)輸出數(shù)據(jù),則:-輸出表列中各輸出間用逗號(hào)分隔-格式說明與輸出數(shù)據(jù)的個(gè)數(shù)相同且一一對(duì)應(yīng),注意左右對(duì)齊符號(hào)

如:inti=-5;

floatj=98;

printf("i=%d

,

j=%-10.2f\n",I

,

j);

printf("i=%d

,

j=%10.2f\n",I

,

j);

輸出為:i=-5,j=98.00

i=-5,j=98.00第47頁/共62頁例1:

main(){

inta=345,b=-1;floatv=3.1.415;floatu=3.1416; printf("a=%d,%x,%o\n",a,a,a); printf("b=%u\n",b);printf(“%.3f,%6.3f,%-6.3f”,v,v,v,v);printf(“%f,%.3f,%6.3f,%-6.3f”,u,u,u,u);}

結(jié)果為:

a=345,159,531b=65535

3.141,3.141,3.1413.141600,3.142,3.142,3.142

/*進(jìn)位問題*/第48頁/共62頁例2:main(){printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");}

結(jié)果為:

CHINA,

CH,CHIN,CHI

說明:當(dāng)指定的輸出寬度小于輸出值本身寬度時(shí),則指定的輸出寬度不起作用,比如上面%3s的格式規(guī)定,但仍然輸出字符串CHINA第49頁/共62頁2.格式輸入函數(shù)scanf()

?

功能:從鍵盤接受輸入信息

?

使用形式:scanf("輸入格式",地址表列);

輸入格式可由二部分組成:

格式說明、按原樣輸入的字符格式說明和輸出函數(shù)中的輸出格式相似。

地址表列由需輸入的變量的地址,或字符串首地址列表組成。如:inti; scanf("%d",&i);

運(yùn)行時(shí)輸入:14第50頁/共62頁有多個(gè)數(shù)據(jù)輸入,則:寫語句時(shí):

-地址表列中各輸入變量間用逗號(hào)分隔

-格式說明與輸入變量的個(gè)數(shù)相同且一一對(duì)應(yīng)

-執(zhí)行輸入語句需要輸入數(shù)據(jù)時(shí): 數(shù)據(jù)之間以一個(gè)或多個(gè)空格分隔比如:inti,j; scanf("%d%d",&i,&j);

運(yùn)行時(shí)輸入:34

當(dāng)雙引號(hào)中有按原樣輸入的字符,輸入時(shí)應(yīng)按原

樣鍵入。

如:scanf("a=%d,b=%d",&a,&b);

運(yùn)行時(shí)輸入:a=3,b=4第51頁/共62頁用"%c"格式輸入字符,則空格和轉(zhuǎn)義字符都作為有效字符輸入如:scanf("%c%c%c",&c1,&c2,&c3);

運(yùn)行時(shí)應(yīng)輸入:abc

不應(yīng)輸入:abc

('a'賦給c1,''賦給c2,'b'賦給c3)輸入實(shí)數(shù)時(shí),不能規(guī)定精度。如:scanf(“%7.2f”,&a);不允許。下面情形之一發(fā)生時(shí)scanf語句對(duì)當(dāng)前變量的讀操作結(jié)束1遇到空格,回車或制表鍵2寬度限制3不合法不匹配的輸入不合法不匹配的輸入將導(dǎo)致不正確的結(jié)果第52頁/共62頁例1:假設(shè)輸入12345,abc,寫出下面程序的運(yùn)行結(jié)果main(){ inta; charch; scanf(“%3d%3c”,&a,&ch); printf(“%d,%c”,a,ch);}?例2:有如下語句

scanf(“%d%c%f”,&a,&b,&c);若輸入2223a123o.12,那么a,b,c的值分別是什么?若輸入a2223asdf34,那a,b,c的值又分別是什么?

123,42223,a,123.000123第53頁/共62頁5.2字符輸入輸出函數(shù)1.字符輸出函數(shù)putchar()

?

常用形式:putchar(c)c可以是字符型和整型量,包括轉(zhuǎn)義字符。

?

功能:向終端(顯示器)輸出一個(gè)字符。如:#include"stdio.h"main(){chara;a='b

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論