文章目录
- 小案例
一、编程工具
操作系统:Microsoft Windows 10 Home x64
编译工具:Microsoft Visual Studio 2015 社区中文版(其实 VS2010、VS2012、VS2013、VS2015、VS2017 都可以的。)
下载地址:https://msdn.itellyou.cn/(这个网站包含了微软的几乎所有正版软件,你也可以直接搜索官网下载。)
Visual Assist X 加快开发效率。
当然其它的工具也是一样的,我这里只是省事。
编译器工作流程:源代码(source code)->预处理器(preprocessor)->编译器(compiler)->目标代码(object code)->链接器(Linker)->可执行程序(executables)
关于编译器各版本:https://www.zhihu.com/question/39661628
在Linux平台:gcc/g++,GNU社区的神作
二、新建项目
第一个项目:
点击【文件】->【新建】->【项目】(出现如下界面,如下操作即可)
该软件的布局区域若是不小心关闭了,你直接点击【视图】可将其调出。
自定义菜单栏下方的工具栏:点击【视图】->【工具栏】->【自定义】进行自定义。
三、数据类型
常用的数据类型:
这么多的数据类型,说白了就是为了更好的解决数据的存储与运算问题。
试想一下,若是整形全部用长整型(long int ),浮点型全部用long double,这样固然避免了许多的数据类型的转换,但是造成了运行缓存和存储空间的浪费。
数据类型的长度(取值范围) 如下:
四、变量与常量
变量名字的命名规则:
与C语言,python相同,C++规定变量的名字只能由数字、字母、下划线这三种字符组成。而且第一个字符不能是数字。
#define宏定义和const常变量区别
-
#define
是宏定义。宏定义是C语言提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含(#include)、条件编译(#if以及#endif等)。那么,预编译会将标识符进行替换,也就是说不进行任何计算、求解等操作,编译时不能进行数据类型检验;因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。
#define定义表达式时要注意“边缘效应”,例如如下定义:
#define N 2+3 //我们预想的N值是5,我们这样使用N
int a = N/2; //我们预想的a的值是2.5,可实际上a的值是3.5
原因在于在预处理阶段,编译器将 a = N/2处理成了 a = 2+3/2;这就是宏定义的字符串替换的“边缘效应”因此要如下定义:
#define N (2+3) -
const
定义的常量,在程序运行时在常量表中,系统为它分配内存。在编译时进行严格的类型检验,可以避免出错。const可以在任何地方定义常量,编译器对它的处理过程与变量相似,只是分配内存的地方不同
五、运算符
运算符 | 详情 |
算术运算符 | +(加)、-(减)、*(乘)、/(除)、%(整除求余)、++(自加)、–(自减) |
关系运算符 | >(大于)、<(小于)、==(等于)、>=(大于或等于)、<=(小于或等于)、!=(不等于) |
逻辑运算符 | |
位运算符 | <<(按位左移)、>>(按位右移)、&(按位与)、|(按位或)、^(按位异或)、~(按位取反) |
赋值运算符 | (=号及其扩展赋值运算符) |
条件运算符 | (?:) |
逗号运算符 | (,) |
指针运算符 | (*) |
引用运算符和地址运算符 | (&) |
求字节数运算符 | (sizeof) |
强制类型转换运算符 | ((类型) 或 类型()) |
成员运算符 | (.) |
指向成员的运算符 | (->) |
下标运算符 | ([]) |
运算符的优先级:
其实只需要记得一些常用运算符优先级即可,记不清的加()
保证没错。
小案例
输入输出是以流的形式进行的。