,欢迎光临!
加入收藏设为首页请您留言
您当前位置:网站首页 >> 基础教程 >> C51语言 >> C|32个关键字、9种控制语句、33个符号的分类、说明及与C++比较

C|32个关键字、9种控制语句、33个符号的分类、说明及与C++比较

2017-12-07 08:54:59 来源:爱单片机 浏览:33

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

子程序返回语句(可以带参数,也可不带参数)

19991216ISO推出了C99标准,该标准新增了5C语言关键字:

inline

restrict

_Bool

_Complex

_Imaginary

2011128ISO发布C语言的新标准C11,该标准新增了7C语言关键字:

_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类型的值之一,等同于int0

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语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。

感谢qiumingbo投稿
发表评论
网名:
评论:
验证:
共有0人对本文发表评论查看所有评论(网友评论仅供表达个人看法,并不表明本站同意其观点或证实其描述)
赞助商链接
关于我们 - 联系我们 - 服务与报价 - 使用许可协议