数据结构知识点-CSDN博客
目录
一、数据类型总结
1、整型
作用:整型变量表示的是整数类型的数据
int - 占4个字节
unsigned int - 无符号整型,占4个字节
2、sizeof关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
3、浮点型
作用:用于表示小数
浮点型变量分为两种:
单精度float ➡占4个字节,有效位数为7位,小数点后6位。
双精度double ➡占8个字节,有效位数为16位,小数点后15位。
4、数值型常量
4.1数值常量
一个整型常量可以用3种不同的方式表示:
十进制整数。如1357,-432,0等
八进制整数。在常数的开头加一个数字0,就表示这是以八进制数形式表示的常数。
十六进制整数。在常数的开头加一个数字0和一个英文字母X(或x),就表示这是以十六进制数形式表示的常数
4.2浮点数的表示方法
一个浮点数可以用两种不同的方式表示:
十进制小数形式。如21.456,-7.98等。
指数形式(即浮点形式)
5、字符型常量
作用:字符型变量用于显示单个字符
语法:char ch = 'a';
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
C和C++中字符型变量只占用1个字节。
字符常量只能包括一个字符,如′AB′ 是不合法的
字符常量区分大小写字母,如′A′和′a′是两个不同的字符常量
字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
6、字符串型常量
作用:用于表示一串字符
两种风格
C风格字符串: char 变量名[] = "字符串值"
char str1[] = "hello world";
注意:C风格的字符串要用双引号括起来
C++风格字符串: string 变量名 = "字符串值"
string str = "hello world";
注意:C++风格字符串,需要加入头文件==#include<string>==
字符串常量为双引号
常考:字符串 "abc" 在内存中占几个字节?
答:占4个字节,而不是3个字节,编译系统会在字符串最后自动加一个′\0′作为字符串结束标志。但′\0′并不是字符串的一部分,它只作为字符串的结束标志
常考: 字符串常量″abc\n″包含几个字符?
答:不是5个而是4个字符,其中“\n”是一个转义字符,但它在内存中占5个字节
7、布尔类型bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
true — 真(本质是1)
false — 假(本质是0)
bool类型占1个字节大小
8、数据的输入输出
关键字:cin、cout
语法: cin >> 变量1>>变量2>>....>>变量n、cout<<表达式1<<表达式2<<...<<表达式n
cout<<a,b,c; //错误,不能一次插入多项cout<<a+b+c; //正确,这是一个表达式,作为一项cin>>a>>b>>c>>d;
9、变量命名规则
C++规定标识符只能由字母、数字和下划线3种字符组成;且第一个字符必须为字母或下划线
不能是关键字;区分大小写
10、局部变量
在一个函数内部定义的变量是局部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的
形参也是局部变量
11、全局变量
在函数之外定义的变量是外部变量,称为全局变量
二、运算符总结
1.算术运算符
注意:
- 两个整数相除结果依然是整数(这里不进行四舍五入,直接舍去小数点后面数字)
- C++中两个小数可以相除
- 运算的两个数中有一个数为float型数据,则运算的结果是double型,因为C++在运算时对所有float型数据都按double型数据处理
- 只有整型变量可以进行取模运算,两个小数不可以取模
- 在除法运算中,除数不能为0
- 取模运算时,除数也不能为0
常考:
前置后置运算符单独使用没有什么区别;在赋值语句中存在差异,前置递增先对变量进行++,再计算表达式。后置递增先计算表达式,后对变量进行++
请详细看下方代码并理解
//递增int main() { //后置递增 int a = 10; a++; //等价于a = a + 1 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 system("pause"); return 0; }
2.赋值运算符
作用:用于将表达式的值赋给变量
基础赋值运算符
赋值运算符的基本形式是“=”。它用于初始化变量或者在程序运行过程中更新变量的值。
复合赋值运算符
C++还提供了一系列的复合赋值运算符,它们是基于赋值运算符的变种,可以同时进行运算和赋值。例如:
-
+=
-
-=
-
*=
-
/=
-
%=
-
<<=
(左移赋值) -
>>=
(右移赋值) -
&=
(按位与赋值) -
^=
(按位异或赋值) -
|=
(按位或赋值)
int a = 10;
a += 5; // 等价于 a = a + 5; 现在 a 的值为 15
a -= 3; // 等价于 a = a - 3; 现在 a 的值为 12
a *= 2; // 等价于 a = a * 2; 现在 a 的值为 24
3.比较运算符
作用:用于表达式的比较,并返回一个真值或假值(bool值)
注意:C++中, = 是赋值运算符,而 == 才是比较运算符
4.逻辑运算符
作用:用于根据表达式的值返回真值或假值
C++中的逻辑运算符主要有三个:
-
&&
(逻辑与)等于 and -
||
(逻辑或)等于 or -
!
(逻辑非)
三者优先级:!、&&、|| (!a || b&&a || c)
三、流程结构总结
1、选择结构
1.1、if语句
if语句较为简单,常常搭配else使用,且可以嵌套使用,主要用于逻辑判断,如果条件成立,则执行if范围内的代码。
int a = 20;
if(a > 20){
//如果条件成立
a = 20
}else{
//条件不成立时执行
a = 10
}
1.2、三目运算符
作用: 通过三目运算符实现简单的判断
语法:表达式1 ? 表达式2 :表达式3
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
此处常出程序阅读题!!!!
int a = 10, b = 9;
int c = a > b ? a : b;