第2章基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式_第1頁(yè)
第2章基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式_第2頁(yè)
第2章基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式_第3頁(yè)
第2章基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式_第4頁(yè)
第2章基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 1c c語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 2本章主要介紹本章主要介紹c c語(yǔ)言的基本數(shù)據(jù)類(lèi)型、常量與變量、運(yùn)語(yǔ)言的基本數(shù)據(jù)類(lèi)型、常量與變量、運(yùn)算符及表達(dá)式,以及算符及表達(dá)式,以及c c語(yǔ)言提供的常用庫(kù)函數(shù)。語(yǔ)言提供的常用庫(kù)函數(shù)。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 32.2 變量和常量2.3 運(yùn)算符和表達(dá)式2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換2.5 數(shù)據(jù)的輸入輸出2.6 內(nèi)部函數(shù)2021-1

2、0-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 4 計(jì)算機(jī)中處理的數(shù)據(jù)包括數(shù)字、文字、聲音、圖形、圖像等各種形式。數(shù)據(jù)類(lèi)型是按數(shù)據(jù)的性質(zhì)、表示形式、占據(jù)存儲(chǔ)空間的多少、構(gòu)造特點(diǎn)來(lái)劃分的。為了更好地對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和處理,語(yǔ)言中的數(shù)據(jù)類(lèi)型可分為:基本數(shù)據(jù)類(lèi)型,基本數(shù)據(jù)類(lèi)型,構(gòu)造數(shù)據(jù)類(lèi)型,指針類(lèi)型,空類(lèi)型四大類(lèi)構(gòu)造數(shù)據(jù)類(lèi)型,指針類(lèi)型,空類(lèi)型四大類(lèi)2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 5整型(整型(int)數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型基本類(lèi)型基本類(lèi)型整型整型單精度型(單精度型(float)字符型(字符型(char)長(zhǎng)整型(長(zhǎng)整型(l

3、ong)短整型(短整型(short)實(shí)型實(shí)型雙精度型雙精度型(double)枚舉類(lèi)型(枚舉類(lèi)型(enum)共用體類(lèi)型(共用體類(lèi)型(union)構(gòu)造類(lèi)型構(gòu)造類(lèi)型結(jié)構(gòu)體類(lèi)型(結(jié)構(gòu)體類(lèi)型(struct)數(shù)組類(lèi)型數(shù)組類(lèi)型空類(lèi)型(空類(lèi)型(void)指針類(lèi)型(指針類(lèi)型(*)2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 6基本整型基本整型 intint短整型短整型 shortshort或或short intshort int長(zhǎng)整型長(zhǎng)整型 longlong或或long intlong int無(wú)符號(hào)基本整型無(wú)符號(hào)基本整型 unsigned intunsigned in

4、t無(wú)符號(hào)短整型無(wú)符號(hào)短整型 unsigned shortunsigned short或或unsigned short intunsigned short int無(wú)符號(hào)長(zhǎng)整型無(wú)符號(hào)長(zhǎng)整型 unsigned longunsigned long或或unsigned long intunsigned long int 注意:c語(yǔ)言沒(méi)有規(guī)定各種整數(shù)類(lèi)型的表示范圍,只是規(guī)定了long類(lèi)型的表示范圍不小于int,但也允許它們表示范圍相同。 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 7實(shí)型數(shù)據(jù)又稱(chēng)浮點(diǎn)型數(shù)據(jù)。floatfloat,單精度浮點(diǎn)數(shù)類(lèi)型,簡(jiǎn)稱(chēng)浮點(diǎn)類(lèi)型;

5、,單精度浮點(diǎn)數(shù)類(lèi)型,簡(jiǎn)稱(chēng)浮點(diǎn)類(lèi)型;double,double,雙精度浮點(diǎn)數(shù)類(lèi)型,簡(jiǎn)稱(chēng)雙精度類(lèi)型;雙精度浮點(diǎn)數(shù)類(lèi)型,簡(jiǎn)稱(chēng)雙精度類(lèi)型;long doublelong double,長(zhǎng)雙精度類(lèi)型,長(zhǎng)雙精度類(lèi)型。 所有整數(shù)類(lèi)型和實(shí)數(shù)類(lèi)型統(tǒng)稱(chēng)為算術(shù)類(lèi)型算術(shù)類(lèi)型。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 8字符類(lèi)型的數(shù)據(jù)即通常的字符。字符類(lèi)型的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是它的asciiascii碼碼值,一個(gè)字符通常占用一個(gè)字節(jié)的內(nèi)存空間。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 9ascii碼字符的取值范圍是0127,

6、既可以用char類(lèi)型表示,也可以用unsigned char類(lèi)型表示;在128255范圍內(nèi)的擴(kuò)展ascii碼字符只能用unsigned char類(lèi)型表示。c語(yǔ)言規(guī)定字符類(lèi)型與整型基本一致,分為有符號(hào)和無(wú)符號(hào)兩種類(lèi)型。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 10注意:c語(yǔ)言類(lèi)型的長(zhǎng)度完全由編譯器決定,char 通常被定義成 8 位寬;int 通常被定義成 16 位或 32 位寬(或更高),它取決于平臺(tái) c語(yǔ)言規(guī)定:long = int = short = char . (這里的=指類(lèi)型的寬度大于等于)。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型

7、、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 112.1 數(shù)據(jù)類(lèi)型歷史和特點(diǎn)2.3 運(yùn)算符和表達(dá)式2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換2.5 數(shù)據(jù)的輸入輸出2.6 內(nèi)部函數(shù)2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 12對(duì)于基本數(shù)據(jù)類(lèi)型量,按其取值是否可改變又分為常量和變量?jī)煞N。在程序執(zhí)行過(guò)程中,其值不發(fā)生改變的量稱(chēng)為常量,其值可變的量稱(chēng)為變量。與數(shù)據(jù)類(lèi)型結(jié)合起來(lái)分類(lèi),分為整型常量、整型變量、浮點(diǎn)常量、浮點(diǎn)變量、字符常量、字符變量、枚舉常量、枚舉變量。在程序中,常量是可以不經(jīng)說(shuō)明而直接引用的,而變量則必須先定義后使用。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、

8、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 13變量名代表該變量的存儲(chǔ)單元及其存放的值,系統(tǒng)為不同類(lèi)型的變量在內(nèi)存中開(kāi)辟不同的存儲(chǔ)單元,以便存放相應(yīng)類(lèi)型的值;不同類(lèi)型的變量存放數(shù)據(jù)的方法也不相同。系統(tǒng)還根據(jù)變量的類(lèi)型檢查該變量所進(jìn)行的運(yùn)算是否合法,例如只有整型變量和整數(shù)才能參與求余(%)運(yùn)算。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 141. 1.變量的定義和賦值變量的定義和賦值c語(yǔ)言要求程序中使用的每個(gè)變量都必須先定義,然后才能使用。定義變量需要用變量定義語(yǔ)句進(jìn)行,其形式為:類(lèi)型 變量名=初值,變量名=初值,;2021-10-12第第2章章 基

9、本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 152.變量中數(shù)據(jù)的存儲(chǔ)c語(yǔ)言中無(wú)符號(hào)整數(shù)無(wú)符號(hào)整數(shù)的存儲(chǔ)相對(duì)簡(jiǎn)單,存儲(chǔ)單元的每個(gè)二進(jìn)制位存放的0或1均表示數(shù)。有符號(hào)整數(shù)則用補(bǔ)碼表示 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)是按指數(shù)形式存儲(chǔ)的 。用一個(gè)字節(jié)(8位二進(jìn)制信息)存儲(chǔ)字符類(lèi)型數(shù)據(jù)字符類(lèi)型數(shù)據(jù) 。注意:可以把字符型數(shù)據(jù)看成是整型數(shù)據(jù)。語(yǔ)言允許對(duì)整型變量賦以字符值,也允許對(duì)字符變量賦以整型值。在輸出時(shí),允許把字符變量按整型量輸出,也允許把整型量按字符量輸出。 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 16常量可分為直接常量和符號(hào)常量,其中直接常量包括:整型

10、常量、實(shí)型常量、字符型常量、字符串常量。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 171. 1.整型常量整型常量整型常量有三種表示方法:(1) 十進(jìn)制整數(shù):如154、565、-6523。(2) 八進(jìn)制整數(shù):以0開(kāi)頭的數(shù)是八進(jìn)制數(shù)。(3) 十六進(jìn)制整數(shù):以0 x開(kāi)頭的數(shù)是十六進(jìn)制數(shù)。在上述方法表示的整數(shù)后面附一個(gè)字母l或l作后綴,即可表示該數(shù)據(jù)的類(lèi)型是長(zhǎng)整型的。注意:長(zhǎng)整型數(shù)據(jù)和普通整型數(shù)據(jù)的區(qū)別。 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 182.2.實(shí)型常量實(shí)型常量在c語(yǔ)言中,把帶小數(shù)的數(shù)稱(chēng)為實(shí)數(shù)

11、或浮點(diǎn)數(shù)。實(shí)型常量只能用十進(jìn)制形式表示,不能用八進(jìn)制和十六進(jìn)制形式表示。實(shí)型常量有兩種表示方法:(1) 小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,如3.1415926、 -0.12、.4、3.等都是實(shí)數(shù)。(2) 指數(shù)形式:如1.23e5或12.3e4都代表1.23x105。注意:字母字母e e(或(或e e)之前必須有數(shù)字,且)之前必須有數(shù)字,且e e后面指數(shù)必須后面指數(shù)必須為整數(shù)為整數(shù),如e3、2.1e3.2、e等都不是合法的指數(shù)形式。 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 193.3.字符常量字符常量字符型常量是由一對(duì)單引號(hào)括起來(lái)的單個(gè)字符構(gòu)成,在語(yǔ)

12、言中,字符常量有以下特點(diǎn):(1) 字符常量只能用單引號(hào)括起來(lái),不能用雙引號(hào)或其它括號(hào)。(2) 字符常量只能是單個(gè)字符,不能是字符串。(3) 字符可以是字符集中任意字符。一個(gè)字符型常量的值是該字符集中對(duì)應(yīng)的ascii編碼值。顯然5和5 是不同的。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 20表2-3 轉(zhuǎn)義字符表字符字符形式形式功功 能能n換行,將光標(biāo)從當(dāng)前位置移到下一行開(kāi)頭t橫向跳格,光標(biāo)跳到下一個(gè)水平制表位b退格r回車(chē),將光標(biāo)從當(dāng)前位置移到本行開(kāi)頭f換頁(yè),將光標(biāo)從當(dāng)前位置移到下一頁(yè)開(kāi)頭反斜杠字符“”單引號(hào)字符“”雙引號(hào)字符“”ddd1到3位8進(jìn)制

13、數(shù)所代表的字符xhh1到2位16進(jìn)制數(shù)所代表的字符2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 214.4.字符串常量字符串常量c語(yǔ)言中沒(méi)有專(zhuān)門(mén)的字符串類(lèi)型的變量,但有字符串常量。字符串常量由一對(duì)雙引號(hào)括起來(lái)的字符序列組成,如“abc”、“a”等都是字符串常量。雙引號(hào)僅起定界符的作用。字符串常量與字符常量的區(qū)別區(qū)別:(1) 字符常量由單引號(hào)括起來(lái),字符串常量由雙引號(hào)括起來(lái)。(2) 字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量在內(nèi)存中存儲(chǔ)時(shí)由系統(tǒng)自動(dòng)在存儲(chǔ)的所有字符尾部添加串結(jié)束標(biāo)記0,所以,字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符所占的字節(jié)數(shù)加1。202

14、1-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 225.5.符號(hào)常量符號(hào)常量符號(hào)常量就是使用符號(hào)代表常量。c語(yǔ)言中允許用標(biāo)識(shí)符定義一個(gè)常量,這種常量定義在c語(yǔ)言中被稱(chēng)之為“宏定義”,其一般形式為:#define #define 標(biāo)識(shí)符標(biāo)識(shí)符 常量常量其中#define是一條預(yù)處理命令,稱(chēng)為宏定義命令,其功能是把該標(biāo)識(shí)符定義為其后的常量值。一經(jīng)定義,以后在程序中所有出現(xiàn)該標(biāo)識(shí)符的地方均代之以該常量值。習(xí)慣上,符號(hào)常量的標(biāo)識(shí)符用大寫(xiě)字母,變量標(biāo)識(shí)符用小寫(xiě)字母,以示區(qū)別。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 23

15、2.1 數(shù)據(jù)類(lèi)型歷史和特點(diǎn)2.2 變量和常量2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換2.5 數(shù)據(jù)的輸入輸出2.6 內(nèi)部函數(shù)2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 241. 1. 基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符c語(yǔ)言中基本的算術(shù)運(yùn)算符共有5種:+ (加), - (減), * (乘), / (除),% (取模,或稱(chēng)求余運(yùn)算符)c語(yǔ)言規(guī)定:(1) %運(yùn)算符僅用于整型變量或整型常量的運(yùn)算運(yùn)算符僅用于整型變量或整型常量的運(yùn)算,a%b的結(jié)果為a除以b的余數(shù),余數(shù)的符號(hào)與被除數(shù)相同,如:7%3的結(jié)果為1;7%-3的結(jié)果為1;-7%3的結(jié)果為-1。(2) +、-、*、/ 運(yùn)算符

16、的兩個(gè)操作數(shù)既可以是整數(shù),也可以是實(shí)數(shù)。當(dāng)兩個(gè)操作數(shù)均是整數(shù)時(shí),結(jié)果仍是整數(shù);若參加運(yùn)算的兩個(gè)操作數(shù)中有一個(gè)是實(shí)數(shù),則結(jié)果為結(jié)果為doubledouble型型,因?yàn)樗袑?shí)數(shù)都按double型進(jìn)行運(yùn)算。(3) 當(dāng)對(duì)兩個(gè)整型的數(shù)據(jù)相除時(shí)結(jié)果為整數(shù)當(dāng)對(duì)兩個(gè)整型的數(shù)據(jù)相除時(shí)結(jié)果為整數(shù)。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 252.2.自增、自減運(yùn)算符自增、自減運(yùn)算符 自增運(yùn)算符+和自減運(yùn)算符-是c語(yǔ)言中兩個(gè)較為獨(dú)特的單目運(yùn)算符,具有右結(jié)合性。它們既可以放在操作數(shù)前,也可以放在操作數(shù)后,并且操作對(duì)象只能是變量,不能是常量或表達(dá)式。如5+,+(a+b)等

17、都是錯(cuò)誤的。自增自減運(yùn)算符的作用是將操作對(duì)象的值增加1或減去1。如:i+,i- /* 表示在使用i值之后將i的值加(減)1 */+i,-i /* 表示在使用i值之前將i的值加(減)1 */2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 263.3.賦值運(yùn)算符賦值運(yùn)算符c語(yǔ)言中,賦值被認(rèn)為是一種運(yùn)算,由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱(chēng)為賦值表達(dá)式。其形式是: 賦值運(yùn)算符為“=”,它的作用是將賦值運(yùn)算符右邊表達(dá)式或常量的值賦給其左邊的變量。賦值表達(dá)式的值就是被賦值賦值表達(dá)式的值就是被賦值的變量的值的變量的值。例如:a=6這個(gè)賦值表達(dá)式的值是

18、6(變量a的值也是6)。賦值表達(dá)式的值也可以再賦給其它變量,如:a=(b=3+5),括號(hào)內(nèi)的b=3+5是一個(gè)賦值表達(dá)式,其值為8,所以a的值為8,整個(gè)表達(dá)式的值也為8。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 274.4.復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符c語(yǔ)言允許在賦值運(yùn)算符“=”之前加上其他運(yùn)算符以構(gòu)成復(fù)合的賦值運(yùn)算符。例如:a+=5;等價(jià)于a=a+5;a*=b+5;等價(jià)于 a=a*(b+5);凡是雙目運(yùn)算符,都可以和賦值運(yùn)算符一起組合成復(fù)合的賦值運(yùn)算符。在c語(yǔ)言中,可以使用的復(fù)合賦值運(yùn)算符有:+=,-=,*=,/=,%=,=,&=,=,|=202

19、1-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 285.5.關(guān)系運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算實(shí)際上就是比較運(yùn)算。比較兩個(gè)量的運(yùn)算符就稱(chēng)為關(guān)系運(yùn)算符。 在c語(yǔ)言中為我們提供了6種關(guān)系運(yùn)算符: 小于 大于= 大于或等于= = 等于!= 不等于 關(guān)系運(yùn)算符都是雙目運(yùn)算符,要求兩個(gè)操作數(shù)是同一種數(shù)據(jù)類(lèi)型,其結(jié)果為邏輯值結(jié)果為邏輯值。即關(guān)系成立時(shí),其值為真,按c語(yǔ)言的習(xí)慣,用非0值(一般用1)表示;關(guān)系不成立時(shí),其值為假,用0表示。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 296.6.邏輯運(yùn)算符邏輯運(yùn)算符語(yǔ)言中為我們提供了三

20、種邏輯運(yùn)算符,分別是:& 與運(yùn)算| 或運(yùn)算! 非運(yùn)算其中,與運(yùn)算符&和或運(yùn)算符|均為雙目運(yùn)算符,非運(yùn)算符!為單目運(yùn)算符單目運(yùn)算符。例如:a&b 當(dāng)a,b都為真時(shí),結(jié)果為真a|b 當(dāng)a,b都為假時(shí),結(jié)果為假!a 當(dāng)a為真時(shí),結(jié)果為假;當(dāng)a為假時(shí),結(jié)果為真2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 307.7.位運(yùn)算位運(yùn)算位運(yùn)算符是以單獨(dú)的二進(jìn)制位為操作對(duì)象的運(yùn)算。也就是說(shuō),其操作數(shù)是二進(jìn)制數(shù)其操作數(shù)是二進(jìn)制數(shù)。c語(yǔ)言中提供的位運(yùn)算符有:按位與(&)、按位或(|)、按位異或()、按位取反()、左移(),2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算

21、符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 318.8.求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算符 sizeof是c語(yǔ)言的一種單目操作符,并不是函數(shù)。 sizeof操作符以字節(jié)形式給出了其操作數(shù)的存儲(chǔ)大小。操作數(shù)可以是一個(gè)表達(dá)式或括在括號(hào)內(nèi)的類(lèi)型名。sizeof可以用于數(shù)據(jù)類(lèi)型和變量。 關(guān)于sizeof的結(jié)果:操作數(shù)具有類(lèi)型char、unsignedchar或signedchar,其結(jié)果等于1。因?yàn)閍nsic正式規(guī)定字符類(lèi)型為1字節(jié)。 int、unsignedint、shortint、unsignedshort、longint、unsignedlong、float、double、longdouble類(lèi)型的siz

22、eof在ansic中沒(méi)有具體規(guī)定,大小依賴(lài)于實(shí)現(xiàn),一般可能分別為2、2、2、2、4、4、4、8、10。 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 329.9.逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符用逗號(hào)運(yùn)算符可以將兩個(gè)表達(dá)式連接起來(lái),所形成的就是逗號(hào)表達(dá)式,其一般形式為:表達(dá)式1,表達(dá)式2逗號(hào)表達(dá)式的求值過(guò)程是:先求表達(dá)式1的值,再求表達(dá)式2的值,表達(dá)式2的值就是整個(gè)逗號(hào)表達(dá)式的值。逗號(hào)表達(dá)式的一般形式可以擴(kuò)展為:表達(dá)式表達(dá)式1 1,表達(dá)式,表達(dá)式2 2,表達(dá)式,表達(dá)式3 3,表達(dá)式,表達(dá)式n n表達(dá)式表達(dá)式n n的值為整個(gè)表達(dá)式的值。的值為整個(gè)表達(dá)式的值。202

23、1-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 3310.10.條件運(yùn)算符條件運(yùn)算符條件運(yùn)算符是三目運(yùn)算符,要求有3個(gè)操作對(duì)象,并且三個(gè)操作對(duì)象都是表達(dá)式。條件表達(dá)式的其一般形式為:表達(dá)式表達(dá)式1? 1? 表達(dá)式表達(dá)式2 2:表達(dá)式:表達(dá)式3 3 條件運(yùn)算的求值規(guī)則為:計(jì)算表達(dá)式1的值,若表達(dá)式1的值為真,則以表達(dá)式2的值作為整個(gè)條件表達(dá)式的值,否則以表達(dá)式3的值作為整個(gè)條件表達(dá)式的值。注意:(1)條件表達(dá)式中,表達(dá)式1通常為關(guān)系或邏輯表達(dá)式,表達(dá)式2、3的類(lèi)型可以是數(shù)值表達(dá)式、賦值表達(dá)式、函數(shù)表達(dá)式或條件表達(dá)式。(2)條件表達(dá)式的結(jié)果類(lèi)型:表達(dá)式2和表達(dá)式

24、3中的較高者 。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 34表達(dá)式由運(yùn)算符和操作數(shù)構(gòu)成。操作數(shù)可以是常量和變量。表達(dá)式的類(lèi)型表達(dá)式的類(lèi)型就是表達(dá)式計(jì)算結(jié)果的類(lèi)型。混合于同一表達(dá)式中的不同類(lèi)型常量及變量,應(yīng)均變換為同一類(lèi)型的量。c語(yǔ)言的編譯程序?qū)⑺胁僮鲾?shù)變換為與最大類(lèi)型操作數(shù)同類(lèi)型。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 35c語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性?xún)?yōu)先級(jí)和結(jié)合性。在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,例如先乘除后加減。若一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先級(jí)別相同,如a-b+c

25、,則按規(guī)定的“結(jié)合方向”處理。c規(guī)定了各種運(yùn)算符的結(jié)合方向。算術(shù)運(yùn)算符算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇保殖蔀樽蠼Y(jié)合性,即先左后右,因此b先與減號(hào)結(jié)合,執(zhí)行a-b的運(yùn)算,再執(zhí)行加c的運(yùn)算。以后可以看到有些運(yùn)算符的結(jié)合方向?yàn)椤白杂抑磷蟆?,即右結(jié)合性。關(guān)系運(yùn)算符關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,關(guān)系運(yùn)算符中 、= 、 、b)?a:b可以去掉括號(hào),寫(xiě)為max=ab?a:b,執(zhí)行時(shí)意義是相同的。條件運(yùn)算符的結(jié)合方向是自右至左。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 37賦值運(yùn)算符和復(fù)合賦值運(yùn)算符的優(yōu)先級(jí)相同,且都具有右結(jié)合性。它們的優(yōu)先級(jí)除了比逗號(hào)運(yùn)

