《C++ Primer第四版》学习笔记(四)变量和基本类型 - 字面值常量
2014-05-20 08:39
363 查看
字面值常量
1. 不能修改2. 每个字面值常量都有相应的类型。例如,0 是 int,3.14 double
3. 只有内置类型存在字面值常量
4. 没有类类型的字面值,因此,也没有任何标准库类型的字面值
5. 称之为字面值因为只能以它的值称呼它
(一)整型字面值
1. 三种:十进制(decimal) 八进制(octal) 十六进制(hexadecimal)20(十)020(八)0x20(十六)
2. 加L或者u分别代表long和unsigned类型,不能有空格。
书中提醒两遍:不提倡用小写字母l,容易与数值1混淆。
(二)浮点字面值规则
1. 通常可以用十进制或者科学计数法来表示浮点字面值2. 默认的浮点字面值常量为double类型
3. 在数值后面加上F(或f)和L(或者l)分表表示单精度和双精度
(三)布尔字面值和字符字面值
1. true和false是布尔型的字面值2. 可打印的字符型字面值通常那个用一对单引号来定义:‘a’、‘2’、‘,’、‘ ’(均是char类型的)
3. 加上L能够得到wchar_t类型的宽字符字面值:L‘a’
(四)非打印字符的转义序列
1. 转义字符表示换行符 | \n | 水平制表符 | \t |
纵向制表符 | \v | 退格符 | \b |
回车符 | \r | 进纸符 | \f |
报警(响铃)符 | \a | 反斜线 | \\ |
疑问号 | \? | 单引号 | \' |
双引号 | \" |
注:字符‘\0’通常表示空字符,还有更特殊的意义。
(五)字符串字面值
上述四种四面值都是基本内置类型,字符串字面值不属于上述类别。1. 用双引号括起来的零个或者多个字符表示。不可打印字符表示成相应的转义序列:
“hello world”
“”
“\ncc\tnihao\n”
2. 为了兼容c语言,C++中所有的字符串字面值都有编译器自动在末尾添加一个空字符。
注意区别:
‘a’ :字符字面值,上述第三类,单个字符,未添加空字符
“a”:包含‘a’和‘\0’两个字符的字符串
3. 宽字符字符串字面值,所有字符都转化为宽字符即可
L“C++ program”
(六)字符串字面值的连接
1. 两个相邻的仅由空格、制表符、换行符分开的字符串字面值,可连接成一个新字符串字面值。多行书写长字符串字面值变得简单。
#include<iostream> int main() { std::cout << "a multi-line" "string literal" "using concatenation" << std::endl; return 0; }
2. 如果连接字符串面值和宽字符串字面值结果是未定义的
(七)多行字面值
不常用:在一行的末尾加一反斜杠可将此行和下一行当作同一行处理但要注意:反斜杠必须是该行的尾字符(不允许其后面由注释或者空格)。同样,后继行首的任何空格和制表符都是字符串字面值的一部分。
#include<iostream> int main() { std::cout << "a multi-line \ string literal \ using concatenation" << std::endl; return 0; }
#include<iostream> int main() { std::cout << "a multi-line \ string literal \ using concatenation" << std::endl; return 0; }
#include<iostream> int main() { std::cou\ t << "Hi" << st\ d::endl; return 0; }
第37页,<不要依赖未定义行为>很重要。
相关文章推荐
- 《C++ Primer第四版》学习笔记(七)变量和基本类型 - typedef、枚举、类
- 第二章 变量和基本类型——2.2 字面值常量
- 第二章 头文件、变量和基本类型(3)——字面值常量
- 《C++ Primer第四版》学习笔记(三)变量和基本类型 之 基本内置类型
- 《C++ Primer第四版》学习笔记(六)变量和基本类型 - const、引用
- 《C++ Primer第四版》学习笔记(五)变量和基本类型 之 变量
- 【基本数据类型】常量与变量
- The New C++ -- 基本数据类型和字面值常量 (1)
- 【Python③】python基本数据类型,变量和常量
- C语言程序设计教程笔记_基本数据类型、常量、变量和表达式
- JAVA第二章基础知识:注释,标识符,数据类型常量变量,基本数据类型转换。--------------(Make A little EvProgresseryday )
- The New C++ -- 基本数据类型和字面值常量 (3. sizeof表达式和typeid表达式)
- java——(常量、变量、基本类型、进制、运算符)总结
- The New C++ -- 基本数据类型和字面值常量 (4. 字符型和字符字面值常量)
- 《C++ Primer第四版》 第二章 变量和基本类型 - 总结
- C++系列之基本数据类型、常量、变量、const、引用、typedef、枚举、类类型、编写自己的头文件
- The New C++ -- 基本数据类型和字面值常量 (8. 字符串字面值常量)
- The New C++ -- 基本数据类型和字面值常量 (7. 浮点型和浮点字面值常量)
- 《C++ Primer》学习笔记2--第二章1变量和基本类型
- C程序设计语言(K&R)学习笔记--2.基本类型、常量、变量