二维码
微世推网

扫一扫关注

当前位置: 首页 » 企业商讯 » 网红资讯 » 正文

C_从关键字的分类理解C语言的核心思想

放大字体  缩小字体 发布日期:2022-02-28 00:58:56    作者:田昕    浏览次数:113
导读

C语言(C89)32个关键字大体可以分类两类:1 C89与类型相关得20个关键字C做为强类型语言,类型要显式声明并在编译器做检查。2 C89与控制结构相关得12个关键字控制结构实现算法,算法用函数呈现,由函数实现模块化。3 C99、C11新增关键字keywordThrough marco used asdefined inrestrict (since C11)指针变量修饰inline (sin

C语言(C89)32个关键字大体可以分类两类:

1 C89与类型相关得20个关键字

C做为强类型语言,类型要显式声明并在编译器做检查。

2 C89与控制结构相关得12个关键字

控制结构实现算法,算法用函数呈现,由函数实现模块化。

3 C99、C11新增关键字

keyword

Through marco used as

defined in

restrict (since C11)

指针变量修饰

inline (since C11)

内联函数

_Alignas (since C11)

alignas

stdalign.h

_Alignof (since C11)

alignof

stdalign.h

_Atomic (since C11)

atomic_bool,atomic_int,…

stdatomic.h

_Bool (since C99)

bool

stdbool.h

_Complex (since C99)

complex

complex.h

_Generic (since C11)

(no macro)

_Imaginary (since C99)

imaginary

complex.h

_Noreturn (since C11)

noreturn

stdnoreturn.h

_Static_assert (since C11)

static_assert

assert.h

_Thread_local (since C11)

thread_local

threads.h

在C99中,新增了_Bool(关键字)数据类型,在stdbool.h头文件,宏定义bool为-Bool:

#define bool _Bool #define true 1 #define false 0 4 C++新增关键字

C++新增得关键字主要有与类相关得10个关键字,与数据类型相关(包括类型转换)相关得20个关键字,与异常处理相关得5个关键字,与内存管理相关得4个关键字。

sn

C++

classify

remark

1

class

类相关

2

explicit

类相关

3

friend

类相关

4

mutable

类相关

5

operator

类相关

6

private

类相关

7

protected

类相关

8

public

类相关

9

this

类相关

10

virtual

类相关

11

bool

类型相关

12

char8_t (since C++20)

类型相关

13

char16_t (since C++11)

类型相关

14

char32_t (since C++11)

类型相关

15

consteval (since C++20)

类型相关

16

constexpr (since C++11)

类型相关

17

decltype (since C++11)

类型相关

18

dynamic_cast

类型相关

19

FALSE

类型相关

20

namespace

类型相关

21

nullptr (since C++11)

类型相关

22

reinterpret_cast

类型相关

23

static_cast

类型相关

24

template

类型相关

25

TRUE

类型相关

26

typeid

类型相关

27

typename

类型相关

28

using

类型相关

29

wchar_t

类型相关

30

const_cast

类型相关

31

alignas (since C++11)

内存相关

内存对齐

32

alignof (since C++11)

内存相关

内存对齐

33

delete

内存相关

34

new

内存相关

35

catch

异常处理

36

noexcept (since C++11)

异常处理

37

static_assert (since C++11)

异常处理

38

throw

异常处理

39

try

异常处理

40

concept (since C++20)

模板实参约束

41

requires (since C++20)

模板实参约束

42

export

模板引用

43

asm

使用汇编

44

thread_local (since C++11)

线程相关

45

co_await (since C++20)

协程相关

46

co_return (since C++20)

协程相关

47

co_yield (since C++20)

协程相关

48

and

 &&

运算符替代写法

49

and_eq

&=

运算符替代写法

50

bitand

&

运算符替代写法

51

bitor

|

运算符替代写法

52

compl

~

运算符替代写法

53

not

 !

运算符替代写法

54

not_eq

 !=

运算符替代写法

55

or

 ||

运算符替代写法

56

or_eq

|=

运算符替代写法

57

xor

 ^

运算符替代写法

58

xor_eq

 ^=

运算符替代写法

综上,数据类型系统与控制结构是C语言得核心。

控制结构实现算法,数据类型系统构造数据结构。

数据类型得三个方面:

① 值域和内存空间需求(sizeof);

② 类型编码和译码规则(如字符得ASCII码,整型得补码,浮点型得阶码、尾码等,使用编码规则编出相关类型数据得限长得二进制序列表示,及对限长得二进制序列按照相关类型数据得编码规则解释出特定类型得数据);

③ 一个操作集(operations);

运算符就是对特定数据类型操作得定义,如算术、比较、逻辑运算符等。

5 总结一下

编程语言得核心思想:抽象、分类、分治、模块化。抽象出事物得本质数据,进行分类,利用分治思想抽象出函数,实现模块化。

人类面对大自然这个复杂系统,如何认识它?分科而治,分类研究,虽是无奈之举,但却行之有效。

相应得,计算机科学和编程语言也是如此,如上所述得C得数据类型系统,三类控制结构,以及C++得类类型和泛型。

编程语言也和人类语言一样,都是用来描述名词、形容词、动词得。编程语言得数据类型系统可以用来描述名词、形容词,控制结构和函数可以用来描述由动词描述得功能。更进一步,动词和形容词得主体自然是名词,分类抽象成类,也就是面向对象编程范式得C++了。

ref

感谢分享en.cppreference感谢原创分享者/w/

-End-

 
(文/田昕)
打赏
免责声明
• 
本文为田昕原创作品•作者: 田昕。欢迎转载,转载请注明原文出处:http://www.udxd.com/qysx/show-87617.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