26、算符的優(yōu)先級(jí)高以外,比其它運(yùn)算符的優(yōu)先級(jí)都低。逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。例如:逗號(hào)表達(dá)式:x=2,4*5運(yùn)算時(shí),先算第一個(gè)賦值表達(dá)式x=2,再算算術(shù)表達(dá)式4*5,最后算整個(gè)逗號(hào)表達(dá)式的值。逗號(hào)表達(dá)式的值為算術(shù)表達(dá)式的值20。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 382.1 數(shù)據(jù)類(lèi)型歷史和特點(diǎn)2.2 變量和常量2.3 運(yùn)算符和表達(dá)式2.5 數(shù)據(jù)的輸入輸出2.6 內(nèi)部函數(shù)2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 39c語(yǔ)言允許不同數(shù)據(jù)類(lèi)型相互轉(zhuǎn)換。類(lèi)型轉(zhuǎn)換有三種方式:自動(dòng)類(lèi)型轉(zhuǎn)換、賦值類(lèi)型

27、轉(zhuǎn)換和強(qiáng)制類(lèi)型轉(zhuǎn)換。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 40 高 double float long unsigned 低 int char,short 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 41賦值運(yùn)算時(shí),如果賦值運(yùn)算符兩側(cè)的類(lèi)型(指基本類(lèi)型)不一致,系統(tǒng)自動(dòng)將表達(dá)式的值轉(zhuǎn)換成變量的類(lèi)型存到變量的存儲(chǔ)單元,轉(zhuǎn)換的結(jié)果可能出現(xiàn)以下情況:(1) 當(dāng)整型數(shù)據(jù)賦給浮點(diǎn)型變量時(shí),數(shù)值上不發(fā)生任何變化,但有效位增加。如:float f;f=16; /* 內(nèi)存中變量f的值為16.000000 */(2

28、) 當(dāng)單、雙精度浮點(diǎn)型數(shù)據(jù)賦給整型變量時(shí),浮點(diǎn)數(shù)的小數(shù)部分將被舍棄。如:int a;a=8.38; /* 內(nèi)存中變量a的值為8 */2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 42(3) 將字符型數(shù)據(jù)賦給整型變量時(shí),由于字符只占一個(gè)字節(jié),而整型變量為2個(gè)字節(jié),因此將字符數(shù)據(jù)(8位)放到整型變量低8位中。有兩種情況: 將unsigned charunsigned char型型數(shù)據(jù)賦給unsigned int或int型變量時(shí),高8位補(bǔ)0。 將charchar型型數(shù)據(jù)賦給unsigned int或int型變量時(shí),若字符值最高位為0,則高8位補(bǔ)0;若字符值

