实型数据,与字符型数据 | 您所在的位置:网站首页 › 字符常量中不合法 › 实型数据,与字符型数据 |
第三节 实型数据
知识点:实型的定义方法和实型常量的表达方法; 重要程度:★★★★ 1、实型常量 在C语言中,实型常量有两种表示形式:小数形式和指数形式。 (1)小数形式 规则如下:1. 有且仅有一个小数点。 2. 左边和右边可以有一边没有数据,但是不能同时没有数据。 如:3.14159 0.158 12. .36 0.0 -18.0
(2)指数形式(E前E后都有数,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 |
CopyRight 2018-2019 实验室设备网 版权所有 |