1 数据类型
C++ 的数据包括常量与变量,都具有数据类型
1.1 数值常量
①整型常量
一个整型常量可以用3种不同的方式表示:
②浮点数的表示方法
一个浮点数可以用两种不同的方式表示:
作用:字符型常量用于显示单个字符
语法:char ch = 'a';
注意1:在显示字符型常量时,用单引号将字符括起来,不要用双引号。
注意2:单引号内只能有一个字符,不可以是字符串。
作用:用于表示一串字符
1. C风格字符串: char 变量名[] = "字符串值"
char str1[] = "hello world";
2. C++风格字符串: string 变量名 = "字符串值"
string str = "hello world";
注意:C++风格字符串,需要加入头文件 #include<string>
字符串常量为双引号
字符型常量常考例题
常考1:字符串 "abc" 在内存中占几个字节?
答:占4个字节,而不是3个字节,编译系统会在字符串最后自动加一个′\0′作为字符串结束标志。但′\0′并不是字符串的一部分,它只作为字符串的结束标志
常考2:字符串常量″abc\n″包含几个字符?
答:不是5个而是4个字符,其中“\n”是一个转义字符,但它在内存中占5个字节。
1.3数据类型:整型
作用:整型变量表示的是整数类型的数据。以二进制数形式进行存储,例如十进制整数85的二进制形式为_________,每8位一个字节。
unsigned int - 无符号整型,占4个字节
1.4数据类型:浮点型
作用:用于表示小数
浮点型变量分为3种:
单精度float ➡占4个字节,提供6位有效数组
双精度double ➡占8个字节,提供15位有效数字
长双精度long double ➡占16个字节,提供18-19位有效数字
1.5数据类型:布尔类型
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
true — 真(本质是1)
false — 假(本质是0)
bool类型占1个字节大小
1.6数据类型:变量的命名规则
01. 算术运算符
02. 赋值运算符
03. 比较运算符
04. 逻辑运算符
05. 位运算符
06. 杂项运算符
07. 运算符优先级
2.1 算术运算符
注意:
1.两个整数相除结果依然是整数(这里不进行四舍五入,直接舍去小数点后面数字,即为向下取整)
2.C++中两个小数可以相除
3.运算的两个数中有一个数为float型数据,则运算的结果是double型,因为C++在运算时对所有float型数据都按double型数据处理
4.只有整型变量可以进行取模运算,两个小数不可以取模
5.在除法运算中,除数不能为0
6.取模运算时,除数也不能为0
7.前置后置运算符单独使用没有区别
//后置递增
int a = 10;
a++;
cout << a << endl; 11
//前置递增
int b = 10;
++b;
cout << b << endl; 11
//区别
//前置递增先对变量进行++,再计算表达式
int a2 = 10;
int b2 = ++a2 * 10;
cout << b2 << endl; 110
//后置递增先计算表达式,后对变量进行++
int a3 = 10;
int b3 = a3++ * 10;
cout << b3 << endl; 100
例题:
设 i = 3, 求 (i++) + (i++) + (i++) 的值
9 , i = 6
设 a = 12, 求 a += a -= a *= a 的值
0
2.2 赋值运算符
赋值运算符:用于将表达式的值赋给变量
2.3比较运算符(关系运算符)
比较运算符:用于表达式的比较,并返回一个真值或假值
2.4逻辑运算符
逻辑运算符:用于根据表达式的值返回真值或假值
2.5位运算符
位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如下所示:
下表显示了 C++ 支持的位运算符。假设变量 A 的值为 60,变量 B 的值为 13,则:
2.6杂项运算符:逗号运算符、条件运算符
逗号表达式例题:
(a = 3 * 5, a * 4), a + 5
最终输出结果为:__20___
2.7 运算符间的优先级
- 运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。
- 例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。
- 下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。
![](https://i-blog.csdnimg.cn/direct/654dc3e4d7ec40b9bb59187ea2875c9e.png)