29、最高位為1,則高8位全補(bǔ)1。實(shí)際上,長(zhǎng)度短的整型數(shù)據(jù)賦給長(zhǎng)度長(zhǎng)的變量時(shí),都有類(lèi)似的處理方法。如unsigned int型數(shù)據(jù)賦給unsigned long或long型變量時(shí),處理方法類(lèi)似情況,即將高16位補(bǔ)0;int型數(shù)據(jù)賦給unsigned long或long型變量時(shí),處理方法類(lèi)似情況,對(duì)高16位分情況處理。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 43(4) 當(dāng)長(zhǎng)度長(zhǎng)的整型數(shù)據(jù)賦給長(zhǎng)度短的變量時(shí),將進(jìn)行截?cái)噘x值。如將一個(gè)long型數(shù)據(jù)賦給一個(gè)int或unsigned int型變量時(shí),只將long型數(shù)據(jù)的低16位原封不動(dòng)送到變量中。(5) 當(dāng)整

30、型數(shù)據(jù)賦給長(zhǎng)度相同的變量時(shí),將進(jìn)行原樣賦值。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 44可以利用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式強(qiáng)制轉(zhuǎn)換成所需類(lèi)型。強(qiáng)制類(lèi)型轉(zhuǎn)換的一般形式為:( (類(lèi)型名類(lèi)型名)( )(表達(dá)式表達(dá)式) )【注意】(1) 表達(dá)式應(yīng)該用括號(hào)括起來(lái)。例如:(int)(a+b); /* 表示將表達(dá)式a+b結(jié)果的類(lèi)型強(qiáng)制 轉(zhuǎn)換成int型 */(int)a+b; /* 表示將變量a的類(lèi)型強(qiáng)制轉(zhuǎn)換成int型后,再進(jìn)行運(yùn)算 */(2) 經(jīng)強(qiáng)制類(lèi)型轉(zhuǎn)換后,得到的是一個(gè)所需類(lèi)型的中間變量,原來(lái)變量的類(lèi)型并沒(méi)有發(fā)生任何變化原來(lái)變量的類(lèi)型并沒(méi)有發(fā)生任何變

