C 语言是一种通用的高级语言,1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritch )和肯·汤普逊(Ken Thompson )在开发UNIX操作系统时设计了C语言。
在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。
C语言是可移植方面的佼佼者。从8位微处理器到克雷超级计算机,许多计算机体系结构都可以使用C编译器(C编译器是把C代码转换成计算机内部指令的程序)。
C语言广泛应用于以下开发场景:操作系统、语言编译器、汇编器、文本编辑器、后台打印服务(Print Spooler)、网络驱动器、现代程序、数据库、语言解释器、实体工具
ANSI/ISO
、C89
、C90
、ANSI C
)是于 1989 年由美国国家标准协会ANSI(American National Standard Institute)制定的。美国国家标准协会(ANSI)于1983年组建了一个委员会(X3J11),开发了一套新标准,并于1989年正式公布。该标准(ANSI C)定义了C语言和C标准库。国际标准化组织于1990年采用了这套C标准(ISO C)。ISO C和ANSI C是完全相同的标准。ANSI/ISO标准的最终版本通常叫作C89(因为ANSI于1989年批准该标准)或C90 (因为ISO于1990年批准该标准)。另外,由于ANSI先公布C标准,因此业界人士通常使用ANSI C。
在该委员会制定的指导原则中,最有趣的可能是**:保持C的精神**,委员会在表述这一精神时列出了以下几点:
1994年,ANSI/ISO联合委员会(C9X委员会)开始修订C标准,最终发布了C99标准。
标准委员会在2007年承诺C标准的下一个版本是C1X,2011年终于发布了C11标准。
一个 C 语言程序,可以写在一个或多个扩展名为 .c
的文本文件中,例如,hello.c
#include <stdio.h>
int main()
{
/* 我的第一个 C 程序 */
printf("Hello, World! \n");
return 0;
}
基本结构
main()
函数。 代码从main()
函数开始执行。/* */
:用于注释说明。printf()
:用于格式化输出到屏幕。printf()
函数在stdio.h
头文件中声明。stdio.h
:是一个头文件 (标准输入输出头文件) , #include
是一个预处理命令,用来引入头文件。 当编译器遇到printf()
函数时,如果没有找到 stdio.h
头文件,会发生编译错误。return 0;
:用于表示退出程序。程序是一个比较宽泛的称呼,它可以细分为很多种类,例如:
不同的程序对应不同的工程类型(项目类型),使用 IDE 时必须选择正确的工程类型才能创建出我们想要的程序。换句话说,IDE 包含了多种工程类型,不同的工程类型会创建出不同的程序。
不同的工程类型本质上是对 IDE 中各个参数的不同设置;我们也可以创建一个空白的工程类型,然后自己去设置各种参数(不过一般不这样做)。
控制台程序对应的工程类型为Win32控制台程序(Win32 Console Application),GUI 程序对应的工程类型为Win32程序(Win32 Application)。
C 程序由各种标记组成,标记可以是关键字、标识符、常量、字符串值,或者是一个符号
printf('Hello World!');
printf // 标识符
( // 符号
"Hello, W3Cschool! \n" // 字符串值
) // 符号
; // 分号是语句结束符
在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
//C99新增了这种风格的注释,普遍用于C++和Java。这
/*
多行
注释
*/
A-Z
或a-z
或下划线_
开始,后跟零个或多个字母、下划线和数字(0-9
)。@
、$
和 %
。下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
auto | else | long | switch |
---|---|---|---|
break | enum | register | typedef |
case | extern | return | union |
char | float | short | unsigned |
const | for | signed | void |
continue | goto | sizeof | volatile |
default | if | static | while |
do | int | struct | _Packed |
double |