實型數據,與字符型數據


第三節 實型數據

知識點:實型的定義方法和實型常量的表達方法;

重要程度:★★★★

1、實型常量

在C語言中,實型常量有兩種表示形式:小數形式指數形式

(1)小數形式

規則如下:1. 有且僅有一個小數點。

          2. 左邊和右邊可以有一邊沒有數據,但是不能同時沒有數據。

如:3.14159     0.158    12.     .36     0.0     -18.0

 

(2)指數形式(EE后都有數,E后必為整數

規則如下:1. 有且僅有一個字母e(或者E)。

          2. 左右兩邊都必須有數據。

          3. 左邊可以是整數也可以是小數。

          4. 右邊只能是整數。

以下列舉出幾個正確的指數形式:

1e5             (表示數值1´105

1.25E+4        (表示數值1.25´104

2.0E-3          (表示數值2.0´10-3

實型常量的常見錯誤:

12                 (缺少小數點,12其實為一個整型的常量而不是實型常量)

e5                (缺少小數部分)

1.25E            (缺少指數部分)

2.0E1.3         (指數部分不是整數)

 

1: 以下選項中合法的實型常數是

A)5E2.0                 B)E-3                C).2E0        D)1.3E

分析:本題的答案是C。

選項(A)的指數部分不是整數。

選項(B)缺少小數部分。

選項(D)缺少指數部分。

 

2: 以下選項中,不能作為合法常量的是    

A)1.234e04                     B)1.234e0.4             C)1.234e+4              D)1.234e0

分析:選項(B)的指數部分不是整數,所以答案為B,其它選項均為正確的常量。

 

2、實型變量

C語言中,實型變量分為單精度實型(float)變量與雙精度實型(double)變量兩種。它們定義的形式分別如下:

float  x,y,z;                   /*定義單精度實型變量x,y,z */

double  a,b,c;         /*定義雙精度實型變量a,b,c*/

double的精度比float好!

第四節 字符型數據

知識點:字符型常量;字符型變量;轉義字符;

重要程度:★★★★★(字符可當作整型使用)

1、字符常量  字符常量是由一對單引號括起來的。

1)由一對單引號括起來的單個字符:

單引號中只有一個字符:  '0'、'A'、'a'、' '、'#'。

2)由一對單引號括起來的,里面是由斜杠“\”引起的若干字符:

在單引號中,都由“\”開頭: '\n '、'\t '、'\\'、'\''、'\"'、'\0 '、'\377 '、'\xff '。這個“\”稱為轉義字符。轉義字符后面的內容失去了原來的意義,如'\n'表示換行符,而不是字母n了。

 

每個字符都有一個ASCII碼與之對應。(字符可以看成整形)

如字符'0'的ASCII碼值為48,我們簡稱字符'0'的值為48。同樣,'A'的值為65'a'的值為97

字符型數據進行運算,使用的其實都是這個字符對應的ASCII碼值。

C語言中一共有三種轉義字符:一般轉義字符八進制轉義字符十六進制轉義字符

表3  C語言中常用的轉義字符

字符形式

           意義

字符形式

         意義

   \n

換行

    \\

一個反斜杠字符 \

   \t

橫向跳格(Tab)

    \'

一個單引號 '

   \v

豎向跳格

    \"

一個雙引號 "

   \b

退格符(backspace)

   \ooo

1~3位八進制數代表的字符

   \r

回車符

   \xhh

1~2位十六進制數代表的字符

   \f

換頁符

    \0

空值

(1)一般轉義字符

'\n'、'\\'、'\"'等,由一個“\”開頭加一個普通字符組成。請牢記表3中粗體的轉義字符。

 

(2)八進制轉義字符

它是由“\”與其后的1~3位八進制數字構成的字符序列。

反斜杠后面的十六進制數不需要以0開頭。’\061’就錯了

'\61'首先把61這個八進制化成十進制,得到49,ASCII為49的字符就是’1’。.

'\101'首先把101這個八進制化成十進制,得到65,ASCII為65的字符就是’A’。.

 

(3)十六進制轉義字符

它是由“\x”與其后的1~2位十六進制數字構成的字符序列。

反斜杠后面的十六進制數不需要以0x開頭。’\0x77’錯了!

但是反斜杠之后的必須是小寫字母x,而不能是大寫字母X,也不能是其它形式。’\0X77’錯了!

'\x42'表示字符常量'B'

'\x6e'分別表示字符常量和'n'。

 

字符型常量的常見錯誤:

(1)把"a"看作字符常量。字符常量的標志是一對單引號' ',而不是雙引號" "。

(2)一對單引號中有多個字符。'65'是非法的字符常量。(常考

(4)′\ooo′中出現數字8。′\ooo′中只能出現字符0~7。

(5)'\xhh'中,忘記書寫字符x。

 

1: 以下不合法的字符常量是

A  ′\018′        B  ′\′″           C  ′\\′          D  ′\xcc′

分析:本題是2006年4月考題,考察點在字符常量的概念。此題答案為A。

A中為八進制轉義字符,但是八進制數不能出現8,因此錯誤。

B中是一般轉義字符,表示一個雙引號字符,正確。

C中是一般轉義字符,表示一個反斜杠字符,正確。

D中匹配十六進制轉義字符,cc是合法的十六進制數,正確。

 

2、字符變量(考試重點)

char a:        等價於      char a

a='A';                      a = 65;

變量a中存放了'A'的ASCII碼值65。前面已經知道,字符型數據都是被處理為整型量,因此,可以直接對字符變量賦字符常量對應的ASCII碼值。如賦值語句a=65;與賦值語句a='A';等價。

 

 

2: 已定義c為字符型變量,則下列語句中正確的是

A)  c=‘97’;     B) c="97";           C) c=97;        D) c="a";

分析:答案選擇C。

A中'97'為非法的字符常量。單引號內不能出現多個字符。

B中"97"為字符串,字符常量的標志的一對單引號,而不是雙引號。

C將整型量97賦給字符變量c,即將ASCII碼值為97的字符常量'a'賦給變量c,正確。

D中"a"不是字符常量,而是字符串。

 

3、對字符型數據的運算

1、對字符進行算術運算就是將字符對應的ASCII碼值進行運算。

如:'D'-'C'的值為1。因為我們用'D'和'C'的ASCII碼68、67分別替換'D'、'C'之后,等價於求68-67的值。又例如,'C'+1的值為'D'。

 

2、大寫字母的ASCII碼與對應的小寫字母的ASCII碼相差32

   大寫字母    轉換成    小寫字母

'A'       加上32       'a'

如'A'與'a'的ASCII碼分別為65和97。這樣我們經過簡單的算術運算就可以進行大小寫字母字符的轉換。如'A' +32即為,'a'-32即為'A'。

 

3、字符數字的ASCII碼與對應的數字的ASCII碼相差了48.

字符數字     轉換成       數字

     ‘1’         減去48        1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM