一、编译型语言
1、编程语言的层次和类型
- 机器(Machine)语言,如汇编语言
- 编译型语言,如C++,C
- 解释型语言,如Basic,Python
- 脚本语言,如bash,csh
从上到下使用层次,更接近于人类使用,但运行效率逐渐降低
2、编译与链接过程
编译型语言一般需要经历编译和链接的过程,才能变成真正可执行的程序
源程序(.cpp) --> 编译器 --> 汇编代码(.a) --> 汇编器 --> 目标代码 --> 链接器(其他目标代码、库文件) --> 可执行程序(.exe)
二、数据类型
类型 | 位 | 范围 |
---|---|---|
char | 1 个字节 | -128 到 127 或者 0 到 255 |
unsigned char | 1 个字节 | 0 到 255 |
signed char | 1 个字节 | -128 到 127 |
int | 4 个字节 | -2147483648 到 2147483647 |
unsigned int | 4 个字节 | 0 到 4294967295 |
signed int | 4 个字节 | -2147483648 到 2147483647 |
short int | 2 个字节 | -32768 到 32767 |
unsigned short int | 2 个字节 | 0 到 65,535 |
signed short int | 2 个字节 | -32768 到 32767 |
long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 个字节 | 0 到 18,446,744,073,709,551,615 |
float | 4 个字节 | 精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字) |
double | 8 个字节 | 双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字) |
long double | 16 个字节 | 长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。 |
wchar_t | 2 或 4 个字节 | 1 个宽字符 |
三、标识符和关键字
1、关键字
c++关键字 | ISO C++98/03 | |||
---|---|---|---|---|
asm | do | if | return | typedef |
auto | double | inline | short | typeid |
bool | dynamic_cast | int | signed | typename |
break | else | long | sizeof | union |
case | enum | mutable | static | unsigned |
catch | explicit | namespace | static_cast | using |
char | export | new | struct | virtual |
class | extern | operator | switch | void |
const | false | private | template | volatile |
const_cast | float | protected | this | wchar_t |
continue | for | public | throw | while |
default | friend | register | true | |
delete | goto | reinterpret_cast | try |
2、标识符
C++中标识待是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名字
- 标识符以字母 A-Z 或a-z或下划线_开始,后跟零个或多个宇
母、下划线和数字 (0-9) - 标识符不允许使用数字开头
- 标识符内不允许出现标点字符,比如@、&和%
- 不能将大小写混淆,C++是区分大小写的编程语
- 不能使用C++关键字,原则上不允许长度超过32位
3、关于标识符的建议
不要试图发明最好的命名规则,应该制定一个让大部分成员满意的命名规则,并且在项目组中贵彻执行
标识符应该直观,可以望文知意,尽量使用英文单词组合的方式,不要使用汉语拼音
标识符的长度应当符合"min-length&&max-information"原则,不
是长度越长就越好
变量的名字尽量使用 “名词”或“形容词+名词”,尽量避免名字中出现数字,函数名可以使用“动词+名词”
勾牙利命名法:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写,如 int iMyAge
驼峰式Camel命名法:第一个单词首字母小写,后面其他单词首字母大写,如int myAge
Pascal命名法:每个单词的第一个字母都大写,如 int MyAge
四、变量与常量
1、变量
变量:在程序运行过程中,其值可以改变的量为变量。变量在程序的执行中能够赋值,发生变化
变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元
当变量在创建时获得了一个特定的值,我们说这个变量被初始化了。用初始化变量的值可以是任意复杂的表达式
2、常量
- 使用#define,如:#define P1 3.1415926
- 使用const,如:const double Pl = 3.1415926
尽量使用const定义变量,#define 不会出现在编译器期
3、整数常量
整数常量可以是十进制、八进制或十六进制的常量。
前缀指定基数:0x 或 ox 表示十六进制,0表示八进制,不带前缀则默认表示十进制。
整数常量可以带一个后缀,后缀是U和L的组合:U表示无符号整数 (unsigned),L表示长整数 (long)。后缀可以是大写,也可以是小写,U和L的顺序任意。
4、布尔常量
布尔常量共有两个,它们都是标准的 C++关键字
- true 值代表真
- false 值代表假
5、字符常量
宇符常量是括在单引号中。如果常量以L(仅当大写时)开头,则表示它是一个宽字符常量(例如L’x’),此时它必须存储在wchar t 类型的变量中。否则,它就是一个窄字符常量(例如’x’),此时它可以存储在 char 类型的简单变量中。
字符常量可以是一个普通的字符(例如’x’) ,转义序列(例如’\t’)或通用的字符(例如’\u02C0’)
五、语言的注释
1、注释概述
程序的注释是解释性语向,您可以在 C++ 代码中包含注释,这将
提高源代码的可读性。所有的编程语言都允许某种形式的注释。
单行注释:以//开始,直到行末为止
多行注释:以 /* 开始,以*/终止。
2、注释的建议
- 好的命名和代码本身就是最好的注释;如果代码本身很清楚,不需要额外加注释
- 在重要代码段,或复杂代码处先写注释再写代码,这样思路更清晰,同时可以保证代码和注释的一致性
- 注释不是越多越好,它是对代码的提示,如果要写就要清楚,并旦保证和代码一致,如果更新了代码,请更新相应的注释