




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)——第2章簡單C程序設(shè)計(jì)
C語言標(biāo)識符命名規(guī)則
C語言關(guān)鍵字
C語言常量與變量本章主要內(nèi)容提示常用表達(dá)式與優(yōu)先級
輸入輸出函數(shù)本章學(xué)習(xí)目標(biāo)知識目標(biāo)掌握C語言標(biāo)識符命名規(guī)則熟記C語言關(guān)鍵字正確理解C語言常量與變量掌握C語言數(shù)據(jù)類型及轉(zhuǎn)換掌握常用表達(dá)式與優(yōu)先級熟練使用輸入輸出函數(shù)能力目標(biāo)正確定義常量與變量能根據(jù)要求正確輸入數(shù)據(jù)、輸出結(jié)果分析問題并根據(jù)要求正確編寫簡單程序
【學(xué)習(xí)提示】第1章中,我們已經(jīng)初步了解C語言程序設(shè)計(jì)的有關(guān)概念,對C語言程序的總體結(jié)構(gòu)有了一定認(rèn)識,同時(shí)也分析了幾個(gè)簡單的C語言程序??梢钥闯觯捎贸绦蛟O(shè)計(jì)語言解決實(shí)際問題時(shí),需要考慮:使用哪些類型的數(shù)據(jù)?如何處理?2.1C語言標(biāo)識符與關(guān)鍵字
C語言基本字符
字符是組成語言的最基本的元素。C語言字符集由字母,數(shù)字,空格,標(biāo)點(diǎn)和特殊字符組成。在字符常量,字符串常量和注釋中還可以使用漢字或其它可表示的圖形符號。C語言的基本字符包括:1.字母 小寫字母a~z共26個(gè)大寫字母A~Z共26個(gè)2.數(shù)字0~9共10個(gè)3.空白符4.標(biāo)點(diǎn)和特殊字符其它可打印字符,如:!#@&*%+-=等2.1.2C語言標(biāo)識符
一、C語言標(biāo)識符在程序中表示變量名、函數(shù)名、符號常量名、數(shù)組名、文件名等有效字符序列等統(tǒng)稱為標(biāo)識符。C語言標(biāo)識符分為兩類:標(biāo)準(zhǔn)標(biāo)識符和用戶定義標(biāo)識符。二、C語言標(biāo)識符命名遵守如下規(guī)則:標(biāo)識符只能由字母、數(shù)字、下劃線組成。標(biāo)識符不能以數(shù)字開頭。C語言的保留字不可作用戶自定義標(biāo)識符。C語言對大小寫敏感,如student與Student是兩個(gè)不同標(biāo)識符。標(biāo)識符有效長度因系統(tǒng)不同而異,但至少前8個(gè)字符有效2.1.3C語言關(guān)鍵字
在C語言中,有些字符串在系統(tǒng)中有特定的含義與名稱,在程序中不能用于其它目的,我們將這些特殊字符串稱為關(guān)鍵字,或稱為C語言保留字。C語言關(guān)鍵字共32個(gè)
autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaicstructswitchtypedefunionunsignedvoidvolatitlewhile2.2C語言程序中數(shù)據(jù)類型及常量與變量
數(shù)據(jù)類型程序、算法處理的對象是數(shù)據(jù)。數(shù)據(jù)以某種特定的形式存在。數(shù)據(jù)的類型簡稱數(shù)據(jù)類型。例如,整型數(shù)據(jù)、實(shí)型數(shù)據(jù)、整型數(shù)組類型、字符數(shù)組類型。
不同類型數(shù)據(jù),具有不同的精度,因此占用的計(jì)算機(jī)內(nèi)存大小也不同,如整型數(shù)據(jù)占2個(gè)字節(jié)內(nèi)存,單精度實(shí)型占4個(gè)字節(jié),雙精度實(shí)型占8個(gè)字節(jié)內(nèi)存。正確選擇數(shù)據(jù)類型非常重要,數(shù)據(jù)類型選擇不當(dāng),可能造成計(jì)算中的錯(cuò)誤,如數(shù)據(jù)溢出等。正確數(shù)據(jù)類型總是和具體的常量或變量聯(lián)系在一起的。
C語言的數(shù)據(jù)類型整型字符型浮點(diǎn)型(實(shí)型)枚舉類型單精度型雙精度型數(shù)組類型結(jié)構(gòu)類型共用體類型基本類型構(gòu)造類型空類型指針類型數(shù)據(jù)類型C語言基本數(shù)據(jù)類型與取值范圍
(不同C語言標(biāo)準(zhǔn)可能有差異)數(shù)據(jù)類型與名稱類型標(biāo)識符占內(nèi)存字節(jié)取值范圍字符型char1ASCII碼表內(nèi)字符(0-127)整型int2-32768~32767長整型long4-2147438648~2147438648浮點(diǎn)型float4±3.4E38雙精度型double8±1.7E3082.2.2常量與變量
1.常量所謂常量,指程序執(zhí)行中其值不變的量。C語言中,常量分為普通常量和符號常量。普通常量分為數(shù)值常量,如128,835.6;字符常量用單引號,如’a’,S’;字符串常量用雙引號表示,如“Hello”,”world”;2.變量
其值可以改變的量稱為變量。一個(gè)變量應(yīng)該有一個(gè)名字,在內(nèi)存中占據(jù)一定的存儲單元。變量定義必須放在變量使用之前。一般放在函數(shù)體的開頭部分。變量名和變量值是兩個(gè)不同的概念。變量聲明(定義):語法:變量聲明變量表;
舉例:intx,y,z;(多個(gè)變量用“,”號隔開,但必須以“;”結(jié)束。(在C語言程序中所有標(biāo)點(diǎn)符號必須在英文格式下輸入)變量的初始化變量定義后,就可以給變量賦值,這個(gè)過程叫變量的初始化。也可以在變量定義同時(shí)進(jìn)行賦值。變量類型變量是存放常量值(數(shù)據(jù))的,常量(數(shù)據(jù))有類型之分,因而變量也有類型之分,變量類型是來確定其變量存儲空間的長度和存儲格式。原因類型說明一般格式:類型名變量名表;舉例:inti,j,I,count;shorta=‘y’,b;longl1,l2;unsignedn1,n2;charc1,c2,c3;floatx1,x2;doublew,y,z1,z2;注明變量必需先定義,后使用。變量分類整形變量浮點(diǎn)變量字符變量例如:intx;doubley;x=68;y=132.8;或intx=68;doubley=132.8;兩種初始化結(jié)果相同。
【例2-1】整型變量定義與使用#include<stdio.h>voidmain(){inta,b,c,d;/*定義變量a,b,c,d為整型*/unsigneds;/*定義變量s為無符號整型變量*/a=20;b=-28;s=10/*給變量賦值*/c=a+s;d=b+s;;/*空語句*/printf(“a+s=%d,b+s=%d\n”,c,d)/*輸出計(jì)算結(jié)果*/}2.3常用運(yùn)算符與表達(dá)式
C語言運(yùn)算符豐富,可以把除了控制語句和輸入/輸出以外的幾乎所有基本操作都作為運(yùn)算符處理,所以C語言運(yùn)算符可以看作是操作符。C語言中提供一般高級語言的算術(shù)、關(guān)系、邏輯運(yùn)算符外,還提供賦值符運(yùn)算符,位操作運(yùn)算符、自增自減運(yùn)算符等。因此,C語言運(yùn)算符類型全、表達(dá)式豐富、靈活。
學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級別結(jié)合方向結(jié)果的類型C語言常見運(yùn)算與運(yùn)算符運(yùn)算類型運(yùn)算符運(yùn)算符含義結(jié)合關(guān)系算術(shù)運(yùn)算+-×÷/%加、減、乘、除、整除、取余自左至右關(guān)系運(yùn)算<>>=<===!=比較兩個(gè)表達(dá)式的大小自左至右邏輯運(yùn)算!&&||非與或自左至右自增、自減運(yùn)算++--變量自加(減)1;例++i,i--自右至左賦值運(yùn)算=+=-=*=/=給變量賦值;例x=8;x+=y;自右至左條件運(yùn)算?:根據(jù)比較結(jié)果,選擇運(yùn)算表達(dá)式自右至左逗號運(yùn)算,順序求值運(yùn)算自左至右指針*定義指針;例int*P;自右至左取地址運(yùn)算&取變量地址運(yùn)算自右至左
算術(shù)運(yùn)算和算術(shù)表達(dá)式
C語言算術(shù)運(yùn)算包括基本算術(shù)運(yùn)算、模運(yùn)算、自增、自減運(yùn)算等。算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號將運(yùn)算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,稱為算術(shù)表達(dá)式。運(yùn)算對象可以是常量、變量、函數(shù)等。C語言編寫數(shù)學(xué)公式
【注意事項(xiàng)】(1)乘號不可省略,必須用“*”運(yùn)算符表示乘法運(yùn)算;(2)分子、分母必須寫在同一行;(3)特殊運(yùn)算,如指數(shù)、開方運(yùn)算必須用C語言提供的庫函數(shù)書寫;(4)適當(dāng)使用圓括號可以避免表達(dá)式歧義;模運(yùn)算(取余運(yùn)算)與除法運(yùn)算比較
模運(yùn)算的格式為m%n,通常我們可以讀作m對n取余數(shù)。模運(yùn)算的兩個(gè)數(shù)都必須是整數(shù),運(yùn)算結(jié)果為去掉整數(shù)商,保留余數(shù)(余數(shù)一定小于n)。例如:3%5=3,5%3=2;8%8=0,15%6=3;而除法運(yùn)算中,如果是兩個(gè)整數(shù)相除,結(jié)果一定是整數(shù)。例如:7/2=3299/100=2,但是,7.0/2=3.5299.0/100.0=2.99即:m=(m/n)*n+(m%n)自增、自減運(yùn)算自增、自減運(yùn)算,又稱為自動(dòng)加“1”、自動(dòng)減“1”運(yùn)算。符號為++、--。該運(yùn)算為單目運(yùn)算(只有一個(gè)操作數(shù)),且是右結(jié)合,初學(xué)者理解容易出錯(cuò)。使用形式(以變量i為例,分前綴與后綴)++ii自增1后再參與其它運(yùn)算。--ii自減1后再參與其它運(yùn)算。i++i參與運(yùn)算后,i的值再自增1。i--i參與運(yùn)算后,i的值再自減1。自增、減運(yùn)算符只用于變量,而不能用于常量或表達(dá)式。8++,(x+y)++,(-i)++都不合法
自增、自減運(yùn)算符常用于循環(huán)語句中,使循環(huán)變量自動(dòng)加1,也用于指針變量,使指針指向下一個(gè)地址?!纠?-2】自增、自減運(yùn)算voidmain(){inti=8;printf("%d\n",++i);printf("%d\n",--i);printf("%d\n",i++);printf("%d\n",i--);printf("%d\n",-i++);printf("%d\n",-i--);}程序舉例
main(){inta,b,c;a=b=c=0;a=++b+(++c);printf("%d,%d,%d\n",a,b,c);a=(b++)+c++;printf("%d,%d,%d\n",a,b,c);a=(++b)+c++;printf("%d,%d,%d\n",a,b,c);a=(b--)+(--c);printf("%d,%d,%d\n",a,b,c);++c;a=2*(++c);printf("a=%d\n",a);}a=2;b=1;c=1a=2;b=2;c=2a=5;b=3;c=3a=5;b=2;c=2a=2;b=2;c=3a=8;b=2;c=42.3.3賦值運(yùn)算符與賦值表達(dá)式
1.賦值運(yùn)算符:賦值符號“=”就是賦值運(yùn)算符。【注意】賦值符號“=”不同于數(shù)學(xué)的等號,它沒有相等的含義,在C語言中“==”表示相等。2.賦值表達(dá)式:由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式。一般形式:〈變量〉〈賦值符〉〈表達(dá)式〉賦值表達(dá)式的求解過程:將賦值運(yùn)算符右側(cè)的表達(dá)式的值賦給左側(cè)的變量3.復(fù)合賦值運(yùn)算在賦值符“=”之前加上某些運(yùn)算符,可以構(gòu)成復(fù)合賦值運(yùn)算符C語言中許多雙目運(yùn)算符可以與賦值運(yùn)算符一起構(gòu)成復(fù)合運(yùn)算符,即:+=,-=,*=,/=,%=復(fù)合賦值表達(dá)式一般形式:<變量><雙目運(yùn)算符>=<表達(dá)式>等價(jià)于:<變量>=<變量><雙目運(yùn)算符><表達(dá)式>復(fù)合賦值運(yùn)算符舉例
分析x=y=z=3+5這個(gè)表達(dá)式。根據(jù)優(yōu)先級:原式
x=y=z=(3+5);根據(jù)結(jié)合性(從右向左):
x=(y=(z=(3+5)))
x=(y=(z=3+5)復(fù)合運(yùn)算符表達(dá)式等價(jià)表達(dá)式復(fù)合運(yùn)算符表達(dá)式等價(jià)表達(dá)式+=y+=x+5y=y+(x=5)/=y/=x+5y=y/(x+5)-=y-=x+5y=y-(x+5)%=Y%=x+5y=y%(x+5)*=y*=x+5y=y*(x+5)2.3.4關(guān)系運(yùn)算與關(guān)系表達(dá)式
“關(guān)系運(yùn)算”就是“比較運(yùn)算”。即將兩個(gè)值進(jìn)行比較,判斷是否符合或滿足給定的條件。如果符合或滿足給定的條件,則稱關(guān)系運(yùn)算的結(jié)果為“真”;如果不符合或不滿足給定的條件,則稱關(guān)系運(yùn)算的結(jié)果為“假”。
關(guān)系運(yùn)算符關(guān)系運(yùn)算符包括:<、<=、>、>=、==、!=關(guān)系運(yùn)算符優(yōu)先級:
前4種關(guān)系運(yùn)算符的優(yōu)先級別相同,后兩種也相同。前4種高于后兩種。關(guān)系運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符但高于賦值運(yùn)算符
例如:c>a+b等價(jià)于c>(a+b);a=b>c等價(jià)于a=(b>c關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(算術(shù)、關(guān)系、邏輯、賦值表達(dá)式等)連接起來所構(gòu)成的表達(dá)式,稱為關(guān)系表達(dá)式。關(guān)系運(yùn)算的一般形式:
表達(dá)式關(guān)系運(yùn)算符表達(dá)式關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”。舉例:設(shè)a=3,b=7,c=5,d=4,判斷下面各表達(dá)式值①a>b;②a+b>c+d(提示:等價(jià)與(a+b)>(c+d));③a*c<=b+d;④c!=d;關(guān)系表達(dá)式優(yōu)先級與結(jié)合方向c>a+b//c>(a+b)a>b!=c//(a>b)!=ca==b<c//a==(b<c)a=b>c//a=(b>c)例inta=3,b=2,c=1,d,f;a>b(a>b)==cb+c<ad=a>bf=a>b>c//表達(dá)式值0//表達(dá)式值1//表達(dá)式值1//d=1//f=0<<=>>===!=優(yōu)先級6(高)優(yōu)先級7(低)結(jié)合方向:自左向右優(yōu)先級別:如下2.3.5邏輯運(yùn)算符和邏輯表達(dá)式
邏輯表達(dá)式:用邏輯運(yùn)算符(邏輯與、邏輯或、邏輯非)將關(guān)系表達(dá)式或邏輯量連接起來構(gòu)成邏輯表達(dá)式。邏輯運(yùn)算符及其優(yōu)先順序
C語言提供三種邏輯運(yùn)算符:(1)&&邏輯與(相當(dāng)日常生活中:而且,并且,只在兩條件同時(shí)成立時(shí)為“真”)(2)||邏輯或(相當(dāng)日常生活中:或,兩個(gè)條件只要有一個(gè)成立時(shí)即為“真”)(3)!邏輯非(條件為真,運(yùn)算后為假,條件為假,運(yùn)算后為真)邏輯表達(dá)式的一般形式為:
表達(dá)式邏輯運(yùn)算符表達(dá)式。邏輯表達(dá)式值計(jì)算舉例舉例a=1b=2x=1.5y=3.5下列邏輯表達(dá)式值分別為:(a>b)&&(x>y)(邏輯表達(dá)式值為0,因?yàn)椋╝>b)的值為0)(a==b)||(x!=y)(邏輯表達(dá)式值為1,因?yàn)?x!=y)值為1)a>b&&x>y等價(jià)于(a>b)&&(x>y),邏輯表達(dá)式值為0【注意】如果有多個(gè)表達(dá)式進(jìn)行“邏輯與”運(yùn)算,只要有一個(gè)邏輯表達(dá)式為“0”,結(jié)果一定是“0”,可以不在進(jìn)行后面表達(dá)式計(jì)算。反之,在“邏輯或”運(yùn)算中,只要有一個(gè)表達(dá)式為“1”,結(jié)果一定是“1”。2.3.6條件運(yùn)算符與條件表達(dá)式條件運(yùn)算符組成條件表達(dá)式的一般形式為:條件表達(dá)式1?表達(dá)式2:表達(dá)式3求值規(guī)則為:如果表達(dá)式1的值為真,則以表達(dá)式2的值作為條件表達(dá)式的值,否則以表達(dá)式3的值作為整個(gè)條件表達(dá)式的值。
舉例:x=y>7?25:50,如果y的值大于7,則x賦值25,否則x賦值50;a>b?a:c>d?c:d等價(jià)與:(a>b)?a:((c>d)?c:d)2.3.7逗號表達(dá)式用逗號連接起來的表達(dá)式稱為逗號表達(dá)式。一般形式:表達(dá)式1,表達(dá)式2,…表達(dá)式n逗號表達(dá)式的求解過程是:自左向右,求解表達(dá)式1,求解表達(dá)式2,…,求解表達(dá)式n。整個(gè)逗號表達(dá)式的值是表達(dá)式n的值。
例:a=3*5,a*4整個(gè)逗號表達(dá)式值為60a=3*5,a*4,a+5整個(gè)逗號表達(dá)式值為20,a的值為152.3.8運(yùn)算符優(yōu)先級與結(jié)合方向
C語言中,運(yùn)算符的運(yùn)算優(yōu)先級共分為15級。1級最高,15級最低。在表達(dá)式中,優(yōu)先級較高的先于優(yōu)先級較低的進(jìn)行運(yùn)算。而在一個(gè)運(yùn)算量兩側(cè)的運(yùn)算符優(yōu)先級相同時(shí),則按運(yùn)算符的結(jié)合性所規(guī)定的結(jié)合方向處理,關(guān)于運(yùn)算符的優(yōu)先級與結(jié)合順序,在附錄中詳細(xì)說明,現(xiàn)簡單歸納如下:圓括號優(yōu)先級最高;單目運(yùn)算優(yōu)先級高于雙目運(yùn)算;算術(shù)運(yùn)算優(yōu)先級高于比較運(yùn)算;比較運(yùn)算優(yōu)先級高于邏輯運(yùn)算;逗號運(yùn)算最低,賦值運(yùn)算次之;同一優(yōu)先級按照結(jié)合性確定優(yōu)先順序;2.4輸入、輸出函數(shù)及應(yīng)用
C語言本身不提供輸入/輸出語句,輸入/輸出操作由函數(shù)實(shí)現(xiàn)。在C標(biāo)準(zhǔn)函數(shù)庫中提供了一些輸入/輸出函數(shù),如printf()函數(shù),scanf()函數(shù)關(guān)鍵字最后的字母f是英文單詞format的首字母,表示格式的意思,指按照用戶指定格式將數(shù)據(jù)輸入、輸出到顯示器屏幕上。2.4.1數(shù)據(jù)格式化輸出函數(shù)printf()
printf()函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個(gè)特例,不要求在使用printf函數(shù)之前必須包含stdio.h文件。printf函數(shù)調(diào)用的一般形式為:
printf(“格式控制字符串”,輸出表列);
(“;”號不可遺漏)輸出格式說明
在語句printf(“a=%d,b=%d”,a,b);中“%d”就是格式說明,表示數(shù)據(jù)按照十進(jìn)制格式輸出。不同類型數(shù)據(jù)用不同格式字符。printf(“a=%db=%f”,a,b);函數(shù)名格式說明輸出表列普通字符格式說明:由%和格式字符構(gòu)成
普通字符:需原樣輸出的字符,可為轉(zhuǎn)義字符轉(zhuǎn)義字符說明在語句printf(“%d%d\n”,a,b);“\n”稱為轉(zhuǎn)義符,在此表示輸出后換行。轉(zhuǎn)義字符以反斜線"\"開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。除“\n”外,“\t”表示橫向跳格(下一輸出區(qū)),“\r”表示回車,“\b”表示退格。輸出格式字符格式字符含義格式字符含義%d帶符號十進(jìn)制整數(shù)%s輸出字符串%o無符號八進(jìn)制整數(shù)%f輸出含小數(shù),隱含輸出6位小數(shù)%x無符號十六進(jìn)制整數(shù)%e以指數(shù)形式輸出%u無符號十進(jìn)制整數(shù)%g%f或%e中輸出寬度短的一個(gè)%c輸出單個(gè)字符附加格式說明字符printf函數(shù)可以指定輸出數(shù)據(jù)類型外,還可以通過附加格式說明指定輸出數(shù)據(jù)的字段寬度、精度、對齊方式,附加格式說明字符含義如下,在具體應(yīng)用中加以領(lǐng)會。格式字符%±m(xù).nh/l[開始符][標(biāo)志字符][寬度指示符][精度指示符][長度修正符][格式轉(zhuǎn)換符]【例2-3】輸出函數(shù)應(yīng)用voidmain(){inta=88,b=89;/*定義整型變量a、b并賦值*/printf("%d%d\n",a,b);/*按照整數(shù)格式輸出a、b值*/printf("%d,%d\n",a,b);/*增加非格式符號“,”輸出a、b值*/printf("%c,%c\n",a,b);/*按照字符格式輸出*/printf("a=%d,b=%d",a,b);/*增加非格式字符,進(jìn)一步說明并輸出a、b值*/}運(yùn)行結(jié)果888988,89X,Ya=88,b=89程序舉例#include<stdio.h>main(){ floatf1=100.15799,f2=12.55,f3=1.7; intn1=123,n2=45,n3=6; printf("printfWITHOUTwidthorprecision specifications:\n"); printf("%f\n%f\n%f\n",f1,f2,f3); printf("%d\n%d\n%d\n",n1,n2,n3);
printf("printfWITHwidthandprecision specifications:\n"); printf("%5.2f\n%6.1f\n%3.0f\n",f1,f2,f3); printf("%5d\n%6d\n%3d\n\n",n1,n2,n3);}不同輸出格式比較
voidmain(){inta=29;floatb=1243.2341;doublec=24212345.24232;chard='h';printf("a=%d,%5d,%o,%x\n",a,a,a,a);printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);printf("c=%lf,%f,%8.4lf\n",c,c,c);printf("d=%c,%8c\n",d,d);}運(yùn)行結(jié)果:a=29,29,35,1db=1243,234131,1243,234131,1243,2341,1.24323e+03c=242122345.242320,24212345.242320,24212345.2423d=h,h2.4.2格式化輸入函數(shù)scanf()
scanf()函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中,與printf函數(shù)相同,作用是從輸入設(shè)備讀取各種格式、各種類型的數(shù)據(jù)。scanf函數(shù)的一般形式:
scanf(格式控制字符串,地址列表)其中:格式控制字符串的含義與printf類似,它指定輸入數(shù)據(jù)項(xiàng)的類型和格式。地址列表是由若干個(gè)地址組成的列表,可以是變量的地址(&變量名)或字符串的首地址。非格式字符格式說明例如:scanf(“%d,%f”,&a,&b);地址表列
注意格式說明與輸入變量之間的對應(yīng)關(guān)系:個(gè)數(shù)與類型使用scanf函數(shù)還必須注意事項(xiàng):使用scanf函數(shù)還必須注意以下幾點(diǎn):a.scanf()函數(shù)中沒有精度控制,如:scanf("%5.2f",&a);是非法的。b.scanf中要求給出變量地址,如給出變量名則會出錯(cuò)。如scanf("%d",a);是非法的,應(yīng)改為scnaf("%d",&a);才是合法的。c.在輸入多個(gè)數(shù)值數(shù)據(jù)時(shí),若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔則可用空格,TAB或回車作間隔。d.在輸入字符數(shù)據(jù)時(shí),若格式控制串中無非格式字符,則認(rèn)為所有輸入的字符均為有效字符?!纠?-5】分析程序,正確輸入數(shù)據(jù),寫出輸出結(jié)果#include"stdio.h"voidmain(){inta,b,c;printf("inputa,b,c\n");scanf("a=%d,b=%d,c=%d",&a,&b,&c);printf("*****a=%d,b=%d,c=%d****",a,b,c);}運(yùn)行結(jié)果inputa,b,ca=66,b=77,c=88****a=66,b=77,c=88*****
2.4.3其它輸入、輸出函數(shù)
1.putchar函數(shù)(字符輸出函數(shù))一般形式:putchar(字符表達(dá)式);功能:向終端(顯示器)輸出一個(gè)字符(可以是可顯示的字符,也可以是控制字符或其它轉(zhuǎn)義字符)。2.getchar函數(shù)(字符輸入函數(shù))一般形式:c=getchar();功能:從終端(鍵盤)輸入一個(gè)字符,以回車鍵確認(rèn)。函數(shù)的返回值就是輸入的字符。
3.puts函數(shù)(字符串、字符數(shù)組中字符串輸出函數(shù))一般形式:puts(char*str);功能:將字符串或字符數(shù)組中存放的字符串輸出到顯示器上。例如:putstr(“China\nBeijing\n”);4.gets函數(shù)(字符串輸入函數(shù))一般形式:gets(char*str);功能:接收從鍵盤輸入的一個(gè)字符串,存放在字符數(shù)組中。#include<stdio.h>main(){
charch;
printf("PressakeyandthenpressEnter:"); ch=getchar();
printf("Youpressed");
putchar(ch);
putchar('\n');}舉例:運(yùn)行程序PressakeyandthenpressEnter:A↙YoupressedA2.5簡單C程序設(shè)計(jì)
編寫一個(gè)求解一元二次方程根的程序問題分析:相關(guān)公式:一元二次方程為ax2+bx+c=0(假定b2-4ac>0)在b2-4ac>0條件下,方程有兩個(gè)不等的實(shí)根輸入量:一元二次方程的系數(shù),方程的系數(shù)可以是整數(shù),也可以是實(shí)數(shù)。函數(shù)使用:計(jì)算平方根的函數(shù),輸入、輸出函數(shù)。輸出量:方程的根。中間變量:為簡化程序,將重復(fù)使用的中間結(jié)果用變量表示。提示信息:增加程序友好性,在輸入輸出過程中給予必要的提示信息
算法設(shè)計(jì):定義變量a、b、c、p、q、x1、x2計(jì)算中間變量p、q的值輸入a、b、c的值計(jì)算方程根顯示求解結(jié)果源代碼
#include<stdio.h>#include<math.h>voidmain(){floata,b,c,disc,p,q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保小提琴制作技術(shù)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 網(wǎng)絡(luò)安全及數(shù)據(jù)保護(hù)律師培訓(xùn)
- 財(cái)務(wù)顧問服務(wù)合同協(xié)議書
- 企事業(yè)單位屋頂綠化草坪種植與維護(hù)合同
- 老年護(hù)理不良事件處理及工作流程
- 建筑垃圾處理場地咨詢服務(wù)合同范本
- 車輛抵押貸款合同電子合同簽署及認(rèn)證協(xié)議
- 生態(tài)農(nóng)業(yè)觀光園租賃經(jīng)營協(xié)議
- 產(chǎn)業(yè)園區(qū)場地借用與企業(yè)入駐合作協(xié)議
- 成都二手房交易中房屋質(zhì)量問題鑒定與維修合同
- 醫(yī)院處方箋-模板
- 【渝人發(fā)〔2008〕2號】重慶市事業(yè)單位崗位設(shè)置管理實(shí)施辦法(試行)
- 物流信息技術(shù)課程
- Q∕GDW 10354-2020 智能電能表功能規(guī)范
- 公安局凍結(jié)解除凍結(jié)存款匯款通知書
- (高清正版)JJF 1908-2021 雙金屬溫度計(jì)校準(zhǔn)規(guī)范
- 硬式內(nèi)窺鏡項(xiàng)目計(jì)劃書_模板范本
- 最新防雷設(shè)施檢測報(bào)告范本
- 上海初中科學(xué)會考知識點(diǎn)匯總——七年級第一學(xué)期牛津
- 計(jì)算機(jī)辦公軟件應(yīng)用培訓(xùn)教學(xué)計(jì)劃
- 專業(yè)技術(shù)人員年度情況考核登記表
評論
0/150
提交評論