C++ Primer知识系列一:预备知识、数据及基本类型
来源:互联网 发布:java调用方法格式 编辑:程序博客网 时间:2024/06/05 20:39
C++ Primer知识系列一:预备知识、数据及基本类型
1、预备知识
编程过程:源代码(.cpp)
注释://单行,/*多行*/;C++对大小写敏感;预处理器编译指令:#include;变量使用前必须声明。
2、处理数据
没有任何一种整型和浮点型可以满足所有的编程要求。
变量名:只能使用字母字符,数字和下划线;第一个字符不能是数字;不能为关键字;以两个下划线或下划线和大写字母开头的变量名被保留给实现使用。
整型:
1字节=8位,1byte=8bits;sizeof返回类型或变量的字节长度
十进制:第一位0~9;八进制:第一位0,第二位1~7;十六进制:前两位0x。
char类型(字符或小整型):
字符使用单引号,字符串使用双引号。
const限定符 const 类型 变量名=变量值;必须初始化
浮点数:
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 结构名;使用指针
- C++ Primer知识系列一:预备知识、数据及基本类型
- C++ primer plus(一)预备知识
- [C++ Primer Plus]预备知识
- 汇编预备知识(一)
- c语言---预备知识
- C++ Primer Plus 第一章 预备知识
- C++ primer plus学习:第一章 预备知识
- Key Technologies Primer /Struts预备知识
- C++ Primer Plus 第一章 预备知识
- Disruptor笔记(一)-预备知识
- Disruptor笔记(一)-预备知识
- 一、安卓预备知识
- 数据结构预备知识(一)
- 概率论(一)-预备知识
- 数据结构学习一 数据结构概述及预备知识
- C语言编程预备知识
- C语言编程预备知识
- 预备知识
- javascript的用处
- 压岁钱
- 【软测】Bug基础知识
- 2017.10.23
- 【bzoj1951】【古代猪文】Lucas定理+欧拉定理+孙子定理
- C++ Primer知识系列一:预备知识、数据及基本类型
- Map接口源码分析
- A Global Sampling Method for Alpha Matting笔记
- JNDI连接配置
- Lintcode 109.数学三角形
- json对象
- Java SE、Java EE和Java ME有什么区别
- day12网络编程
- Linux下安装mysql