目录
1.c++语言概述
1.字符集
字符集是构成c++语言的基本元素;c++字符由以下构成
2.关键字(保留字)
关键字是c++语法中预先规定的词汇
由以下组成
3. 标识符
标识符是程序员自定义的单词
由以下规则限制标识符:
- 以大小写字母,或下划线(_)开始
- 可以由大小写字母,下划线和阿拉伯数字组成
- 不能是c++关键字或操作符
4.操作符
操作符包括:
1.算术操作符
+ - * / %
/是求商(若两位操作数都为整数,则求商得到的为整数,eg 5/2=2,若两位操作数任意一方为浮点数,则求商得到浮点数 eg5.0/2=2.5)
%求余数(两个操作数只能为整型,不能为浮点型)
2.移位操作符
移位移的是二进制
<<左移操作符,移位规则是左边抛弃,右边补零
>>右移操作符,移位规则是1.算数右移(常见):右边丢弃,左边补原符号位 2.逻辑右移:右边丢弃,左边补零
3.位操作符
&按位与:两个都是1得到1,其他情况为零
|按位或:两个都是零得到零,其他情况为1
^按位异或:相同为零,相异为一
4.赋值操作符
等号=
5.复合操作符
+= -= *= /= %= >>= <<= &= |= ^=
6.单目操作符
! 逻辑反操作eg a(非零为真),则!a为假
-负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)(指针占四个字节)sizeof(变量)/sizeof(类型)eg: sizeof(int [10])
strlen计算字符长度包括\n
~对一个数的二进制按位取反
--前置,后置--
++前置,后置++
*间接访问操作符(解引用操作符)(类型)强制类型转换 eg:int a=(int)2.2
7.关系操作符
> >= < <= != ==
8.逻辑操作符
&&逻辑与(同真为true,有一个为假则为false)
||逻辑非(有真为true,同假为false)
9.条件操作符
三目操作符:exp1?exp2:exp3
10.逗号操作符
exp1,exp2,exp3,……expn 从左到右依次执行,整个表达式的结果(返回值)是最后的一个表达式
11.下标引用,函数调用和结构成员
1.[]下标引用操作符
操作数:一个数组名+一个索引值(下标)
2.函数调用操作符()
第一个操作数是函数名,剩余的参数也是操作数
3结构成员操作符. ->
12.运算符优先性和结合性
13.混合运算时数据类型的转换
1.隐含转换
原则是将低类型数据转换为高类型数据
char->short->int->long->long long->float->double
2.显示转换
类型说明符 (表达式)
例如:double z=3.14; m=int(z);
除此之外,还有四种类型转换说明符
2.基本数据类型和表达式
1.基本数据类型
除了bool类型外,主要分为整型和浮点型两类,char本质上也属于整型类 ,通常用于存放字符的ASCLL码,signed表示有符号数(以二进制补码在内存中存储),unsigned表示无符号数(只能是正数),默认情况下int是有符号的。一般来说,float可以保存七位有效数字,double可以保存16位有效数字。
bool类型的取值只能是真或假
2.整型常量
十进制是0~9的数字
八进制是0~7,但要以0开头
十六进制是0~9加a~f,要以0X开头
3.符号常量
const 数据类型 常量名=常量值;
eg:const float pi=3.14;
3.类型别名和类型推断
1.类型别名
类型别名:语法形式
typedef 已有类型名 新类型名
关键字using也可以声明别名,不同的是,其后紧跟别名和等号,其作用是把等号左侧的名字规定成等号右边的名字,eg:using area=double;
2.名称推断
auto,让编译器通过初始值自动推导变量的类型
eg:auto i=0;j=1; //两个数据类型必须一致