C语言的特性,五分钟你就能了解了

简介: 我们知道C语言是一种面向过程的编程语言,与其他的编程语言不同,C语言是要经过长时间的磨练才能到精通的地步,所以小编的建议是,每天做一道C语言编程题,学一次CSDN的技能树,温故而知新。

前言

  我们知道C语言是一种面向过程的编程语言,与其他的编程语言不同,C语言是要经过长时间的磨练才能到精通的地步,所以小编的建议是,每天做一道C语言编程题,学一次CSDN的技能树,温故而知新。

  好了,进入我们的正题。

第一:C语言是一门高级语言

 C语言它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

第二:C语言是一门结构体语言

  C语言是一门结构体式的语言显著特点是代码及数据的分隔化,也就是程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于编码、维护以及调试。C 语言是通过了函数的形式给供给用户端的,而且提供的函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

第三:代码可以跨平台

C语言适合于多种操作系统,如Windows、linux、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,优于其它高级语言,有一些大型应用软件也是用C语言编写的。

第四:可以使用指针

可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。

另外还可以了解到的是,

1、对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符,aligned_alloc函数以及<stdalign.h>头文件。

2、_Noreturn 函数标记,类似于gcc的 __attribute__((noreturn))。

3、_Generic 关键字。 

4、多线程(Multithreading)支持,包括:_Thread_local存储类型标识符,<threads.h>;头文件,里面包含了线程的创建和管理函数。 

5、增强的Unicode的支持,基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件<uchar.h>。 

6、删除了gets() 函数,使用一个新的更安全的函数gets_s()替代。 

7、增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。 

8、增加了更多浮点处理宏。 

9、匿名结构体/联合体支持,这个在gcc早已存在,C11将其引入标准。 

10、静态断言(Static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。 

11、新的fopen() 模式,(“…x”),类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。

12、新增 quick_exit() 函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作。

13、_Atomic类型修饰符和<stdatomic.h>头文件。


相关文章
|
7月前
|
C语言
C语言基础练习
C语言基础练习
29 0
|
C语言
C语言基础练习(3)
C语言基础练习(3)
79 2
|
7月前
|
算法 Java Unix
C语言:基础、特性与实际应用
C语言:基础、特性与实际应用
99 0
|
4月前
|
编译器 Linux C语言
C语言基础
C语言基础
42 0
|
4月前
|
存储 编译器 程序员
【C语言篇】C语言常见概念
编译时,注释会被替换成⼀个空格,所以min/* 这⾥是注释*/Value会变成min Value,⽽不是minValue。这是C99标准新增的语法。
41 0
|
6月前
|
存储 自然语言处理 编译器
C语言常见概念
C语言常见概念
|
7月前
|
存储 编译器 程序员
C语言基础——C语言常见概念
C语言基础——C语言常见概念
|
7月前
|
自然语言处理 Java Go
第1讲:探索C语言——常见概念
第1讲:探索C语言——常见概念
38 0
|
7月前
|
编译器 C语言
c语言概念
c语言概念
|
C语言 C++
0基础初学C语言
0基础初学C语言
118 0