第1章 数据类型与表达式
关键字
又称保留字,是 C++预定义的单词, 每个C++关键字都 有特殊的含义。
标识符
1.定义:用来标识变量、常量、函数等的字符序列 。
2.组成:
(1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线
(2)区分大小写。
(3) 不能使用关键字。
(4) 一般应小于32个。
例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char a>b _above $123
(加粗的是合法的)
1.1 C++的数据类型
计算机处理的对象是数据,而数据是以某种特定 的形式存在的(例如整数、浮点数、字符等形式。
C++可以使用的数据类型如下:
1.2 常量
1.定义:程序运行时其值不能改变的量(即常数)
2.分类:
(1)符号常量:用一个标识符来表示常量
定义格式: #define
一般用大写字母
(2)直接常量:
整型常量
实型常量
字符常量
字符串常量
整型常量(整常数)
三种形式:
十进制整数:由数字0~9和正负号表示.如 123,-456,0
八进制整数:由数字0开头,后跟数字0~7表示.如0123,011
十六进制整数:由0x开头,后跟09,af,A~F表示.
如0x123,0Xff
整型常量的类型
根据其值所在范围确定其数据类型
在整常量后加字母l或L,认为它是long int 型常量
实型常量(实数或浮点数)
表示形式:
十进制数形式:由整数部分和小数部分组成,必须有小 数点) 如0.123, .123, 123.0, 0.0, 123.
可以省略其中之一,如78.或.06,.0,但不能二者皆省略。
指数形式:
其一般形式为 尾数 e或E 指数
用e或E代替指数10
e或E之前后必须有数字;
指数必须为整数
如12.3e3 ,123E2, 1.23e4 , e-5(×) , 1.2E-3.5 (×)
实型常量的类型
默认double型
在实型常量后加字母f或F,认为它是float 型
在实型常量后加字母l或L,认为它是long double 型
字符常量
定义:用单引号括起来的单个普通字符或转义字符.
普通字符: ‘a’ ‘A’ '? ’ ‘\n’ ‘\101’
转义字符:反斜线后面跟一个字符或一个代码值表示
字符常量的值:该字符的ASCII码值
‘A’—65, ‘a’—97,‘0’—48 , ‘\n’—10
字符在存储时将其相应的ASCII代码放到存储单元中。 如果字符变量c1的值为’a’,c2的值为’b’,则在变量中 存放的是’a’的ASCII码97,‘b’ 的ASCII码98,详见附录A。
字符数据是以ASCII码存储的,它的存储形式就与整数 的存储形式类似。因此字符数据和整形数据之间可以在 一定程度上相互转换。
例如:
'a ’ < ‘b’ ‘0’ > ‘2’ ‘B’ + 1 ‘2’ + 1
‘\n’ 换行,光标移到下一行的开头;
‘\r’ 回车,光标移到当前行的开头, 不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;
字符串常量
1.3 变量
在程序运行期间其值可以改变的量称为变量。 一个变量在内存中占据一定的存储单元,在该 存储单元中存放变量的值。注意区分变量名和 变量值这两个不同的概念。
1.4 C++的运算符
(1) 算术运算符 +、-、、/、++、–等
(2) 关系运算符 >、<、==、>=、<=、!=等
(3) 逻辑运算符 &&、||、!
(4) 位运算符 <<(按位左移) >>(按位右移) &(按位与) |(按位 或) ∧(按位异或) ~(按位取反)
(5) 赋值运算符 (=)
(6) 条件运算符 (??
(7) 逗号运算符 (,)
(8) 指针运算符 ()
(9) 引用运算符和地址运算符 (&)
(10) 求字节数运算符(sizeof)
(11) 强制类型转换运算符( (类型) 或类型( ))
(12) 成员运算符 (.)
(13) 指向成员的运算符 ()
(14) 下标运算符 ([ ])
(15) 其他 (如函数调用运算符())
1.5 算术运算符与算术表达式
两个整数相除的结果为整数,如果除数或被除数中有 一个为负值,则舍入的方向是不固定的。多数编译系统 采取“向零取整”的方法
例: 5/2=2 5/(-2)=-2 5/2.0=2.5
如果参加+, -, *, / 运算的两个数中有一个数为 float型数据,则运算的结果是double型,因为C++在运 算时对所有float型数据都按double型数据处理。