C++基础语法
编程语言的层次和类型
- 机器语言、汇编语言 等
- 编译型语言 C++ C 等
- 解释型语言 Basic Python 等
- 脚本语言 bash shell 等
以上从上到下使用层次更接近人类使用,但是运行效率逐渐降低。(java是介于编译和解释型之间)
编译型语言一般需要编译和链接的过程,才能变成真正的可执行的程序。
源代码 - 预处理 - 编译 - 汇编 - 链接 - 可执行文件
语言的数据类型
一个简单的例子:
int sum; // 定义整型变量
int m = 1; // 定义整型变量
int n = 1; // 定义整型变量
sum = m + n;
数据类型的内部结构:
- C++中的每个变量都有其数据类型,数据类型决定这变量所占用的内存空间大小和布局方式、该空间能存储的值的范围以及变量能参与运算。
C++中的常见的数据类型:
名称 | 字节数 | 描述 | 范围 |
---|---|---|---|
char | 1 | 字符()或者整数,8位长 | 有符号-128-127无符号 0-255 |
short | 2 | 短整数 16位长 | 有符号-32768-32767无符号0-65535 |
long | 4 | 长整数 32位长 | 有符号-2147483648-2147483641无符号0-4294967295 |
int | 4 | 整数 | 有符号-2147483648-2147483641无符号0-4294967295 |
float | 4 | 浮点数 | |
double | 8 | 双精度浮点数 | |
long double | 8 | 长双精度浮点数 | |
bool | 1 | 布尔值 | TRUE或FALSE |
wchar_t | 2 | 宽字符 | 一个宽字符 |
常见数据类型的定义:
void main(void)
{
char a[10] = "a";
short int s = 97;
int m = 97;
long int n = 97;
float f = 97.0f;
double d = 97.0;
long double k = 97.0;
bool b = true;
wchar_t w[10] = L"a";
}
开发环境的安装和使用
略
语言的标识符和关键字
标识符:
- C++标识符是用来标识变量、函数、类、模块或者其他任何用户自定义的项目的名字;
- 一个标识符以字母A-Z或者a-z或者下划线_开始,后面跟零个或者多个字母、下划线和数字;
- 一个标识符不允许使用数字开头,一个标识符内不允许出现标点字符
- 不能将大小写混淆,C++是区分大小写的编程语言
- 不能使用C++关键字,原则上不允许长度超过32位
常见关键字:
asm | else | new | this |
---|---|---|---|
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typename |
char | float | reinterprent_cast | typeid |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template |
可以在 C++ keywords - cppreference.com内查看最新的关键字。
变量与常量
变量
-
变量:在程序运行中,其值可以改变的量称为变量;
-
变量在程序的执行中能够赋值,发生变化;
-
变量有一个名字,并在使用之前要说明其类型,一经说明,就在内存中占据与其类型相应的存储单元
变量的定义
-
变量定义的基本形式 :首先是类型说明符,紧跟一个或者多个变量名称组成的列表,其中变量名以逗号分割,最后用分号结束。 int m = 1, n = 1;
-
当变量在创建时候获得了一个特定的值,我们就说这个变量被初始化了。用于初始化变量的值可以是任意复杂的表达式。
-
当一次定义了多个变量时,变量名字随着定义就可以使用了。int m =1, n=1; int sum = m+n;
常量
- 常量:在程序运行过程中其值一直保持不变的量称为常量
- 常量也区分不同的类型 2 1024 是整形 2.0f是浮点型 等
常量的定义
- C++中使用两种简单的方式定义常量的方法:
- 使用#define :如 #define PI 3.1415926
- 使用const : 如 const double PI = 3.1415926
有人数能用const就不要用define 。我觉得是扯淡,这个还是看实际使用场景,但是确实需要避免define错误。
整形常量
- 整数常量可以是十进制、八进制或者十六进制
- 前缀指定基数:0X表述十六进制 、0表示8进制 、不带前缀表示十进制
- 整数常量也可以带一个后缀,后缀是U和L的组合,U表示无符号整数, L表示长整型,后缀可以是大写也可以是小写。
布尔常量
布尔常量共有两个 true false
字符常量
- 字符常量是在单引号中,如果以L(仅大写)开头,则表示宽字符 (L’x’),此时它必须存储在wchar_t类型的变量中,凑则它就是一个窄字符常量,可以存在char中;
- 字符常量可以是一个普通的字符(‘x’)、一个专一字符(‘\t’)或者一个普通字符(‘\u02C0’)
转义字符 | 意义 | ASCLL码值(十进制) |
---|---|---|
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
’ | 代表一个单引号 | 039 |
" | 代表一个双引号字符 | 034 |
\ | 代表一个反斜线字符’‘’ | 092 |
? | 代表一个问号 | 063 |
\0 | 空字符(NUL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |