您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!
知識(shí)點(diǎn):實(shí)型的定義方法和實(shí)型常量的表達(dá)方法;
重要程度:★★★★
1、實(shí)型常量
在C語(yǔ)言中,實(shí)型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。
(1)小數(shù)形式
規(guī)則如下:1. 有且僅有一個(gè)小數(shù)點(diǎn)。
2. 左邊和右邊可以有一邊沒(méi)有數(shù)據(jù),但是不能同時(shí)沒(méi)有數(shù)據(jù)。
如:3.14159 0.158 12. .36 0.0 -18.0
(2)指數(shù)形式(E前E后都有數(shù),E后必為整數(shù))
規(guī)則如下:1. 有且僅有一個(gè)字母e(或者E)。
2. 左右兩邊都必須有數(shù)據(jù)。
3. 左邊可以是整數(shù)也可以是小數(shù)。
4. 右邊只能是整數(shù)。
以下列舉出幾個(gè)正確的指數(shù)形式:
1e5 (表示數(shù)值1´105)
1.25E+4 (表示數(shù)值1.25´104)
2.0E-3 (表示數(shù)值2.0´10-3)
實(shí)型常量的常見錯(cuò)誤:
12 (缺少小數(shù)點(diǎn),12其實(shí)為一個(gè)整型的常量而不是實(shí)型常量)
e5 (缺少小數(shù)部分)
1.25E (缺少指數(shù)部分)
2.0E1.3 (指數(shù)部分不是整數(shù))
例1: 以下選項(xiàng)中合法的實(shí)型常數(shù)是
A)5E2.0 B)E-3 C).2E0 D)1.3E
分析:本題的答案是C。
選項(xiàng)(A)的指數(shù)部分不是整數(shù)。
選項(xiàng)(B)缺少小數(shù)部分。
選項(xiàng)(D)缺少指數(shù)部分。
例2: 以下選項(xiàng)中,不能作為合法常量的是
A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
分析:選項(xiàng)(B)的指數(shù)部分不是整數(shù),所以答案為B,其它選項(xiàng)均為正確的常量。
2、實(shí)型變量
C語(yǔ)言中,實(shí)型變量分為單精度實(shí)型(float)變量與雙精度實(shí)型(double)變量?jī)煞N。它們定義的形式分別如下:
float x,y,z; /*定義單精度實(shí)型變量x,y,z */
double a,b,c; /*定義雙精度實(shí)型變量a,b,c*/
double的精度比f(wàn)loat好!
知識(shí)點(diǎn):字符型常量;字符型變量;轉(zhuǎn)義字符;
重要程度:★★★★★(字符可當(dāng)作整型使用)
1、字符常量 字符常量是由一對(duì)單引號(hào)括起來(lái)的。
1)由一對(duì)單引號(hào)括起來(lái)的單個(gè)字符:
單引號(hào)中只有一個(gè)字符: '0'、'A'、'a'、' '、'#'。
2)由一對(duì)單引號(hào)括起來(lái)的,里面是由斜杠“\”引起的若干字符:
在單引號(hào)中,都由“\”開頭: '\n '、'\t '、'\\'、'\''、'\"'、'\0 '、'\377 '、'\xff '。這個(gè)“\”稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符后面的內(nèi)容失去了原來(lái)的意義,如'\n'表示換行符,而不是字母n了。
每個(gè)字符都有一個(gè)ASCII碼與之對(duì)應(yīng)。(字符可以看成整形)
如字符'0'的ASCII碼值為48,我們簡(jiǎn)稱字符'0'的值為48。同樣,'A'的值為65,'a'的值為97。
字符型數(shù)據(jù)進(jìn)行運(yùn)算,使用的其實(shí)都是這個(gè)字符對(duì)應(yīng)的ASCII碼值。
C語(yǔ)言中一共有三種轉(zhuǎn)義字符:一般轉(zhuǎn)義字符、八進(jìn)制轉(zhuǎn)義字符、十六進(jìn)制轉(zhuǎn)義字符。
表3 C語(yǔ)言中常用的轉(zhuǎn)義字符
字符形式 |
意義 |
字符形式 |
意義 |
\n |
換行 |
\\ |
一個(gè)反斜杠字符 \ |
\t |
橫向跳格(Tab) |
\' |
一個(gè)單引號(hào) ' |
\v |
豎向跳格 |
\" |
一個(gè)雙引號(hào) " |
\b |
退格符(backspace) |
\ooo |
1~3位八進(jìn)制數(shù)代表的字符 |
\r |
回車符 |
\xhh |
1~2位十六進(jìn)制數(shù)代表的字符 |
\f |
換頁(yè)符 |
\0 |
空值 |
(1)一般轉(zhuǎn)義字符
'\n'、'\\'、'\"'等,由一個(gè)“\”開頭加一個(gè)普通字符組成。請(qǐng)牢記表3中粗體的轉(zhuǎn)義字符。
(2)八進(jìn)制轉(zhuǎn)義字符
它是由“\”與其后的1~3位八進(jìn)制數(shù)字構(gòu)成的字符序列。
反斜杠后面的十六進(jìn)制數(shù)不需要以0開頭。’\061’就錯(cuò)了
'\61'首先把61這個(gè)八進(jìn)制化成十進(jìn)制,得到49,ASCII為49的字符就是’1’。.
'\101'首先把101這個(gè)八進(jìn)制化成十進(jìn)制,得到65,ASCII為65的字符就是’A’。.
(3)十六進(jìn)制轉(zhuǎn)義字符
它是由“\x”與其后的1~2位十六進(jìn)制數(shù)字構(gòu)成的字符序列。
反斜杠后面的十六進(jìn)制數(shù)不需要以0x開頭。’\0x77’錯(cuò)了!
但是反斜杠之后的必須是小寫字母x,而不能是大寫字母X,也不能是其它形式。’\0X77’錯(cuò)了!
'\x42'表示字符常量'B'
'\x6e'分別表示字符常量和'n'。
字符型常量的常見錯(cuò)誤:
(1)把"a"看作字符常量。字符常量的標(biāo)志是一對(duì)單引號(hào)' ',而不是雙引號(hào)" "。
(2)一對(duì)單引號(hào)中有多個(gè)字符。'65'是非法的字符常量。(?)
(4)′\ooo′中出現(xiàn)數(shù)字8。′\ooo′中只能出現(xiàn)字符0~7。
(5)'\xhh'中,忘記書寫字符x。
例1: 以下不合法的字符常量是
A ′\018′ B ′\′″ C ′\\′ D ′\xcc′
分析:本題是2006年4月考題,考察點(diǎn)在字符常量的概念。此題答案為A。
A中為八進(jìn)制轉(zhuǎn)義字符,但是八進(jìn)制數(shù)不能出現(xiàn)8,因此錯(cuò)誤。
B中是一般轉(zhuǎn)義字符,表示一個(gè)雙引號(hào)字符,正確。
C中是一般轉(zhuǎn)義字符,表示一個(gè)反斜杠字符,正確。
D中匹配十六進(jìn)制轉(zhuǎn)義字符,cc是合法的十六進(jìn)制數(shù),正確。
2、字符變量(考試重點(diǎn))
char a: 等價(jià)于 char a
a='A'; a = 65;
變量a中存放了'A'的ASCII碼值65。前面已經(jīng)知道,字符型數(shù)據(jù)都是被處理為整型量,因此,可以直接對(duì)字符變量賦字符常量對(duì)應(yīng)的ASCII碼值。如賦值語(yǔ)句a=65;與賦值語(yǔ)句a='A';等價(jià)。
例2: 已定義c為字符型變量,則下列語(yǔ)句中正確的是
A) c=‘97’; B) c="97"; C) c=97; D) c="a";
分析:答案選擇C。
A中'97'為非法的字符常量。單引號(hào)內(nèi)不能出現(xiàn)多個(gè)字符。
B中"97"為字符串,字符常量的標(biāo)志的一對(duì)單引號(hào),而不是雙引號(hào)。
C將整型量97賦給字符變量c,即將ASCII碼值為97的字符常量'a'賦給變量c,正確。
D中"a"不是字符常量,而是字符串。
3、對(duì)字符型數(shù)據(jù)的運(yùn)算
1、對(duì)字符進(jìn)行算術(shù)運(yùn)算就是將字符對(duì)應(yīng)的ASCII碼值進(jìn)行運(yùn)算。
如:'D'-'C'的值為1。因?yàn)槲覀冇?D'和'C'的ASCII碼68、67分別替換'D'、'C'之后,等價(jià)于求68-67的值。又例如,'C'+1的值為'D'。
2、大寫字母的ASCII碼與對(duì)應(yīng)的小寫字母的ASCII碼相差32。
大寫字母 轉(zhuǎn)換成 小寫字母
'A' 加上32 'a'
如'A'與'a'的ASCII碼分別為65和97。這樣我們經(jīng)過(guò)簡(jiǎn)單的算術(shù)運(yùn)算就可以進(jìn)行大小寫字母字符的轉(zhuǎn)換。如'A' +32即為,'a'-32即為'A'。
3、字符數(shù)字的ASCII碼與對(duì)應(yīng)的數(shù)字的ASCII碼相差了48.
字符數(shù)字 轉(zhuǎn)換成 數(shù)字
‘1’ 減去48 1
下一篇:虛擬機(jī)如何裝LINUX
掃碼關(guān)注我們
傳真:0755-82591176
郵箱:vicky@yingtexin.net
地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08