C++ Primer知识系列一:预备知识、数据及基本类型

C++ Primer知识系列一:预备知识、数据及基本类型

1、预备知识

编程过程:源代码(.cpp) 编译器 目标代码(.obj) 链接程序(启动代码及库代码) 可执行代码(.exe)

注释://单行,/*多行*/;C++对大小写敏感;预处理器编译指令:#include;变量使用前必须声明。

2、处理数据

没有任何一种整型和浮点型可以满足所有的编程要求。

变量名:只能使用字母字符,数字和下划线;第一个字符不能是数字;不能为关键字;以两个下划线或下划线和大写字母开头的变量名被保留给实现使用。

整型:

1字节=8位,1byte=8bits;sizeof返回类型或变量的字节长度

类型位数(有效位数)
short 16位
int short(5)
long 32位 int(10)
long long 64位 long(19),后缀LL

十进制:第一位0~9;八进制:第一位0,第二位1~7;十六进制:前两位0x。

char类型(字符或小整型):

字符使用单引号,字符串使用双引号。

类型
char-127~128
unsigned char0~255
wcha_twcin,wcout,前缀L
char16_t16位,前缀u
char32_t32位,前缀U

const限定符 const 类型 变量名=变量值;必须初始化

浮点数:

类型
float 32位
double 48位 float(一般64位)
long double double

cout.setf(ios_base::fixed,ios_base::floatedfield)防止使用E表示法,使用定点表示法。

浮点常量:默认double,float使用f后缀,long double使用L后缀。

缩窄:变量类型可能无法赋给它的值。

类型转换:强制转换:(类型) value或 类型(value)

auto:不指定变量类型。

3、复合类型

数组:

声明:类型 数组名[大小],数组下标从0开始。

初始化:={value1,value2,value3,…}禁止缩窄。

只有在定义数组时才能初始化且不能将一个数组赋给另一个数组;提供元素个数小于大小;只对数组一部分元素初始化,其他元素设置为0;初始化时[]可为空。

字符串:字符串以’\0’结束;char c[]=”…”;strlen计算可见字符长度;cin以空白(空格、换行和制表符)来确定字符串结束位置;cin.getline(数组名,字符数)自动在结尾处添加’\0’,遇到换行符停止;cin.get(数组名,字符数)会保留换行符在输入队列中;cin.get()读取下一行。

结构:

定义结构:struct 结构名 {成员;……};

创建结构变量:结构名 变量名;初始化 = {成员值1,…..};访问成员:”.”

结构数组:结构名 数组名[] = {{…},{…},…}

共用体:与结构类似,但只能存储其中一种类型

枚举:

enum 创建符号常量:enum 枚举名{枚举量…(从0开始)}。

枚举名 变量名; 变量名=枚举量(是整型,可以提升为int,但int不能转换为枚举);变量名=枚举名(有效整数)。

enum bits{one=1,two=2}可以设置枚举量的值

指针:是一个变量,存储的是地址。

类型* 指针变量 = 地址;*指针变量 指针指向地址的值;一定要在对指针变量应用解除引用运算符(*)前,将指针变量初始化一个确定地址。

使用new来分配内存:类型* 指针变量=new 类型;使用delete来释放内存:delete 指针变量;只用new创建动态数组:类型* 指针变量 = new类型[size] (delete[] 指针变量),不能用sizeof来确定动态数组的字节数,指针变量可直接当数组名使用。

指针运算:指针变量+1:增加他指向的类型的字节数;指针变量[i] = *(指针变量+i),数组名为第一个元素地址,但对数组名应用&得到的是整个数组的地址。

使用new创建动态结构:结构名* 指针变量 = new 结构名;使用指针 或(*指针变量)访问成员。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值