31、化。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 452.1 數(shù)據(jù)類(lèi)型歷史和特點(diǎn)2.2 變量和常量2.3 運(yùn)算符和表達(dá)式2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換2.6 內(nèi)部函數(shù)2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 46c語(yǔ)言的輸入和輸出功能由標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)來(lái)實(shí)現(xiàn) 。stdio.hstdio.h是標(biāo)準(zhǔn)的輸入輸出函數(shù)庫(kù)頭文件,包括putchar(輸出字符),getchar(輸入字符),printf(格式輸出),scanf(格式輸入),puts(輸出字符串),gets(輸入字符串)等函數(shù)??紤]到prin

32、tf、scanf使用頻繁,系統(tǒng)允許在使用這兩個(gè)函數(shù)時(shí)可省略#include命令。而使用其他函數(shù)必須使用預(yù)編譯命令“#include”,將有關(guān)的“頭文件”包含到用戶源文件中,#include命令一般放在程序的開(kāi)頭。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 47printf函數(shù)的功能是向系統(tǒng)指定的設(shè)備輸出若干個(gè)任意類(lèi)型的數(shù)據(jù)。1.printf1.printf函數(shù)調(diào)用形式函數(shù)調(diào)用形式printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù),其調(diào)用的一般形式:printf(格式控制字符串,輸出列表);(1) 格式控制字符串是用雙引號(hào)括起來(lái)的字符串,它包括兩個(gè)信息: 格式說(shuō)明部分

