第二课、C简介
来源:互联网 发布:上海汇软科技骗局知乎 编辑:程序博客网 时间:2024/05/23 19:14
第二课、C简介
C语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C语言最开始是于 1972年在 DEC PDP-11计算机上被首次实现。
在 1978年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C的第一个公开可用的描述,现在被称为 K&R标准。
UNIX操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C语言编写的。由于各种原因,C语言现在已经成为一种广泛使用的专业语言。
易于学习。
结构化语言。
它产生高效率的程序。
它可以处理底层的活动。
它可以在多种计算机平台上编译。
关于 C
C语言是为了编写 UNIX操作系统而被发明的。
C语言是以 B语言为基础的,B语言大概是在 1970年被引进的。
C语言标准是于 1988年由美国国家标准协会(ANSI,全称 AmericanNational Standard Institute)制定的。
截至 1973年,UNIX操作系统完全使用 C语言编写。
目前,C语言是最广泛使用的系统程序设计语言。
大多数先进的软件都是使用 C语言实现的。
当今最流行的 Linux操作系统和 RDBMS(RelationalDatabase Management System:关系数据库管理系统) MySQL都是使用 C语言编写的。
为什么要使用 C?
C语言最初是用于系统开发工作,特别是组成操作系统的程序。由于C语言所产生的代码运行速度与汇编语言编写的代码运行速度几乎一样,所以采用 C 语言作为系统开发语言。下面列举几个使用 C 的实例:
操作系统
语言编译器
汇编器
文本编辑器
打印机
网络驱动器
现代程序
数据库
语言解释器
实体工具
C程序
一个 C语言程序,可以是 3行,也可以是数百万行,它可以写在一个或多个扩展名为 ".c" 的文本文件中,例如,hello.c。您可以使用 "vi"、"vim" 或任何其他文本编辑器来编写您的 C 语言程序。
本教程假定您已经知道如何编辑一个文本文件,以及如何在程序文件中编写源代码。
C11
C11(也被称为C1X)指ISO标准ISO/IEC 9899:2011,是当前最新的C语言标准。在它之前的C语言标准为C99。
新特性:
对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符,aligned_alloc函数以及<stdalign.h>头文件)。
_Noreturn函数标记,类似于 gcc的 __attribute__((noreturn))。
_Generic关键字。
多线程(Multithreading)支持,包括:
_Thread_local存储类型标识符,<threads.h>头文件,里面包含了线程的创建和管理函数。
_Atomic类型修饰符和<stdatomic.h>头文件。增强的Unicode的支持。基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件<uchar.h>。
删除了 gets()函数,使用一个新的更安全的函数gets_s()替代。
增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s()等等。
增加了更多浮点处理宏(宏)。
匿名结构体/联合体支持。这个在gcc早已存在,C11将其引入标准。
静态断言(Static assertions),_Static_assert(),在解释 #if 和#error之后被处理。
新的 fopen()模式,("…x")。类似 POSIX 中的O_CREAT|O_EXCL,在文件锁中比较常用。
新增 quick_exit()函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作。
- 第二课、C简介
- 第二课 C语言
- C语言第二课
- Linux C第二课
- C语言第二课
- C语言第二课练习
- C初学者的第二课
- C语言学习笔记之 第二讲:C语言环境简介
- 第二章 Unicode简介
- 第二章 Unicode简介
- 第二章UNICODE简介
- 第二节 RTP简介
- 第二章:OSGi简介
- 第二章 XHTML简介
- 第二章 Python简介
- Zephyr简介:第二节
- 第二节 数据仓库简介
- 第二章 UML简介
- 互联网分布式系统理论与技术要点
- HAUTOJ company
- nyist-ACM17新生国庆集训Round#1题解
- fedora卸载软件
- BZOJ4386: [POI2015]Wycieczki
- 第二课、C简介
- Elasticsearch
- 后序遍历二叉树
- jQuery DOM操作筛选
- shell 问题两则
- Sudoku Solver
- 欢迎使用CSDN-markdown编辑器
- 关系数据库
- POJ 3304 Segments