




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章數(shù)據(jù)類型、運(yùn)算符與表達(dá)式2.1C語(yǔ)言的語(yǔ)句和關(guān)鍵字
2.1.1C語(yǔ)言的語(yǔ)句
與其它高級(jí)語(yǔ)言一樣,C語(yǔ)言也是利用函數(shù)體中的可執(zhí)行語(yǔ)句,向計(jì)算機(jī)系統(tǒng)發(fā)出操作命令。按照語(yǔ)句功能或構(gòu)成的不同,可將C語(yǔ)言的語(yǔ)句分為五類。1.控制語(yǔ)句控制語(yǔ)句完成一定的控制功能。C語(yǔ)言只有9條控制語(yǔ)句,又可細(xì)分為三種:(1)選擇結(jié)構(gòu)控制語(yǔ)句
if()~else~,switch()~(2)循環(huán)結(jié)構(gòu)控制語(yǔ)句
do~while(),for()~,while()~,break,continue(3)其它控制語(yǔ)句
goto,return
2.函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句由一次函數(shù)調(diào)用加一個(gè)分號(hào)(語(yǔ)句結(jié)束標(biāo)志)構(gòu)成。例如,printf("ThisisaCfunctionstatement.");3.表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句由表達(dá)式后加一個(gè)分號(hào)構(gòu)成。最典型的表達(dá)式語(yǔ)句是,在賦值表達(dá)式后加一個(gè)分號(hào)構(gòu)成的賦值語(yǔ)句。例如,“num=5”是一個(gè)賦值表達(dá)式,而“num=5;”卻是一個(gè)賦值語(yǔ)句。4.空語(yǔ)句空語(yǔ)句僅由一個(gè)分號(hào)構(gòu)成。顯然,空語(yǔ)句什么操作也不執(zhí)行。例如,下面就是一個(gè)空語(yǔ)句:;5.復(fù)合語(yǔ)句復(fù)合語(yǔ)句是由大括號(hào)括起來(lái)的一組(也可以是1條)語(yǔ)句構(gòu)成。例如:
main(){……{……}/*復(fù)合語(yǔ)句。注意:右括號(hào)后不需要分號(hào)。*/……}復(fù)合語(yǔ)句的性質(zhì):(1)在語(yǔ)法上和單一語(yǔ)句相同,即單一語(yǔ)句可以出現(xiàn)的地方,也可以使用復(fù)合語(yǔ)句。(2)復(fù)合語(yǔ)句可以嵌套,即復(fù)合語(yǔ)句中也可出現(xiàn)復(fù)合語(yǔ)句。
2.1.2關(guān)鍵字
C語(yǔ)言的關(guān)鍵字共有32個(gè),根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)鍵字、控制語(yǔ)句關(guān)鍵字、存儲(chǔ)類型關(guān)鍵字和其它關(guān)鍵字四類。
(1)數(shù)據(jù)類型關(guān)鍵字(12個(gè)):char,double,enum,float,int,long,short,signed,struct,union,unsigned,void
(2)控制語(yǔ)句關(guān)鍵字(12個(gè)):break,case,continue,default,do,else,for,goto,if,return,switch,while
(3)存儲(chǔ)類型關(guān)鍵字(4個(gè)):auto,extern,register,static
(4)其它關(guān)鍵字(4個(gè)):const,sizeof,typedef,volatile2.2C語(yǔ)言的數(shù)據(jù)類型
C語(yǔ)言提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型形式出現(xiàn)的。具體分類如下:
1.基本類型分為整型、實(shí)型(又稱浮點(diǎn)型)、字符型和枚舉型四種。
2.構(gòu)造類型分為數(shù)組類型、結(jié)構(gòu)類型和共用類型三種。
3.指針類型。
4.空類型
C語(yǔ)言中的數(shù)據(jù),有常量和變量之分,它們分別屬于上述這些類型。本章將介紹基本類型中的整型、實(shí)型和字符型三種數(shù)據(jù)。2.3常量和變量常量
1.常量的概念
在程序運(yùn)行過(guò)程中,其值不能被改變的量稱為常量。
2.常量的分類
(1)直接常量,可從字面直接看出它們的值。如5、1.2、‘A’,分別為整型常量、實(shí)型常量、字符常量。[案例2.1]輸入半徑,求面積和周長(zhǎng)。#include<stdio.h>main(){floatr,s,c;
printf(“PleaseInputr:”);scanf(“%f”,&r);s=3.14*r*r;c=2*3.14*r;
printf(“area=%f\n”,s);
printf(“circumference=%f\n”,c);}常量的類型,可通過(guò)書(shū)寫形式來(lái)判別。(2)符號(hào)常量,從字面無(wú)法看出它們的值。[案例3.2]輸入半徑,求面積和周長(zhǎng)。#include<stdio.h>#definePI3.1416main(){floatr,s,c;
printf("PleaseInputr:");scanf("%f",&r);s=PI*r*r;c=2*PI*r;
printf("area=%f\n",s);
printf("circumference=%f\n",c);}變量1.變量的概念在程序運(yùn)行過(guò)程中,其值可以被改變的量稱為變量。2.變量的三個(gè)要素(1)變量名。每個(gè)變量都必須有一個(gè)名字──變量名,變量命名遵循標(biāo)識(shí)符命名規(guī)則。(2)變量值。在程序運(yùn)行過(guò)程中,變量值存儲(chǔ)在內(nèi)存中。在程序中,通過(guò)變量名來(lái)引用變量的值。(3)變量的地址。變量值存儲(chǔ)在內(nèi)存中,每個(gè)存儲(chǔ)空間都有一個(gè)編號(hào),稱為地址。3.標(biāo)識(shí)符命名規(guī)則(1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開(kāi)頭。(2)有效長(zhǎng)度:隨系統(tǒng)而異,但至少前8個(gè)字符有效。如果超長(zhǎng),則超長(zhǎng)部分被舍棄。例如,由于student_name和student_number的前8個(gè)字符相同,有的系統(tǒng)認(rèn)為這兩個(gè)變量,是一回事而不加區(qū)別。(3)C語(yǔ)言的關(guān)鍵字不能用作變量名。注意:C語(yǔ)言對(duì)英文字母的大小敏感,即同一字母的大小寫,被認(rèn)為是兩個(gè)不同的字符。習(xí)慣上,變量名和函數(shù)名中的英文字母用小寫,以增加可讀性。思考題:在C語(yǔ)言中,變量名total與變量名TOTAL、ToTaL、tOtAl等是同一個(gè)變量嗎?4.變量的定義與初始化在C語(yǔ)言中,要求對(duì)所有用到的變量,必須先定義、后使用;且稱在定義變量的同時(shí)進(jìn)行賦初值的操作為變量初始化。(1)變量定義的一般格式[存儲(chǔ)類型]數(shù)據(jù)類型變量名[,變量名2…];
例如,floatradius,length,area;
(2)變量初始化的一般格式[存儲(chǔ)類型]數(shù)據(jù)類型變量名[=初值][,變量名2[=初值2]……];
例如,floatradius=2.5,length,area;2.4整型數(shù)據(jù)
1.分類
根據(jù)占用內(nèi)存字節(jié)數(shù)的不同,整型變量又分為4類:(1)基本整型(類型標(biāo)識(shí)符為int)。(2)短整型(類型標(biāo)識(shí)符為short[int])。(3)長(zhǎng)整型(類型標(biāo)識(shí)符為long[int])。(4)無(wú)符號(hào)整型。無(wú)符號(hào)型又分為無(wú)符號(hào)基本整型(unsigned[int])、無(wú)符號(hào)短整型(unsignedshort)和無(wú)符號(hào)長(zhǎng)整型(unsignedlong)三種,只能用來(lái)存儲(chǔ)無(wú)符號(hào)整數(shù)。2.占用內(nèi)存字節(jié)數(shù)與值域
上述各類型整型變量占用的內(nèi)存字節(jié)數(shù),隨系統(tǒng)而異。在16位操作系統(tǒng)中,一般用2字節(jié)表示一個(gè)int型變量,且long型(4字節(jié))≥int型(2字節(jié))≥short型(2字節(jié))。顯然,不同類型的整型變量,其值域不同。占用內(nèi)存字節(jié)數(shù)為n的有符號(hào)整型變量,其值域?yàn)椋?2n*8-1~(2n*8-1-1);無(wú)符號(hào)整型變量的值域?yàn)椋?~(2n*8-1)。例如,PC機(jī)中的一個(gè)int型變量,其值域?yàn)?22*8-1~(22*8-1-1),即-32768~32767;一個(gè)unsigned型變量的值域?yàn)椋?~(22*8-1),即0~65535。[案例2.2]整型變量的取值范圍main(){int
a,b;a=32767;b=a+1;
printf(“a=%d,b=%d\n”,a,b);}程序運(yùn)行結(jié)果:
a=32767,b=-32768整型常量1.三種表示形式整型常量即整常數(shù),在C語(yǔ)言中可用三種形式表示:(1)十進(jìn)制。例如10、36。(2)八進(jìn)制(以數(shù)字0開(kāi)頭)。例如012。(3)十六進(jìn)制(以數(shù)字0+小寫字母x開(kāi)頭)。例如0x36。思考:521、0111、0xFFF、0862、20ac、0x10fg2.5實(shí)型數(shù)據(jù)實(shí)型變量
1.分類
C語(yǔ)言的實(shí)型變量,分為兩種:
(1)單精度型。類型標(biāo)識(shí)符為float,一般占4字節(jié)(32位)、提供6~7位有效數(shù)字。
(2)雙精度型。類型標(biāo)識(shí)符為double,一般占8字節(jié)、提供15~16位有效數(shù)字。[案例2.3]單精度型的有效數(shù)字main(){floata,b;a=123456789e5;b=a+20;
printf(“a=%f,b=%f\n”,a,b);}程序運(yùn)行結(jié)果:
a=12345679020032.000000,b=12345679020032.0000002.在內(nèi)存中表示形式一個(gè)單精度類型實(shí)數(shù),一般用3B存儲(chǔ)尾數(shù),1B存儲(chǔ)階碼。如:(3.25)10=(11.01)2=(0.1101*210
)一個(gè)雙精度類型實(shí)數(shù),一般用6B存儲(chǔ)尾數(shù),2B存儲(chǔ)階碼。+1101+10實(shí)型常量
1.表示形式
實(shí)型常量即實(shí)數(shù),在C語(yǔ)言中又稱浮點(diǎn)數(shù),其值有兩種表達(dá)形式:(1)十進(jìn)制形式。例如3.14、9.8。無(wú)八進(jìn)制、十六進(jìn)制形式。(2)指數(shù)形式:<尾數(shù)>E(e)<整型指數(shù)>。例如3.0E+5等。2.5字符型數(shù)據(jù)字符常量1.字符常量的定義用一對(duì)單引號(hào)括起來(lái)的單個(gè)字符,稱為字符常量。例如,‘A’、‘1’、‘+’等。2.轉(zhuǎn)義字符
C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以反斜杠“\”開(kāi)頭的轉(zhuǎn)義字符。(1)控制字符
\n換行
\r回車
\t跳到下一個(gè)tab位置
\b退格
\f換頁(yè)[案例2.4]轉(zhuǎn)義字符使用。main(){printf(“ab
c\tde\rf\tg\n”);
printf(“h\ti\b\bjk”);}程序運(yùn)行結(jié)果:
f□□□□□□□
gdeh□□□□□□j□k思考:main(){printf(“Y\b=\n”);}(2)如果反斜杠或單引號(hào)本身作為字符常量,必須使用轉(zhuǎn)義字符:‘\\’、‘\’‘。(3)\ddd:’\’后跟1-3位8進(jìn)制數(shù),
\xhh:’\’后跟1-2位16進(jìn)制數(shù), 表示其相應(yīng)ASCII碼對(duì)應(yīng)字符。字符變量字符變量的類型關(guān)鍵字為char,一般占用1字節(jié)內(nèi)存單元。
1.變量值的存儲(chǔ)
字符變量用來(lái)存儲(chǔ)字符常量。將一個(gè)字符常量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是將該字符的ASCII碼值(無(wú)符號(hào)整數(shù))存儲(chǔ)到內(nèi)存單元中。例如,
charch1,ch2;/*定義兩個(gè)字符變量:ch1,ch2*/ch1=’a’;ch2=’b’;/*給字符變量賦值*/2.特性字符數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是字符的ASCII碼──一個(gè)無(wú)符號(hào)整數(shù),其形式與整數(shù)的存儲(chǔ)形式一樣,所以C語(yǔ)言允許字符型數(shù)據(jù)與整型數(shù)據(jù)之間通用。(1)一個(gè)字符型數(shù)據(jù),既可以字符形式輸出,也可以整數(shù)形式輸出。
[案例2.5]字符變量的字符形式輸出和整數(shù)形式輸出。
main()
{charch1,ch2;
ch1='a';ch2='b';printf(“ch1=%c,ch2=%c\n”,ch1,ch2);
printf(“ch1=%d,ch2=%d\n”,ch1,ch2);
}
程序運(yùn)行結(jié)果:
ch1=a,ch2=b
ch1=97,ch2=98(2)允許對(duì)字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,此時(shí)就是對(duì)它們的ASCII碼值進(jìn)行算術(shù)運(yùn)算。字符串常量
1.字符串常量的概念和字符串長(zhǎng)度字符串常量是用一對(duì)雙引號(hào)括起來(lái)的若干字符序列。字符串中字符的個(gè)數(shù)稱為字符串長(zhǎng)度。長(zhǎng)度為0的字符串(即一個(gè)字符都沒(méi)有的字符串)稱為空串,表示為“”(一對(duì)緊連的雙引號(hào))。例如,“Howdoyoudo。”、“Goodmorning?!钡?,都是字符串常量,其長(zhǎng)度分別為14和13(包括空格)。
如果反斜杠和雙引號(hào)作為字符串中的有效字符,則必須使用轉(zhuǎn)義字符。例如:(1)C:\msdos\v6.22→"C:\\msdos\\v6.22"
(2)Isay:"Goodbye!"→"Isay:\"Goodbye!\"“
2.字符串的存儲(chǔ)
C語(yǔ)言規(guī)定:在存儲(chǔ)字符串常量時(shí),由系統(tǒng)在字符串的末尾自動(dòng)加一個(gè)‘\0’作為字符串的結(jié)束標(biāo)志。注意:在源程序中書(shū)寫字符串常量時(shí),不必加結(jié)束字符‘\0’,否則畫蛇添足。
如果有一個(gè)字符串為“CHINA”,則它在內(nèi)存中的實(shí)際存儲(chǔ)如下所示:最后一個(gè)字符'\0'是系統(tǒng)自動(dòng)加上的,它占用6字節(jié)而非5字節(jié)內(nèi)存空間。CHINA\0綜上所述,字符常量'A'與字符串常量"A"是兩回事:(1)定界符不同:字符常量使用單引號(hào),而字符串常量使用雙引號(hào);(2)長(zhǎng)度不同:字符常量的長(zhǎng)度固定為1,而字符串常量的長(zhǎng)度,可以是0,也可以是某個(gè)整數(shù);(3)存儲(chǔ)要求不同:字符常量存儲(chǔ)的是字符的ASCII碼值,而字符串常量,除了要存儲(chǔ)有效的字符外,還要存儲(chǔ)一個(gè)結(jié)束標(biāo)志’\0’。2.6算術(shù)運(yùn)算與算術(shù)表達(dá)式在C語(yǔ)言中,除控制語(yǔ)句和輸入輸出函數(shù)外,其它所有基本操作都作為運(yùn)算符處理。
1.五種基本算術(shù)運(yùn)算符
+、-(減法/取負(fù))、*、/、%(求余數(shù))(1)關(guān)于除法運(yùn)算/C語(yǔ)言規(guī)定:兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如,5/2=2。
(2)關(guān)于求余數(shù)運(yùn)算%要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯(cuò)。2.表達(dá)式和算術(shù)表達(dá)式(1)表達(dá)式的概念用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(常量、變量和函數(shù)等)連接起來(lái)的、符合C語(yǔ)言語(yǔ)法規(guī)則的式子,稱為表達(dá)式。單個(gè)常量、變量或函數(shù),可以看作是表達(dá)式的一種特例。將單個(gè)常量、變量或函數(shù)構(gòu)成的表達(dá)式稱為簡(jiǎn)單表達(dá)式,其它表達(dá)式稱之為復(fù)雜表達(dá)式。
(2)算術(shù)表達(dá)式的概念表達(dá)式中的運(yùn)算符都是算術(shù)運(yùn)算符。例如,3+6*9、(x+y)/2-1等,都是算術(shù)表達(dá)式。3.運(yùn)算符的優(yōu)先級(jí)與結(jié)合性(1)C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。所謂結(jié)合性是指,當(dāng)一個(gè)操作數(shù)兩側(cè)的運(yùn)算符具有相同的優(yōu)先級(jí)時(shí),該操作數(shù)是先與左邊的運(yùn)算符結(jié)合,還是先與右邊的運(yùn)算符結(jié)合。自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。結(jié)合性是C語(yǔ)言的獨(dú)有概念。除單目運(yùn)算符、賦值運(yùn)算符和條件運(yùn)算符是右結(jié)合性外,其它運(yùn)算符都是左結(jié)合性。(2)表達(dá)式求值1)按運(yùn)算符的優(yōu)先級(jí)高低次序執(zhí)行。例如,先乘除后加減。2)如果在一個(gè)運(yùn)算對(duì)象(或稱操作數(shù))兩側(cè)的運(yùn)算符的優(yōu)先級(jí)相同,則按C語(yǔ)言規(guī)定的結(jié)合方向(結(jié)合性)進(jìn)行。例如,算術(shù)運(yùn)算符的結(jié)合方向是“自左至右”,即:在執(zhí)行“a–b+c”時(shí),變量b先與減號(hào)結(jié)合,執(zhí)行“a-b”;然后再執(zhí)行加c的運(yùn)算。2.7C語(yǔ)言特有的運(yùn)算和運(yùn)算符自增(++)、自減(--)運(yùn)算
1.作用
自增運(yùn)算使單個(gè)變量的值增1,自減運(yùn)算使單個(gè)變量的值減1。
2.用法與運(yùn)算規(guī)則
自增、自減運(yùn)算符都有兩種用法:
(1)前置運(yùn)算──運(yùn)算符放在變量之前:++變量、--變量
先使變量的值增(或減)1,然后再以變化后的值參與其它運(yùn)算,即先增減、后運(yùn)算。
(2)后置運(yùn)算──運(yùn)算符放在變量之后:變量++、變量--
變量先參與其它運(yùn)算,然后再使變量的值增(或減)1,即先運(yùn)算、后增減。
[案例2.6]自增、自減運(yùn)算符的用法與運(yùn)算規(guī)則示例。main(){intx=6,y;
printf("x=%d\n",x); /*輸出x的初值*/y=++x; /*前置運(yùn)算*/
printf("y=++x:x=%d,y=%d\n",x,y);y=x--; /*后置運(yùn)算*/
printf("y=x--:x=%d,y=%d\n",x,y);}思考題:如果將案例“y=++x;”語(yǔ)句中的前置運(yùn)算改為后置(y=x++;),“y=x--;”語(yǔ)句中的后置運(yùn)算改為前置(y=--x;),程序運(yùn)行結(jié)果會(huì)如何?3.說(shuō)明(1)自增、自減運(yùn)算,常用于循環(huán)語(yǔ)句中,使循環(huán)控制變量加(或減)1,以及指針變量中,使指針指向下(或上)一個(gè)地址。(2)自增、自減運(yùn)算符,不能用于常量和表達(dá)式。例如,5++、--(a+b)等都是非法的。(3)在表達(dá)式中,連續(xù)使同一變量進(jìn)行自增或自減運(yùn)算時(shí),很容易出錯(cuò),所以最好避免這種用法。2.8賦值運(yùn)算與賦值表達(dá)式
1.賦值運(yùn)算賦值符號(hào)“=”就是賦值運(yùn)算符,它的作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量。
賦值運(yùn)算符的一般形式為:
變量=表達(dá)式
例如,x=5
y=(float)5/2
如果表達(dá)式值的類型,與被賦值變量的類型不一致,但都是數(shù)值型或字符型時(shí),系統(tǒng)自動(dòng)地將表達(dá)式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。
思考題:假設(shè)變量num的數(shù)據(jù)類型為float,其值為2.5,則執(zhí)行“num=(int)num”后,num的值等于多少?2.復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算符是由賦值運(yùn)算符之前再加一個(gè)雙目運(yùn)算符構(gòu)成的。復(fù)合賦值運(yùn)算的一般格式為:變量雙目運(yùn)算符=表達(dá)式(note)└──┬──┘
復(fù)合賦值運(yùn)算符它等價(jià)于:變量=變量雙目運(yùn)算符(表達(dá)式)。
當(dāng)表達(dá)式為簡(jiǎn)單表達(dá)式時(shí),表達(dá)式外的一對(duì)圓括號(hào)才可缺省,否則可能出錯(cuò)。例如,x+=3 /*等價(jià)于x=x+3*/y*=x+6 /*等價(jià)于y=y*(x+6),而不是y=y*x+6*/C語(yǔ)言規(guī)定的10種復(fù)合賦值運(yùn)算符如下:+=,-=,*=,/=,%=; /*復(fù)合算術(shù)運(yùn)算符(5個(gè))*/&=,^=,|=,<<=,>>=;/*復(fù)合位運(yùn)算符(5個(gè))*/3.賦值表達(dá)式由賦值運(yùn)算符或復(fù)合賦值運(yùn)算符,將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的表達(dá)式,稱為賦值表達(dá)式。(1)一般格式變量(復(fù)合)賦值運(yùn)算符表達(dá)式(2)賦值表達(dá)式的值
任何一個(gè)表達(dá)式都有一個(gè)值,賦值表達(dá)式也不例外。被賦值變量的值,就是賦值表達(dá)式的值。(note)
例如,“a=5”這個(gè)賦值表達(dá)式,變量a的值“5”就是它的值。2.9關(guān)系運(yùn)算及其表達(dá)式
所謂“關(guān)系運(yùn)算”實(shí)際上就是“比較運(yùn)算”,即將兩個(gè)數(shù)據(jù)進(jìn)行比較,判定兩個(gè)數(shù)據(jù)是否符合給定的關(guān)系。例如,“a>b”中的“>”表示一個(gè)大于關(guān)系運(yùn)算。如果a的值是5,b的值是3,則大于關(guān)系運(yùn)算“>”的結(jié)果為“真”,即條件成立;如果a的值是2,b的值是3,則大于關(guān)系運(yùn)算“>”的結(jié)果為“假”,即條件不成立。
關(guān)系運(yùn)算符及其優(yōu)先次序1.關(guān)系運(yùn)算符C語(yǔ)言提供6種關(guān)系運(yùn)算符:<(小于),<=(小于或等于),>(大于),>=(大于或等于),==(等于),!=(不等于)注意:在C語(yǔ)言中,“等于”關(guān)系運(yùn)算符是雙等號(hào)“==”,而不是單等號(hào)“=”(賦值運(yùn)算符)。
2.優(yōu)先級(jí)(1)在關(guān)系運(yùn)算符中,前4個(gè)優(yōu)先級(jí)<、<=、>、>=相同,后2個(gè)==、!=也相同,且前4個(gè)高于后2個(gè)。
<、<=、>、>=→==、!=
(2)與其它種類運(yùn)算符的優(yōu)先級(jí)關(guān)系算術(shù)運(yùn)算符+、-→關(guān)系運(yùn)算符→賦值運(yùn)算符=。關(guān)系表達(dá)式
1.關(guān)系表達(dá)式的概念所謂關(guān)系表達(dá)式是指,用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái),進(jìn)行關(guān)系運(yùn)算的式子。例如,下面的關(guān)系表達(dá)式都是合法的:
a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)
2.關(guān)系表達(dá)式的值——邏輯值(非“真”即“假”)。由于C語(yǔ)言沒(méi)有邏輯型數(shù)據(jù),所以用整數(shù)“1”表示“邏輯真”,用整數(shù)“0”表示“邏輯假”.
例如,假設(shè)num1=3,num2=4,num3=5,則:(1)num1>num2的值=0。(2)(num1>num2)!=num3的值=1。(3)num1<num2<num3的值=1。
(4)(num1<num2)+num3的值=6,因?yàn)閚um1<num2的值=1,1+5=6。再次強(qiáng)調(diào):C語(yǔ)言用整數(shù)“1”表示“邏輯真”,用整數(shù)“0”表示“邏輯假”。所以,關(guān)系表達(dá)式的值,還可以參與其它種類的運(yùn)算,例如算術(shù)運(yùn)算、邏輯運(yùn)算等。2.10邏輯運(yùn)算及其表達(dá)式關(guān)系表達(dá)式只能描述單一條件,例如“x>=0”。如果需要描述“x>=0”、同時(shí)“x<10”,就要借助于邏輯表達(dá)式了。
邏輯運(yùn)算及其優(yōu)先次序1.邏輯運(yùn)算符及其運(yùn)算規(guī)則(1)C語(yǔ)言提供三種邏輯運(yùn)算符:
&& 邏輯與(相當(dāng)于“同時(shí)”)
|| 邏輯或(相當(dāng)于“或者”)
! 邏輯非(相當(dāng)于“否定”)例如,下面的表達(dá)式都是邏輯表達(dá)式:(x>=0)&&(x<10),(x<1)||(x>5),!(x==0), (year%4==0)&&(year%100!=0)||(year%400==0)(2)運(yùn)算規(guī)則
1)&&:當(dāng)且僅當(dāng)兩個(gè)運(yùn)算量的值都為“真”時(shí),運(yùn)算結(jié)果為“真”,否則為“假”。
2)||:當(dāng)且僅當(dāng)兩個(gè)運(yùn)算量的值都為“假”時(shí),運(yùn)算結(jié)果為“假”,否則為“真”。
3)!:當(dāng)運(yùn)算量的值為“真”時(shí),運(yùn)算結(jié)果為“假”;當(dāng)運(yùn)算量的值為“假”時(shí),運(yùn)算結(jié)果為“真”。例如,假定x=5,則(x>=0)&&(x<10)的值為“真”,(x<-1)||(x>5)的值為“假”。
2.邏輯運(yùn)算符的運(yùn)算優(yōu)先級(jí)
(1)邏輯非的優(yōu)先級(jí)最高,邏輯與次之,邏輯或最低,即:?。ǚ牵?&(與)→||(或)(2)與其它種類運(yùn)算符的優(yōu)先關(guān)系!→算術(shù)運(yùn)算→關(guān)系運(yùn)算→&&→||→賦值運(yùn)算
邏輯表達(dá)式
1.邏輯表達(dá)式的概念所謂邏輯表達(dá)式是指,用邏輯運(yùn)算符將1個(gè)或多個(gè)表達(dá)式連接起來(lái),進(jìn)行邏輯運(yùn)算的式子。在C語(yǔ)言中,用邏輯表達(dá)式表示多個(gè)條件的組合。例如,(year%4==0)&&(year%100!=0)||(year%400==0)就是一個(gè)判斷一個(gè)年份是否是閏年的邏輯表達(dá)式。
邏輯表達(dá)式的值也是一個(gè)邏輯值(非“真”即“假”)。
2.邏輯量的真假判定──0和非0C語(yǔ)言用整數(shù)“1”表示“邏輯真”、用“0”表示“邏輯假”。但在判斷一個(gè)數(shù)據(jù)的“真”或“假”時(shí),卻以0和非0為根據(jù):如果為0,則判定為“邏輯假”;如果為非0,則判定為“邏輯真”。
例如,假設(shè)num=12,則:!num的值=0,num>=1&&num<=31的值=1,num||num>31的值=1。
例:(1)1<4&&4<7
(2)1<4&&7<4
(3)!(2<=5)(4)!(1<3)||(2<5)(5)!(4<=6)&&(3<=7)
3.說(shuō)明(1)邏輯運(yùn)算符兩側(cè)的操作數(shù),除可以是0和非0的整數(shù)外,也可以是其它任何類型的數(shù)據(jù),如實(shí)型、字符型等。(2)在計(jì)算邏輯表達(dá)式時(shí),只有在必須執(zhí)行下一個(gè)表達(dá)式才能求解時(shí),才求解該表達(dá)式(即并不是所有的表達(dá)式都被求解)。換句話說(shuō):
1)對(duì)于邏輯與運(yùn)算,如果第一個(gè)操作數(shù)被判定為“假”,系統(tǒng)不再判定或求解第二操作數(shù)。
2)對(duì)于邏輯或運(yùn)算,如果第一個(gè)操作數(shù)被判定為“真”,系統(tǒng)不再判定或求解第二操作數(shù)。例如,假設(shè)n1、n2、n3、n4、x、y的值分別為1、2、3、4、1、1,則求解表達(dá)式“(x=n1>n2)&&(y=n3>n4)”后,x的值變?yōu)椋?,而y的值不變,仍等于1!例:100110111
main(){intx,y,z;x=y=z=0;++x||++y&&++z;
printf(“%d%d%d”,x,y,z);x=y=z=0;++x&&++y||++z;
printf(“%d%d%d”,x,y,z);x=y=z=0;++x&&++y&&++z;
printf(“%d%d%d”,x,y,z);}思考題:若x=y=z=-1;則輸出結(jié)果?#include<stdio.h>voidmain(){int
x,y,z;x=y=z=0; ++x||++y&&++z;
printf("%d%d%d\n",x,y,z);x=y=z=0; ++x&&++y||++z;
printf("%d%d%d\n",x,y,z);x=y=z=0; ++x&&++y&&++z;
printf("%d%d%d\n",x,y,z);}
2.11條件運(yùn)算符
1.一般格式:
表達(dá)式1?表達(dá)式2:表達(dá)式3
條件表達(dá)式中的“表達(dá)式1”、“表達(dá)式2”、“表達(dá)式3”的類型,可以各不相同。
2.運(yùn)算規(guī)則
如果“表達(dá)式1”的值為非0(即邏輯真),
則運(yùn)算結(jié)果等于“表達(dá)式2”的值;否則,運(yùn)算結(jié)果等于“表達(dá)式3”的值。如圖4-2所示。3.運(yùn)算符的優(yōu)先級(jí)與結(jié)合性
條件運(yùn)算符的優(yōu)先級(jí),高于賦值運(yùn)算符,但低于邏輯運(yùn)算符、關(guān)系運(yùn)算符和算術(shù)運(yùn)算符。其結(jié)合性為“從右到左”(即右結(jié)合性)。
[例2.8]
從鍵盤上輸入一個(gè)字符,如果它是大寫字母,則把它轉(zhuǎn)換成小寫字母輸出;否則,直接輸出。main(){charch;
printf("Inputacharacter:");
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("ch=%c\n",ch);}
2.12逗號(hào)運(yùn)算(,)及其表達(dá)式C語(yǔ)言提供一種用逗號(hào)運(yùn)算符“,”連接起來(lái)的式子,稱為逗號(hào)表達(dá)式。逗號(hào)運(yùn)算符又稱順序求值運(yùn)算符。1.一般形式表達(dá)式1,表達(dá)式2,……,表達(dá)式n2.求解過(guò)程自左至右,依次計(jì)算各表達(dá)式的值,“表達(dá)式n”的值即為整個(gè)逗號(hào)表達(dá)式的值。例如,逗號(hào)表達(dá)式“a=3*5,a*4”的值=60:先求解a=3*5,得a=15;再求a*4=60,所以逗號(hào)表達(dá)式的值=60。
又例如,逗號(hào)表達(dá)式“(a=3*5,a*4),a+5”的值=20:先求解a=3*5,得a=15;再求a*4=60;最后求解a+5=20,所以逗號(hào)表達(dá)式的值=20。注意:并不是任何地方出現(xiàn)的逗號(hào),都是逗號(hào)運(yùn)算符。很多情況下,逗號(hào)僅用作分隔符。1.在C語(yǔ)言中,整型、實(shí)型和字符型數(shù)據(jù)間可以混合運(yùn)算(因?yàn)樽址麛?shù)據(jù)與整型數(shù)據(jù)可以通用)。如果一個(gè)運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按“先轉(zhuǎn)換、后運(yùn)算”的原則,首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進(jìn)行運(yùn)算。轉(zhuǎn)換規(guī)則如圖2-2所示。2.13數(shù)據(jù)類型轉(zhuǎn)換1)橫向向左的箭頭,表示必須的轉(zhuǎn)換。char和short型必須轉(zhuǎn)換成int
型,float型必須轉(zhuǎn)換成double型。2)縱向向上的箭頭,表示不同類型的轉(zhuǎn)換方向。例如,int型與double型數(shù)據(jù)進(jìn)行混合運(yùn)算,則先將int型數(shù)據(jù)轉(zhuǎn)換成double型,然后在兩個(gè)同類型的數(shù)據(jù)間進(jìn)行運(yùn)算,結(jié)果為double型。
注意:箭頭方向只表示數(shù)據(jù)類型由低向高轉(zhuǎn)換,不要理解為int型先轉(zhuǎn)換成unsigned型,再轉(zhuǎn)換成long型,最后轉(zhuǎn)換成double型。
2.除自動(dòng)轉(zhuǎn)換外,C語(yǔ)言也允許強(qiáng)制轉(zhuǎn)換。數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的一般格式為:(要轉(zhuǎn)換成的數(shù)據(jù)類型)(被轉(zhuǎn)換的表達(dá)式)
當(dāng)被轉(zhuǎn)換的表達(dá)式是一個(gè)簡(jiǎn)單表達(dá)式時(shí),外面的一對(duì)圓括號(hào)可以缺省。例如,
(double)a(等價(jià)于(double)(a))
/*將變量a的值轉(zhuǎn)換成double型*/
(int)(x+y)
/*將x+y的結(jié)果轉(zhuǎn)換成int型*/(float)5/2(等價(jià)于(float)(5)/2)
/*將5轉(zhuǎn)換成實(shí)型再除以2(=2.5)*/
(float)(5/2)
/*將5整除2的結(jié)果(2)轉(zhuǎn)換成實(shí)型(2.0)*/注意:強(qiáng)制轉(zhuǎn)換類型得到的是一個(gè)所需類型的中間量,原表達(dá)式類型并不發(fā)生變化。例如,(double)a
只是將變量a的值轉(zhuǎn)換成一個(gè)double型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成double型。2.14格式化輸出——printf()函數(shù)
printf()函數(shù)的作用:向計(jì)算機(jī)系統(tǒng)默認(rèn)的輸出設(shè)備(一般指終端或顯示器)輸出一個(gè)或多個(gè)任意類型的數(shù)據(jù)。
2.14.1printf()函數(shù)的一般格式
[案例4.1]已知圓半徑radius=1.5,求圓周長(zhǎng)和圓面積。
/*案例代碼文件名:AL4_1.C。*/
main(){floatradius,length,area,pi=3.1415926;radius=1.5;length=2*pi*radius;/*求圓周長(zhǎng)*/area=pi*radius*radius;/*求圓面積*/
printf("radius=%f\n",radius);/*輸出圓半徑*/printf("length=%7.2f,area=%7.2f\n",length,area); /*輸出圓周長(zhǎng)、面積*/}
程序運(yùn)行結(jié)果如下:
radius=1.500000length=9.42,area=7.07
printf()函數(shù)的一般格式如下:printf(“格式(控制)字符串"[,輸出項(xiàng)表]);
1.格式字符串。“格式字符串”也稱“轉(zhuǎn)換控制字符串”,可以包含三種字符:
(1)普通字符除格式說(shuō)明和轉(zhuǎn)義字符之外的其它字符。格式字符串中的普通字符,原樣輸出。
例如,“printf(”radius=%f\n“,radius);”語(yǔ)句中“radius=”,是普通字符。
(2)轉(zhuǎn)義字符例如,[案例4.1]中printf()函數(shù)中的'\n'就是轉(zhuǎn)義字符,輸出時(shí)產(chǎn)生一個(gè)“換行”操作。(3)格式說(shuō)明。格式說(shuō)明的一般形式如下:
%[標(biāo)志][寬度][.精度][|h|l]格式字符
%[-][0][m][.n][|h|l]格式字符
2.格式說(shuō)明(1)格式字符
d、x/X、o、u、c、s、e/E、f、g/G、%(2)長(zhǎng)度修正符l或h
ld、lx、lo、lu;hd、hx、ho、hu;(3)域?qū)捈熬让枋龇鹠.n(4)0——數(shù)字前空位補(bǔ)0(5)-——左對(duì)齊輸出
3.輸出項(xiàng)表*(參數(shù))輸出項(xiàng)表是可選的。如果要輸出的數(shù)據(jù)不止1個(gè),相鄰2個(gè)之間用逗號(hào)分開(kāi)。下面的printf()函數(shù)都是合法的:(1)printf("Iamastudent.\n");
(2)printf("%d",3+2);
(3)printf("a=%fb=%5d\n",a,a+3);必須強(qiáng)調(diào):“格式字符串”中的格式指示符,必須與“輸出項(xiàng)表”中、輸出項(xiàng)的數(shù)據(jù)類型一致,否則會(huì)引起輸出錯(cuò)誤。2.14.2格式指示符輸出不同類型的數(shù)據(jù),要使用不同的類型轉(zhuǎn)換字符。1.類型轉(zhuǎn)換字符d──以帶符號(hào)的十進(jìn)制整數(shù)形式輸出。[案例4.2]類型轉(zhuǎn)換字符d的使用。/*案例代碼文件名:AL4_2.C。*/main(){intnum1=123;longnum2=123456;/*用3種不同格式,輸出int
型數(shù)據(jù)num1的值*/printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n",num1,num1,num1,num1);
/*用3種不同格式,輸出long型數(shù)據(jù)num2的值*/
printf("num2=%ld,num2=%8ld,num2=%5ld\n",num2,num2,num2);printf("num1=%ld\n",num1);} 程序運(yùn)行結(jié)果如下:num1=123,num1=□□123,num1=123□□,num1=123num2=123456,num2=□□123456,num2=123456num1=53411963
思考:printf("%d,%o,%x\n",-1,-1,-1);
2.類型轉(zhuǎn)換字符f──以小數(shù)形式、按系統(tǒng)默認(rèn)的寬度,輸出單精度和雙精度實(shí)數(shù)。[案例2.3]類型轉(zhuǎn)換字符f的使用。/*案例代碼文件名:AL4_3.C。*/main(){floatf=123.456;printf("%f,%12f,%12.2f,%12.2f,%.2f\n",f,f,f,f,f);}
程序運(yùn)行結(jié)果如下:
123.456001,□□123.456001,□□□□□□123.46,123.46□□□□□□,123.46
本案例程序的輸出結(jié)果中,數(shù)據(jù)123.456001中的001是無(wú)意義的,因?yàn)樗鼈兂隽擞行?shù)字的范圍。
3.類型轉(zhuǎn)換字符c──輸出一個(gè)字符(只占一列寬度)。[案例2.4]類型轉(zhuǎn)換字符c的使用。/*案例代碼文件名:AL4_4.C。*/
main(){charc='A';
inti=65;
printf("c=%c,%5c,%d\n",c,c,c);
printf("i=%d,%c",i,i);}程序運(yùn)行結(jié)果如下:
c=A,□□□□A,65i=65,A
需要強(qiáng)調(diào)的是:在C語(yǔ)言中,整數(shù)可以用字符形式輸出,字符數(shù)據(jù)也可以用整數(shù)形式輸出。將整數(shù)用字符形式輸出時(shí),系統(tǒng)首先求該數(shù)與256的余數(shù),然后將余數(shù)作為ASCII碼,轉(zhuǎn)換成相應(yīng)的字符輸出4.類型轉(zhuǎn)換字符s──輸出一個(gè)字符串。[案例2.5]類型轉(zhuǎn)換字符s的使用。/*案例代碼文件名:AL4_5.C。*/
main(){printf("%s,%5s,%-10s,","Internet","Internet","Internet");printf("%10.5s,%-10.5s,%4.5s\n","Internet","Internet","Internet");} 程序運(yùn)行結(jié)果如下:Internet,Internet,Internet□□,□□□□□Inter,Inter□□□□□,Inter注意:系統(tǒng)輸出字符和字符串時(shí),不輸出單引號(hào)和雙引號(hào)。
2.14.3使用說(shuō)明(1)printf()可以輸出常量、變量和表達(dá)式的值。但格式控制中的格式說(shuō)明符,必須按從左到右的順序,與輸出項(xiàng)表中的每個(gè)數(shù)據(jù)一一對(duì)應(yīng),否則出錯(cuò)。例如,printf("str=%s,f=%d,i=%f\n","Internet",1.0/2.0,3+5,"CHINA");是錯(cuò)誤的。
(2)格式字符x、e、g可以用小寫字母,也可以用大寫字母。使用大寫字母時(shí),輸出數(shù)據(jù)中包含的字母也大寫。除了x、e、g格式字符外,其它格式字符必須用小寫字母。例如,%f不能寫成%F。(3)格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。例如,“printf(”c=%c,f=%f\n“,c,f);”中的第一個(gè)c和f,都是普通字符。2.15格式化輸入——scanf()函數(shù)
scanf()函數(shù)是用來(lái)從外部輸入設(shè)備向計(jì)算機(jī)主機(jī)輸入數(shù)據(jù)的。
2.15.1scanf()函數(shù)的一般格式
[案例4.6]已知圓柱體的底半徑radius=1.5,高h(yuǎn)igh=2.0,求其體積。
/*案例代碼文件名:AL4_6.C。*/
main(){floatradius,high,vol,pi=3.1415926;
printf("Pleaseinputradius&high:");
scanf(“%f%f”,&radius,&high);
/*從鍵盤輸入兩個(gè)實(shí)數(shù)賦給變量r,h*/
vol=pi*radius*radius*high;
printf("radius=%7.2f,high=%7.2f,vol=%7.2f\n",radius,high,vol);}
程序運(yùn)行結(jié)果如下:
Pleaseinputradius&high:1.5□2.0↙radius=□□□1.50,high=□□□2.00,vol=□□14.14
在程序中給計(jì)算機(jī)提供數(shù)據(jù),可以用賦值語(yǔ)句,也可以用輸入函數(shù)。在C語(yǔ)言中,可使用scanf()函數(shù),通過(guò)鍵盤輸入,給計(jì)算機(jī)同時(shí)提供多個(gè)、任意的數(shù)據(jù)。scanf()函數(shù)的一般格式scanf("格式字符串",輸入項(xiàng)首地址表);(1)格式字符串。格式字符串可以包含3種類型的字符:格式說(shuō)明、空白字符(空格、Tab鍵)和非空白字符(又稱普通字符)。格式指示符與printf()函數(shù)的相似,空白字符作為相鄰2個(gè)輸入數(shù)據(jù)的缺省分隔符,非空白字符在輸入有效數(shù)據(jù)時(shí),必須原樣一起輸入。(2)輸入項(xiàng)首地址表──由若干個(gè)輸入項(xiàng)首地址組成,相鄰2個(gè)輸入項(xiàng)首地址之間,用逗號(hào)分開(kāi)。
變量首地址的表示方法:
&變量名,其中“&”是地址運(yùn)算符。
例如,[案例2.7]中的“&radius”是指變量radius在內(nèi)存中的首地址。
2.scanf()函數(shù)的功能:從鍵盤上接收格式化輸入。運(yùn)行[案例4.7]的程序時(shí),從鍵盤上輸入2個(gè)實(shí)數(shù),分別存入&radius、&high起始的存儲(chǔ)單元中,即輸入兩個(gè)實(shí)數(shù)分別賦給radius和high。2.15.2格式指示符格式指示符的一般形式為:
%[*][寬度][h|l]格式字符
1.格式字符
d、o、x、u、c、s、f、e、g
格式字符,與printf類似。例如,在[案例4.7]的scanf()函數(shù)語(yǔ)句中,格式字符串“%f%f”。
2.長(zhǎng)度修正符l或hh——短整型;l——長(zhǎng)整型
3.域?qū)抧
指定該項(xiàng)輸入數(shù)據(jù)所占列數(shù)為n。
換句話說(shuō),讀取輸入數(shù)據(jù)中相應(yīng)的n位,但按需要的位數(shù)賦給相應(yīng)的變量,多余部分被舍棄。例如,scanf("%3c%3c",&ch1,&ch2);printf("ch1=%c,ch2=%c\n",ch1,ch2);
假設(shè)輸入“abcdefg”,則系統(tǒng)將讀取的“abc”中的“a”賦給變量ch1;將讀取的“def”中的“d”賦給變量ch2,所以printf()函數(shù)的輸出結(jié)果為:ch1=a,ch2=d。
例如,scanf("%3f%3d",&ch1,&ch2);printf("ch1=%f,ch2=%d\n",ch1,ch2);
輸入:123456
輸出:ch1=123.000000,ch2=4563.賦值抑制字符*表示本輸入項(xiàng)對(duì)應(yīng)的數(shù)據(jù)讀入后,不賦給相應(yīng)的變量(該變量由下一個(gè)格式指示符輸入)。
例如,scanf("%2d%*2d%3d",&num1,&num2);printf("num1=%d,num2=%d\n",num1,num2);
假設(shè)輸入“123456789”,則系統(tǒng)將讀取“12”并賦值給num1;讀取“34”、但舍棄掉(“*”的作用);讀取“567”并賦值給num2。所以,printf()函數(shù)的輸出結(jié)果為:num1=12,num2=567。
2.15.3數(shù)據(jù)輸入操作
1.如果相鄰2個(gè)格式指示符之間,不指定數(shù)據(jù)分隔符(如逗號(hào)、冒號(hào)等),則相應(yīng)的2個(gè)輸入數(shù)據(jù)之間,至少用一個(gè)空格分開(kāi),或者用Tab鍵分開(kāi),或者輸入1個(gè)數(shù)據(jù)后,按回車,然后再輸入下1個(gè)數(shù)據(jù)。
例如,scanf("%d%d",&num1,&num2);假設(shè)給num1輸入12,給num2輸入36,則正確的輸入操作為:12□36↙
或者:12↙36↙
注:使用“↙”符號(hào)表示按回車鍵操作,在輸入數(shù)據(jù)操作中的作用是,通知系統(tǒng)輸入操作結(jié)束。
2.“格式字符串”中出現(xiàn)的普通字符(包括轉(zhuǎn)義字符形式的字符),務(wù)必原樣輸入。例如,scanf("%d,%d",&num1,&num2);
假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為:12,36↙
另外,scanf()函數(shù)中、格式字符串內(nèi)的轉(zhuǎn)義字符(如\n),系統(tǒng)并不把它當(dāng)轉(zhuǎn)義字符來(lái)解釋,從而產(chǎn)生一個(gè)控制操作,而是將其視為普通字符,所以也要原樣輸入。例如:scanf("num1=%d,num2=%d\n",&num1,&num2);
假設(shè)給num1輸入12,給num2輸入36,正確的輸入操作為:
num1=12,num2=36\n↙
提高人機(jī)交互性建議:為改善人機(jī)交互性,同時(shí)簡(jiǎn)化輸入操作,在設(shè)計(jì)輸入操作時(shí),一般先用printf()函數(shù)輸出一個(gè)提示信息,再用scanf()函數(shù)進(jìn)行數(shù)據(jù)輸入。例如,將scanf("num1=%d,num2=%d\n",&num1,&num2);改為:
printf("n
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二級(jí)營(yíng)銷師模擬試題(含參考答案)
- 綠色環(huán)保設(shè)備進(jìn)銷存服務(wù)合同
- 2025陜西延安通和電業(yè)有限責(zé)任公司供電服務(wù)用工招聘103人筆試參考題庫(kù)附帶答案詳解
- 2025河北石家莊市國(guó)有企業(yè)招聘21人筆試參考題庫(kù)附帶答案詳解
- 2025年鄭州新鄭市投資集團(tuán)有限公司招聘工作人員25人筆試參考題庫(kù)附帶答案詳解
- 2025年宿州市宿馬園區(qū)兩站兩員招聘11人筆試參考題庫(kù)附帶答案詳解
- 2025山東濟(jì)南軌道交通酒店管理有限公司招聘13人筆試參考題庫(kù)附帶答案詳解
- 廣告合同承包協(xié)議書(shū)
- 三方公司股份合同協(xié)議書(shū)
- 轉(zhuǎn)售合同協(xié)議書(shū)
- 律師案件評(píng)估報(bào)告范文
- 《電力安全工作規(guī)程DLT408-2023》知識(shí)培訓(xùn)
- 文創(chuàng)產(chǎn)品的設(shè)計(jì)
- 18個(gè)文言虛詞用法及舉例
- GB/T 29498-2024木門窗通用技術(shù)要求
- 白血病M3護(hù)理查房
- 信息技術(shù)系統(tǒng)故障應(yīng)急恢復(fù)方案及保障措施
- 水腫的判斷及治療指南
- 《工業(yè)機(jī)器人系統(tǒng)維護(hù)》試卷6及答案
- 大數(shù)據(jù)算法學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 母乳喂養(yǎng)課件(共68張課件)課件
評(píng)論
0/150
提交評(píng)論