C语言ANSI标准定义的32个关键字:
|
auto |
double |
int |
struct |
|
break |
else |
long |
switch |
|
case |
enum |
register |
typedef |
|
char |
extern |
return |
union |
|
const |
float |
short |
unsigned |
|
continue |
for |
signed |
void |
|
default |
goto |
sizeof |
volatile |
|
do |
if |
static |
while |
32个关键字分为两个大的类别:数据类型和控制结构
|
类别 |
关键字 |
简单说明 |
|
基本类型 |
char |
声明字符型变量或函数返回值类型 |
|
5 |
double |
声明双精度浮点型变量或函数返回值类型 |
|
float |
声明浮点型变量或函数返回值类型 | |
|
int |
声明整型变量或函数 | |
|
void |
声明函数无返回值或无参数,声明无类型指针 | |
|
复杂类型 |
enum |
声明枚举类型 |
|
5 |
sizeof |
计算数据类型或变量长度(即所占字节数) |
|
struct |
声明结构体类型 | |
|
typedef |
用以给数据类型取别名 | |
|
union |
声明共用体类型 | |
|
类型修饰 |
long |
声明长整型变量或函数返回值类型 |
|
4 |
short |
声明短整型变量或函数 |
|
signed |
声明有符号类型变量或函数 | |
|
unsigned |
声明无符号类型变量或函数 | |
|
存储级别 |
auto |
声明自动变量 |
|
6 |
const |
声明只读变量 |
|
extern |
声明变量或函数是在其它文件或本文件的其他位置定义 | |
|
register |
声明寄存器变量 | |
|
static |
声明静态变量 | |
|
volatile |
说明变量在程序执行中可被隐含地改变 | |
|
分支结构 |
case |
开关语句分支 |
|
5 |
default |
开关语句中的“其它”分支 |
|
else |
条件语句否定分支(与 if 连用) | |
|
if |
条件语句 | |
|
switch |
用于开关语句 | |
|
循环结构 |
do |
循环语句的循环体 |
|
3 |
for |
一种循环语句 |
|
while |
循环语句的循环条件 | |
|
跳转结构 |
break |
跳出当前循环 |
|
4 |
continue |
结束当前循环,开始下一轮循环 |
|
goto |
无条件跳转语句 | |
|
return |
子程序返回语句(可以带参数,也可不带参数) |
|
inline |
restrict |
_Bool |
_Complex |
_Imaginary |
|
_Alignas |
_Alignof |
_Atomic |
_Static_assert |
|
_Noreturn |
_Thread_local |
_Generic |
C++63个关键字
|
asm |
else |
new |
this |
|
auto |
enum |
operator |
throw |
|
bool |
explicit |
private |
TRUE |
|
break |
export |
protected |
try |
|
case |
extern |
public |
typedef |
|
catch |
FALSE |
register |
typeid |
|
char |
float |
reinterpret_cast |
typename |
|
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++11新增10个关键
|
alignas |
alignof |
char16_t |
char32_t |
|
constexpr |
decltype |
noexcept |
nullptr |
|
static_assert |
thread_local |
C++98/03标准中,auto表示自动储存类型;C++11标准中,auto表示由编译器静态判断其应有的类型。
C++在C语言基础上新增31个关键字
|
关键字 |
简单说明 |
|
asm |
允许在C++程序中嵌入汇编代码 |
|
bool |
布尔类型 |
|
catch |
用于异常处理 |
|
class |
声明一个类 |
|
const_cast |
常量对象被转换成非常量对象 |
|
delete |
释放程序动态申请的内存空间 |
|
dynamic_cast |
允许在运行时刻进行类型转换 |
|
explicit |
禁止单参数构造函数被用于自动型别转换 |
|
export |
可被外部访问的模板类对象和模板函数 |
|
false |
bool类型的值之一,等同于int的0值 |
|
friend |
声明对象成员的友元关系 |
|
mutable |
声明函数不改变对象的状态(非静态和非常量成员) |
|
namespace |
命名空间,比类大的结构 |
|
new |
新建一个对象 |
|
operator |
用于操作符重载,C++中的一种特殊的函数 |
|
private |
访问控制符,只能在本类以及友元中访问 |
|
protected |
访问控制符,只能在本类以及其继承类和友元中访问 |
|
public |
访问控制符,可以在任何类中进行访问 |
|
reinterpret_cast |
指针与整数的相互转换 |
|
static_cast |
类型转换 |
|
template |
模板,C++中泛型机制的实现 |
|
this |
返回调用者本身的指针 |
|
throw |
“抛出”一个异常 |
|
true |
bool类型的值之一,等同于int的非0值 |
|
try |
调用可能抛出异常的函数 |
|
typeid |
指出指针或引用指向的对象的实际派生类型 |
|
typename |
告诉编译器把一个特殊的名字解释成一个类型 |
|
using |
表明使用namespace |
|
virtual |
虚的,C++中用来实现多态机制 |
|
wchar_t |
宽字符类型,占2个字节,16位宽,可用于表示汉字 |
函数调用约定
函数调用约定,是指当一个函数被调用时,函数的参数会被传递给被调用的函数和返回值会被返回给调用函数。函数的调用约定就是描述参数是怎么传递和由谁平衡堆栈的,当然还有返回值。
|
_stdcall |
_fastcall |
_cdecl |
_nakedcall |
|
_pascal |
_thiscall(C++) |
预处理指令
C语言的预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头。
|
#define |
定义宏 |
|
#elif |
如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 |
|
#endif |
结束一个#if……#else条件编译块 |
|
#error |
停止编译并显示错误信息 |
|
#if |
如果给定条件为真,则编译下面代码 |
|
#ifndef |
如果宏没有定义,则编译下面代码 |
|
#include |
文件包含 |
|
#indef |
如果宏已经定义,则编译下面代码 |
|
#line |
可以改变编译器用来指出警告和错误信息的文件号和行号 |
|
#pragma |
布局控制,典型的用法是禁止或允许某些烦人的警告信息 |
|
#undef |
取消已定义的宏 |
9种控制语句
|
if()…else… |
条件语句 |
|
for()… |
循环语句 |
|
while()… |
循环语句 |
|
do~while() |
循环语句 |
|
continue |
结束本次循环语句 |
|
break |
中止执行switch或循环语句 |
|
switch… |
多分支选择语句 |
|
goto |
转向语句 |
|
return |
从函数返回语句 |
C语言33个符号
|
类别 |
符号 |
名称 |
|
C++运算符 |
:: |
作用域运算符 |
|
成员访问 |
. |
结构成员 |
|
单目转型 |
- |
取负 |
|
& |
取地址 | |
|
(类型) |
类型转换 | |
|
* |
取内容 | |
|
逗号运算符 |
, |
逗号运算 |
|
复合赋值 |
+= |
加法赋值 |
|
赋值运算 |
= |
赋值运算 |
|
关系运算符 |
!= |
不等于 |
|
< |
小于 | |
|
<= |
小于等于 | |
|
== |
等于 | |
|
> |
大于 | |
|
>= |
大于等于 | |
|
函数参数 |
() |
圆括号 |
|
逻辑运算符 |
! |
逻辑非 |
|
&& |
与 | |
|
|| |
或 | |
|
前缀或后缀 |
-- |
自减 |
|
++ |
自增 | |
|
数组下标运算 |
[] |
下标 |
|
算术运算符 |
- |
减 |
|
% |
求余 | |
|
* |
乘 | |
|
/ |
除 | |
|
+ |
加 | |
|
条件运算符 |
?: |
条件运算 |
|
位运算符 |
& |
位与 |
|
^ |
位异或 | |
|
| |
位或 | |
|
~ |
位非 | |
|
一元运算 |
sizeof |
求字节 |
|
移位运算符 |
<< |
左移 |
|
>> |
右移 | |
|
指针成员访问 |
-> |
指针型结构成员 |
在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。