1 编译型语言

编程语言的层次和类型

(从上到下,使用层次更接近于人类使用,但运行效率逐渐降低)


  • 机器语言,汇编语言等
  • 编译型语言,如C++,C等
  • 解释型语言,如Basic,Python等
  • 脚本语言,如bash,csh等

编译型语言一般需要经历​​编译​​​和​​链接​​的过程,才能变成真正可执行的程序

2 语言的数据类型

一个简单的例子

一个1+1=2的例子,代码如下:

int sum;
int m = 1;
int n = 1;
sum = m + n;

数据类型的内部结构

  • C++中的每个变量都有其数据类型,数据类型约定这变量所占内存空间的代销和
    布局方式、该空间能存储的值的范围,以及变量能参与的运算。(学习C++,就得了解内存布局!)

算术类型(摘抄自《C++ Primer》)

类型

含义

最小尺寸

bool

布尔类型

8位

char

字符

16位

wchar_t

宽字符

16位

char16_t

Unicode字符

32位

char32_t

Unicode字符

16位

short

短整型

16位

int

整型

16位

long

长整型

32位

long long

长长整型

64位

float

单精度浮点型

6位有效数字

double

双精度浮点型

10位有效数字

long double

扩展精度浮点数

10位有效数字

​wchar_t​​​、​​char16_t​​​、​​char32_t​​​字符类型用于扩展字符集。​​wchar_t​​​类型用于确保可以存放机器最大扩展字符集中的任意一个字符,​​char64_t​​​类型和​​char32_t​​类型则为Unicode字符服务。

3.开发环境的安装与使用

安装后可在开始搜索​​devenv.exe​​即可定位到Visual Studio开发程序。

调试快捷键


  • F5:开始调试
  • F9:下断点
  • F11:单步进入

4.语言的标识符和关键字

标识符


  • C++中标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名字
  • 一个标识符以字母A-Z或a-z或下划线_开始,后跟零个或多个字母、下划线和数字(0-9);如button_email1
  • 一个标识符不允许使用数字开头,如1button;一个标识符不允许出现标点字符,比如@、&和%;
  • 不能将大小写混淆,C++是区分大小写的编程语言,比如,在C++中,HelloWorld和helloworld是两个不同的标识符;
  • 不能使用C++关键字,原则上不允许长度超过32位;

标识符的建议


  • 不要试图发明最好的命名规则,应该制定一个让大部分成员满意的命名规则,并且在项目组中贯彻执行;
  • 标识符应该直观,可以望文知意,尽量使用英文单词组合的方式,不要使用汉语拼音;
  • 标识符的长度应当符合"min-length&&max-information"原则;
  • 变量的名字尽量使用"名词"或"形容词+名词",如value或newValue,尽量避免名字中出现数组,函数名可以使用"动词+名词",如DrawGraph
  • 著名的命名规则:匈牙利命名法、Camel命名法或Pascal命名法

5.变量和常量

变量


  • 变量:在程序运行过程中,其值可以改变的量为变量;
  • 变量在程序的执行中能够赋值,发生变化;
  • 变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元

常量

C++中有两种简单的定义常量的方法:


  1. 使用#define,如:​​#define PI 3.1415926;​
  2. 使用const,如:​​const double PI = 3.1415926;​

说明:

尽量使用const定义常量,#define不会出现在编译器期

# define ASPECT_RATIO 1.653     //在编译时出错,很难排错
const double ASPECT_RATIO = 1.653; //在编译时出错,可以排错

整数常量


  • 整数常量可以是十进制、八进制或十六进制的变量
  • 前缀指定基数:​​0x​​​或​​0X​​表示十六进制,0表示八进制,不带前缀则默认表示十进制。
  • 整数常量也可以带一个后缀,后缀是U和L的组合,U表示无符号整数(unsigned),L表示长整数(long)。后缀可以是大写,也可以是小写,U和L的顺序任意。

布尔常量


  • true值代表真。
  • false值代表假。

字符常量


  • 字符常量是括在单引号中,如果常量以L(仅当大写时)开头,则表示它是一个宽字符常量(例如L‘x’),此时它必须存储在wchar_t类型的变量中。否则,它就是一个窄字符常量(例如’x’),此时它可以存储在char类型的简单变量中;
  • 字符常量可以是一个普通的字符(例如’x’)、一个转义序列(例如’\t’),或一个通用的字符(例如’\u02C0’);