最近有点忙,没时间更新,今天周末给大家补上。
今天主要来说学最基础,入门的东西了。
在c++语言中使用的词汇有六种:标识符,关键字,运算符,分隔符,常量,注释符。
我们先来看看关键字:
关键字就是由c++语言规定的具有特定意义的字符串,用户定义的标识符不能跟关键字同名。
1. 类型关键字
关键字 |
含义 |
bool |
布尔类型 |
char |
字符型 |
Int long short |
整型,长整型,短整型 |
Float double |
单精度浮点数,双精度浮点数 |
Class struct union enum |
类,结构体,联合体,枚举类型 |
Const |
常数 |
Unsigned signed |
无符号,有符号 |
Void |
无返回值 |
Static |
静态 |
extern |
外部变量 |
private protected public |
私有,保护,公有 |
friend |
友元 |
virtual |
虚函数 |
template |
模版 |
namespace |
命名空间 |
typedef |
类型别名 |
inlin |
内联函数 |
2. 语句定义符
用于表示一个语句功能
关键字 |
含义 |
sizeof |
类型大小 |
new delete |
创建,释放对象 |
continue |
略过本次循环,进入下一个循环 |
break |
中断循环过程 |
reutrn |
函数返回 |
goto |
跳转 |
for |
for循环结构 |
throw |
抛出异常 |
try |
执行一段可能抛出异常的代码 |
catch |
处理抛出的异常 |
do |
与while形成循环结构 |
while |
循环结构 |
If else |
根据表达式判断执行代码 |
switch |
分支语句 |
default |
分支语句默认标签 |
static_cast const_cast dynamic_cast reinterpret_cast |
类型转换 |
false true |
布尔假,布尔真 |
this |
当前对象指针 |
3. 预处理命令字
关键字 |
含义 |
## |
连接字 |
#define |
定义一个宏 |
#error |
在编译过程中显示一个错误 |
#if #ifdef #ifndef #else #elif #endif |
条件命令编译 |
#include |
文件包含 |
#line |
设置行和文件信息 |
#pragma |
执行编译命令 |
#undef |
取消一个未定义变量 |
我们再来说下c++标识符
在程序中使用的变量名,函数名,标号等都是标识符。
作为标识符,有以下几个规定:
1) 标识符只能是字母、数字、下划线组成的字符串
2) 标识符的第一个字符不能是数字
3) 不能用关键字作为标识符
当然啦,这是基本的要求,但是一个好的标识符能起到很好理解的作用,让人一看就知道这个是什么意思,方便阅读。这里主要给大家推荐下匈牙利命名法,或者华为规范,我会在有时间的时候给大家发下google的c++规范,也是相当不错的。
接下来就是c++的数据类型啦
不同的c++数据所占用的内存空间字节数不同,运算速度也不一样。
基本数据类型有:
(一) 布尔型
只能取true或者false,用一个字节存储
(二) 字符型
字符型用一个字节表示,字符值主要以ASCII码的形式存放在变量的内存单元中。
char c_a;
c_a=’A’;
cout<<c_a<<endl;
(三) 整型
1) 整型
类型为int。在我的32位机器上它的内存占4个字节
2) 短整型
类型为short int 或者 short,它在内存中占2个字节
3) 长整型
类型为long int或 long,在32为机器上也是占4个字节
4) 无符号整型
类型为unsigned int ,大小跟int一样
5) 无符号短整型
类型为 unsigned short
6) 无符号长整型
类型为 unsigned long
每个类型
(四) 浮点型
1) 单精度浮点型:float,占4个字节
2) 双精度浮点型:double,占8个字节
3) 长双精度浮点型:long double,占8个字节
我原来说过cin 一个int 型的不能太大,这是为什么呢
因为每个数据类型都有大小,取值范围,到底是多少呢,我们来看看
类型名 |
长度(字节) |
取值 |
bool |
1 |
false true |
char |
1 |
-128~127 |
unsigned char |
1 |
0~255 |
short |
2 |
-32768~32767 |
unsigned short |
2 |
0~65535 |
int |
4 |
-2147483648~2147483647 |
unsigned int |
4 |
0~4294967295 |
long |
4 |
-2147483648~2147483647 |
unsigned long |
4 |
0~4294967295 |
float |
4 |
+-(3.4*10-38~3.4*1038~) |
double |
8 |
1.7*10-308~1.7*10308 |
long double |
8 |
1.7*10-308~1.7*10308 |
数据在内存中的储存
所有数据在计算机中储存时,都是以字节为基本单位的。字节是计算机储存空间的最小单位,八个二进制位构成1个字节。由于计算机的软硬件不同,同一数据类型在不同计算机上不同,我们这里就拿常用的32位机器做例子。
数据占用的字节数的多少决定了其所能表达的数据范围,计算机对储存空间中存放的相同信息,因其表示的数据类型不同会有不同的解释。虽然每一个字节可分为8位,但是计算机不会为任何一种数据类型单独分解一位来储存,即使占用了一位,也得给它分配一个字节。
对于整形,最高位是符号位,最高位来表示数的正负。
对于浮点数,前8位表示指数,其中最高位为指数的符号位,后24位表示尾数,其中最高位为尾数的符号位
对于双精度浮点型,8个字节,前11位表示指数,其中最高位为指数的符号位,后53位表示尾数,其中最高位为尾数的符号位
对于字符型,1个字节,值和字符的对应关系由ASCII编码标准决定
对于字符串,就是字符数组,每个字符占一个字节,结尾以“\0”结束
对于布尔型,1个字节,最低位1为真,0为假
好啦今天就先到这里吧,我们后面会说变量,常量,运算符等
一会我会发下goole c++规范