什么是C语言

什么是C

C 语言是一种通用的高级语言,1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritch )和肯·汤普逊(Ken Thompson )在开发UNIX操作系统时设计了C语言。

在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。

C语言是可移植方面的佼佼者。从8位微处理器到克雷超级计算机,许多计算机体系结构都可以使用C编译器(C编译器是把C代码转换成计算机内部指令的程序)。

C语言广泛应用于以下开发场景:操作系统、语言编译器、汇编器、文本编辑器、后台打印服务(Print Spooler)、网络驱动器、现代程序、数据库、语言解释器、实体工具

C语言优点

  • 易于学习。
  • 结构化语言。
  • 它产生高效率的程序。
  • 它可以处理底层的活动。
  • 它可以在多种计算机平台上编译。

关于C

  • C 语言是为了编写 UNIX 操作系统而被发明的。
  • C 语言是以 B 语言为基础的,B 语言大概是在 1970 年被引进的。
  • C 语言标准(ANSI/ISOC89C90ANSI C)是于 1989 年由美国国家标准协会ANSI(American National Standard Institute)制定的。
  • 截至 1973 年,UNIX 操作系统完全使用 C 语言编写。
  • 目前,C 语言是最广泛使用的系统程序设计语言。
  • 大多数先进的软件都是使用 C 语言实现的。
  • 当今最流行的 Linux 操作系统和 RDBMS MySQL 都是使用 C 语言编写的。

C语言标准

C89/C90

美国国家标准协会(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的精神**,委员会在表述这一精神时列出了以下几点:

  • 信任程序员;
  • 不要妨碍程序员做需要做的事;
  • 保持语言精练简单;
  • 只提供一种方法执行一项操作;
  • 让程序运行更快,即使不能保证其可移植性。

C99

1994年,ANSI/ISO联合委员会(C9X委员会)开始修订C标准,最终发布了C99标准。

C11

标准委员会在2007年承诺C标准的下一个版本是C1X,2011年终于发布了C11标准。

C程序

编写C程序的步骤

  • 定义程序的目标:在动手写程序之前,要在脑中有清晰的思路。想要程序去做什么首先自己要明确自己想做什么,思考你的程序需要哪些信息,要进行哪些计算和控制,以及程序应该要报告什么信息。在这一步骤中,不涉及具体的计算机语言,应该用一般术语来描述问题。
  • 设计程序:对程序应该完成什么任务有概念性的认识后,就应该考虑如何用程序来完成它。例如,用户界面应该是怎样的?如何组织程序?目标用户是谁?准备花多长时间来完成这个程序?
  • 编写代码:设计好程序后,就可以编写代码来实现它。也就是说,把你设计的程序翻译成C语言。这里是真正需要使用C语言的地方。可以把思路写在纸上,但是最终还是要把代码输入计算机。
  • 编译:生成一个用户可以运行的可执行文件,其中包含着计算机能理解的机器码。编译器还会检查C语言程序是否有效。如果C编译器发现错误,就不生成可执行文件并报错。
  • 运行程序:运行可执行程序。
  • 测试和调试程序:检查程序是否按照你所设计的思路运行。
  • 维护和修改代码:创建完程序后,你发现程序有错,或者想扩展程序的用途,这时就要修改程序。

HelloWorld

一个 C 语言程序,可以写在一个或多个扩展名为 .c文本文件中,例如,hello.c

#include <stdio.h>
 
int main()
{
    /* 我的第一个 C 程序 */
    printf("Hello, World! \n");
 
    return 0;
}

基本结构

  • 所有的 C 语言程序都需要包含main()函数。 代码从main()函数开始执行。
  • /* */:用于注释说明。
  • printf():用于格式化输出到屏幕。printf()函数在stdio.h头文件中声明。
  • stdio.h:是一个头文件 (标准输入输出头文件) , #include是一个预处理命令,用来引入头文件。 当编译器遇到printf()函数时,如果没有找到 stdio.h头文件,会发生编译错误。
  • return 0;:用于表示退出程序。

工程、项目

程序是一个比较宽泛的称呼,它可以细分为很多种类,例如:

  • 有的程序不带界面,完全是“黑屏”的,只能输入一些字符或者命令,称为控制台程序(Console Application),例如 Windows 下的 cmd.exe,Linux 或 Mac OS 下的终端(Terminal)。
  • 有的程序带界面,看起来很漂亮,能够使用鼠标点击,称为GUI程序(Graphical User Interface Program),例如 QQ、迅雷、Chrome 等。
  • 有的程序不单独出现,而是作为其它程序的一个组成部分,普通用户很难接触到它们,例如静态库、动态库等。

不同的程序对应不同的工程类型(项目类型),使用 IDE 时必须选择正确的工程类型才能创建出我们想要的程序。换句话说,IDE 包含了多种工程类型,不同的工程类型会创建出不同的程序。

不同的工程类型本质上是对 IDE 中各个参数的不同设置;我们也可以创建一个空白的工程类型,然后自己去设置各种参数(不过一般不这样做)。

控制台程序对应的工程类型为Win32控制台程序(Win32 Console Application),GUI 程序对应的工程类型为Win32程序(Win32 Application)。

基本语法

标记(Tokens)

C 程序由各种标记组成,标记可以是关键字、标识符、常量、字符串值,或者是一个符号

printf('Hello World!');
printf   // 标识符
(        // 符号
"Hello, W3Cschool! \n"    // 字符串值
)        // 符号
;        // 分号是语句结束符

在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。

注释

//C99新增了这种风格的注释,普遍用于C++和Java。这

/*
 多行
 注释
 */

标识符

  • C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。
  • 一个标识符以字母 A-Za-z 或下划线_ 开始,后跟零个或多个字母、下划线和数字(0-9)。
  • C 标识符内不允许出现标点字符,比如 @$%
  • C 是区分大小写的编程语言。

关键字

下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。

autoelselongswitch
breakenumregistertypedef
caseexternreturnunion
charfloatshortunsigned
constforsignedvoid
continuegotosizeofvolatile
defaultifstaticwhile
dointstruct_Packed
double
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GradyYoung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值