33、格式說(shuō)明部分。由“%”開(kāi)頭和格式字符結(jié)尾,如%d,%c,%f等。它的作用是將要輸出的數(shù)據(jù)轉(zhuǎn)化成指定的格式輸出,格式說(shuō)明都是由“%”字符開(kāi)始的。 一般字符(非格式字符)一般字符(非格式字符)。即按原樣輸出的字符,在顯示時(shí)起提示作用。它由普通字符和轉(zhuǎn)義字符構(gòu)成。如:printf(na=%dn,a); /* 雙引號(hào)內(nèi)換行符、字符c=都是原樣輸出字符*/2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 48(2) 輸出列表是需要輸出的一些數(shù)據(jù),如變量、函數(shù)、表達(dá)式。輸出列表的個(gè)數(shù)與格式說(shuō)明符的個(gè)數(shù)一般應(yīng)保持一致。如:2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、

34、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 492.2.格式說(shuō)明格式說(shuō)明格式說(shuō)明符由“%”開(kāi)頭,以一個(gè)英文字母結(jié)束,它表明輸出數(shù)據(jù)的類(lèi)型;其間還可以有一些格式控制字符,用以說(shuō)明數(shù)據(jù)輸出的長(zhǎng)度、位數(shù)、對(duì)齊方式等。 %-+0#輸出數(shù)據(jù)最小寬度m.精度n數(shù)據(jù)長(zhǎng)度類(lèi)型其中: :表示可選項(xiàng)。格式控制字符-、+、0、#的具體含義如表2-5所示。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 50表2-5 printf函數(shù)常用附加格式符字符字符形式形式字字 符符 含含 義義 表示輸出時(shí)輸出數(shù)值的符號(hào)(或)且數(shù)值右對(duì)齊,左邊補(bǔ)空格,缺省時(shí)表示若輸出正值,則前面是空格,

