自学内容网 自学内容网

【C++】1 数据类型 + 运算符

1 数据类型

        C++ 的数据包括常量与变量,都具有数据类型

1.1 数值常量

①整型常量

一个整型常量可以用3种不同的方式表示:

十进制整数。如1357,-432,0等
八进制整数。在常数的开头加一个数字0,就表示这是以八进制数形式表示的常数。
十六进制整数。在常数的开头加一个数字0和一个英文字母X(或x),就表示这是以十六进制数形式表示的常数

②浮点数的表示方法

一个浮点数可以用两种不同的方式表示:

十进制小数形式。如21.456,-7.98等。
指数形式(即浮点形式)
1.2.1 字符型常量

作用:字符型常量用于显示单个字符

语法:char ch = 'a';

注意1:在显示字符型常量时,用单引号将字符括起来,不要用双引号。

注意2:单引号内只能有一个字符,不可以是字符串。

C和C++中字符型 量只占用1个字节。
字符常量只能包括一个字符
字符常量区分大小写字母
1.2.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位一个字节。

int - 占4个字节
short int - 2 个字节
long int  - 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数据类型:变量的命名规则

1. C++规定标识符只能由 字母、数字和下划线3 种字符组成,且第一个字符必须为字母或下划线
2. 不能是关键字
3. 区分大小写
1.7 数据类型:局部变量与全局变量
1. 在一个 函数 内部定义的变量是局部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。
2. 形参 也是局部变量。
3. 在函数之外定义的变量是外部变量,称为全局变量。
C++ 程序设计基本运算符

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://blog.csdn.net/m0_46250943/article/details/140576394

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!