实型数据,与字符型数据

第三节 实型数据

知识点:实型的定义方法和实型常量的表达方法;

重要程度:★★★★

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

posted on 2018-02-07 11:53  张凌001  阅读(3240)  评论(0编辑  收藏  举报

导航