35、若是負(fù)數(shù),則在數(shù)值前面輸出負(fù)號(hào)() 表示輸出時(shí),數(shù)值左對(duì)齊,右邊補(bǔ)空格0表示輸出時(shí),在數(shù)值的前面多余的空格用0來(lái)代替# 對(duì)格式字符o(八進(jìn)制)數(shù)字前加0,對(duì)格式字符x或x(十六進(jìn)制)數(shù)字前加0 x或0x2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 51 輸出數(shù)據(jù)最小寬度輸出數(shù)據(jù)最小寬度mm:m是十進(jìn)制整數(shù),它表示用十進(jìn)制輸出的最少位數(shù),當(dāng)需要輸出的數(shù)據(jù)長(zhǎng)度超過(guò)該數(shù)時(shí),該選項(xiàng)不起作用,數(shù)據(jù)按實(shí)際位數(shù)進(jìn)行輸出,當(dāng)需要輸出的數(shù)據(jù)長(zhǎng)度小于該數(shù)時(shí),則在該數(shù)的左邊補(bǔ)空格或0。. .精度精度nn:是“.”加上十進(jìn)制整數(shù)n。其含義是:如果輸出的是數(shù)值,則該數(shù)表示小數(shù)

36、位數(shù),若實(shí)際位數(shù)大于所定義的精度,則截去超過(guò)部分;如果輸出的是字串,則表示輸出字符的個(gè)數(shù)。 數(shù)據(jù)長(zhǎng)度數(shù)據(jù)長(zhǎng)度 :是字符,它有兩種形式:h、l。h表示按短整型量輸出,l表示按長(zhǎng)整型量輸出。類(lèi)型類(lèi)型:是格式說(shuō)明符中必須要有的,它表示輸出列表里要輸出的數(shù)據(jù)類(lèi)型。表2-6給出了常用的類(lèi)型格式符及含義。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 52表2-6 printf函數(shù)常用類(lèi)型格式符表格式字符形式格式字符形式格式字符含義格式字符含義 d( d(或或i) i)表示以十進(jìn)制形式輸出一個(gè)帶符號(hào)的整數(shù)(默認(rèn)正數(shù)不輸出符號(hào)) o o表示以八進(jìn)制形式輸出一個(gè)無(wú)符號(hào)

37、的整數(shù)(默認(rèn)不輸出前導(dǎo)符0) x( x(或或x)x)表示以十六進(jìn)制形式輸出一個(gè)無(wú)符號(hào)的整數(shù),用x則輸出十六進(jìn)制的af時(shí)以小寫(xiě)形式輸出,用x則凡以大寫(xiě)形式輸出,(默認(rèn)不輸出前導(dǎo)符0 x或0x) u u表示以十進(jìn)制形式輸出一個(gè)無(wú)符號(hào)的整數(shù) f f表示以小數(shù)形式輸出帶符號(hào)的實(shí)數(shù)(包括單、雙精度),默認(rèn)輸出6位小數(shù) e( e(或或e)e)表示以指數(shù)形式輸出,默認(rèn)小數(shù)點(diǎn)前1位非0整數(shù),5位小數(shù)。 g( g(或或g)g)表示選擇%f或%e格式輸出實(shí)數(shù)(選擇占寬度較小的一種格式,不輸出無(wú)意義的0) c c表示輸出一個(gè)單字符 s s表示輸出一個(gè)字符串 %表示輸入百分號(hào)本身2021-10-12第第2章章 基本數(shù)

38、據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 53在使用printf函數(shù)時(shí),要注意以下幾個(gè)問(wèn)題:(1) 在格式控制字符串中可包“轉(zhuǎn)義字符”,如n、t、r、b、377等。(2) 控制輸出類(lèi)型的格式符除x(表示輸出的十六進(jìn)制數(shù)用大寫(xiě)字母輸出)、e(表示輸出的指數(shù)e用大寫(xiě)字母e輸出)、g(表示若選用指數(shù)形式輸出,則用大寫(xiě)字母e輸出)外,其余必須是小寫(xiě)字母,如%d不能寫(xiě)成%d。(3) 若想輸出字符“%”%”,則在格式字符串中用連續(xù)兩個(gè)%表示。如:printf(%f%,1.0/4);則輸出:0.250000%2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式

39、54(4)輸出是從右向左計(jì)算輸出項(xiàng)后,按格式說(shuō)明的順序?qū)?yīng)輸出。一般格式說(shuō)明和輸出項(xiàng)的個(gè)數(shù)和類(lèi)型應(yīng)相同,如不匹配系統(tǒng)并不報(bào)錯(cuò),系統(tǒng)將按以下操作。a、格式說(shuō)明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),多余的輸出項(xiàng)將不輸出;格式說(shuō)明的個(gè)數(shù)多于輸出項(xiàng)的個(gè)數(shù),多余的格式說(shuō)明將輸出隨機(jī)的值。b、整型數(shù)據(jù)按%f 輸出,出現(xiàn)運(yùn)行錯(cuò)誤;實(shí)型數(shù)據(jù)按%d 輸出,運(yùn)行錯(cuò)結(jié)果為0; 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 55scanf函數(shù)的功能是從鍵盤(pán)上將數(shù)據(jù)按用戶指定的格式輸入并賦給指定的變量。1.scanf1.scanf函數(shù)調(diào)用形式函數(shù)調(diào)用形式scanf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù),其調(diào)

40、用的一般形式:scanf(格式控制字符串,地址列表);其中格式控制字符串的定義與使用方法和printf函數(shù)大致相同,但不能顯示非格式字符串,即不能顯示提示字符串。地址列表是要賦值的各變量地址。地址是由地址運(yùn)算符“&”后跟變量名組成,如&x表示變量x的地址。& &是取地址運(yùn)算符是取地址運(yùn)算符,其作用是求變量的地址。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 562.2.格式說(shuō)明符格式說(shuō)明符與printf函數(shù)中的格式說(shuō)明符相似,以%開(kāi)始,后面跟一個(gè)格式符,中間可以有若干個(gè)附加字符,格式字符串的一般形式為:%輸入數(shù)據(jù)寬度m長(zhǎng)度 類(lèi)型其中: :表示可選項(xiàng):

41、表示輸入的數(shù)值不賦給相應(yīng)的變量,即跳過(guò)該數(shù)據(jù)不讀。 輸入數(shù)據(jù)寬度輸入數(shù)據(jù)寬度mm:m是十進(jìn)制正整數(shù),表示按m的寬度輸入數(shù)據(jù)。 長(zhǎng)度長(zhǎng)度 :長(zhǎng)度格式符為l和h,l表示輸入長(zhǎng)整型數(shù)據(jù)或雙精度實(shí)型數(shù)據(jù);h表示輸入短整型數(shù)據(jù)。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 57類(lèi)型類(lèi)型:是格式說(shuō)明符中必須要有的,其格式符的意義與printf函數(shù)基本相同表表2-7 scanf2-7 scanf函數(shù)常用類(lèi)型格式符表函數(shù)常用類(lèi)型格式符表格式字符形式格式字符形式格式字符含義格式字符含義 d,id,i表示以十進(jìn)制形式輸入一個(gè)整數(shù)表示以十進(jìn)制形式輸入一個(gè)整數(shù) o o表示以

42、八進(jìn)制形式輸入一個(gè)整數(shù)表示以八進(jìn)制形式輸入一個(gè)整數(shù) x(xx(x) )表示以十六進(jìn)制形式輸入一個(gè)整數(shù)表示以十六進(jìn)制形式輸入一個(gè)整數(shù) u u表示以十進(jìn)制形式輸入一個(gè)無(wú)符號(hào)的整數(shù)表示以十進(jìn)制形式輸入一個(gè)無(wú)符號(hào)的整數(shù) f f或或e(ee(e) )表示輸入一個(gè)實(shí)數(shù),可以是小數(shù)形式或指數(shù)表示輸入一個(gè)實(shí)數(shù),可以是小數(shù)形式或指數(shù)形式形式 g(gg(g) )與與f f或或e e的作用相同的作用相同 c c表示輸入一個(gè)字符表示輸入一個(gè)字符 s s表示輸入一個(gè)字符串表示輸入一個(gè)字符串2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 58說(shuō)明:(1)對(duì)unsigned型變量所

43、需的數(shù)據(jù),可以用%u,%d,%o,或%x格式輸入;(2)可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動(dòng)按它截取所需數(shù)據(jù)。(3)如果在一個(gè)%后有一個(gè)*附加說(shuō)明符,表示跳過(guò)它指定的列數(shù)。(4)輸入數(shù)據(jù)時(shí)不能規(guī)定數(shù)據(jù)的精度。例如scanf(%8.2f ,&a);是不合法的。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 59在使用scanf函數(shù)時(shí),要注意以下幾個(gè)問(wèn)題:(1) scanf函數(shù)中的“格式控制字符串”后面應(yīng)該是變量的地地址址,而不應(yīng)是變量名,這是c語(yǔ)言與其他高級(jí)語(yǔ)言不同的地方。例如不能將語(yǔ)句scanf(“%d,%d”,& &a,& &b); 寫(xiě)成scanf(“

44、%d,%d”,a,b);,這是初學(xué)者容易出錯(cuò)的地方。(2) 在“格式控制字符串格式控制字符串”中除了格式說(shuō)明符外,還有其他其他字符字符,則在輸入數(shù)據(jù)時(shí)在對(duì)應(yīng)位置上應(yīng)輸入與這些字符相同的字符。例如scanf (a=%d, ,b=%d,&a,&b);則輸入時(shí)應(yīng)輸入:a=12, ,b=-2其他任何輸入形式都不正確。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 60(3) 輸入數(shù)據(jù)時(shí),遇到以下情況認(rèn)為該數(shù)據(jù)輸入結(jié)束數(shù)據(jù)輸入結(jié)束: 按指定的寬度結(jié)束; 遇空格,或“回車(chē)”鍵,或“tab”鍵; 遇到非法輸入。如:scanf (%3d%d%c%f,&a,&b,&st

45、r,&c); 若輸入:12345a234o.78第一個(gè)數(shù)據(jù)取3位,即將123賦給變量a。45后面遇字母a,表示45后沒(méi)有數(shù)據(jù)了,因此將45賦給第二個(gè)變量b。字符a賦給第三個(gè)變量str。由于%c要求只能輸入一個(gè)字符,因此輸入字符a之后不需要加空格,直接將后面的數(shù)據(jù)賦給第四個(gè)變量c。由于將數(shù)據(jù)2340.78錯(cuò)輸入成234o.78,即在234后面出現(xiàn)了字母o,因此就認(rèn)為該數(shù)據(jù)到此結(jié)束,所以將234賦給變量c。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 61(4) 在用“%c”格式輸入字符時(shí),所有輸入的字符(包括空格字符和“轉(zhuǎn)義字符”)都作為有效字符。例如

46、:scanf(%c%c%c,&a,&b,&c);若輸入為: abc 則把字符a賦給變量a,把字符空格賦給變量b,把字符b賦給變量c。(5) 當(dāng)輸出的類(lèi)型格式符與數(shù)據(jù)的類(lèi)型不一致時(shí),雖然編譯沒(méi)有提示出錯(cuò),但結(jié)果有可能不正確。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 621. 1.字符輸入函數(shù)字符輸入函數(shù)getchargetchar字符輸入函數(shù)getchar()的功能是從標(biāo)準(zhǔn)設(shè)備(鍵盤(pán))上讀入一個(gè)字符。其一般調(diào)用形式:getchargetchar();();該函數(shù)沒(méi)有參數(shù),但一對(duì)圓括號(hào)不能省略。getchar()只能從鍵盤(pán)上接收一個(gè)字符,其常用形式:

47、ch= getchar()與scanf(“%c”,&ch)等價(jià)。在使用這個(gè)函數(shù)時(shí),程序的頭部一定要加上文件包含命令:#include 2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 632.2.字符輸出函數(shù)字符輸出函數(shù)putcharputchar函數(shù)putchar()的功能是向標(biāo)準(zhǔn)輸出設(shè)備(顯示器)輸出一個(gè)字符。其一般調(diào)用形式:putchar(cputchar(c); );其中c是參數(shù),它可以是整型或字符型變量,也可以是整型或字符型常量或表達(dá)式。當(dāng)是整型量整型量時(shí),輸出以該數(shù)值作為asciiascii碼所對(duì)應(yīng)的字碼所對(duì)應(yīng)的字符符;當(dāng)是字符型量時(shí),直接輸

48、出字符。其功能和printf(“%c”,c)等價(jià)。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 641. 1.字符串輸入函數(shù)字符串輸入函數(shù)getsgetsgets()函數(shù)用來(lái)從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤(pán))讀取字符串直到回車(chē)結(jié)束, 但回車(chē)符不屬于這個(gè)字符串。調(diào)用格式為:gets(sgets(s); );其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。gets(sgets(s) )函數(shù)與函數(shù)與scanf(%sscanf(%s, &s), &s)相似, 但不完全相同, 使用scanf(%s, &s) 函數(shù)輸入字符串時(shí)存在一個(gè)問(wèn)題, 就是如果輸入了空格空格會(huì)認(rèn)為輸入

49、字符串結(jié)束, 空格后的字符將作為下一個(gè)輸入項(xiàng)處理, 但gets() 函數(shù)將接收輸入的整個(gè)字符串直到回車(chē)回車(chē)為止。2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 652.2.字符串輸出函數(shù)字符串輸出函數(shù)putsputsputs()函數(shù)用來(lái)向標(biāo)準(zhǔn)輸出設(shè)備(屏幕)寫(xiě)字符串并換行, 其調(diào)用格式為:puts(s); 其中s為字符串變量(字符串?dāng)?shù)組名或字符串指針)。puts()puts()函數(shù)函數(shù)的作用與語(yǔ)句printf(“%snprintf(“%sn”, s)”, s)相同。但puts()函數(shù)只能輸出字符串, 不能輸出數(shù)值或進(jìn)行格式不能輸出數(shù)值或進(jìn)行格式變換變換。另外,可以將字符串直接寫(xiě)入puts()函數(shù)中。例如:puts(hello, turbo c2.0);2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 662.1 數(shù)據(jù)類(lèi)型歷史和特點(diǎn)2.2 變量和常量2.3 運(yùn)算符和表達(dá)式2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換2.5 數(shù)據(jù)的輸入輸出2021-10-12第第2章章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 67c語(yǔ)言提供的函數(shù)以庫(kù)文件的形式存放在系統(tǒng)中。用戶在使用函數(shù)庫(kù)時(shí)無(wú)需定義和說(shuō)明,只需在程序前包含該函數(shù)原型的頭文件,就可以在程序中直接使用。使用庫(kù)函數(shù)應(yīng)清楚四個(gè)方面的內(nèi)容:函數(shù)的功能及所能完

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論