C语言概述
C语言是一门面向过程的结构化语言,可用于编写应用软件和系统软件。
指令
:可以被计算机理解并执行的基本操作命令。
程序
:一组计算机能识别和执行的指令。
软件
:包含程序、文件、文档及数据。
机器语言
:用二进制代码称为机器指令。
汇编语言
:用英文字母和数字表示指令的符号语言。
高级语言
:接近于人们习惯使用的自然语言和数学语言。
非结构化语言
:没有固定语法、模式或规则的语言形式,可以随意跳转。
结构化语言
:具有良好特性的基本结构(顺序结构、选择结构、循环结构),程序中的流程不允许随意跳转,程序总是由上而下顺序执行。
面向对象语言
:以对象为程序结构,具有封装、继承、多态等特点。
一、C语言发展史
父级语言:BCPL、B
C语言之父:
丹尼斯·麦卡利斯泰尔·里奇(Dennis MacAlistair Ritchie),1972—1973年间,在美国贝尔实验室在B语言的基础上设计出了C语言。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。Ritchie个人主页:https://www.bell-labs.com/usr/dmr/www/index.html
用途:
- 操作系统
- 编译器
- 编程语言
- 嵌入式
- 其他
任何比C语言更低级的语言,都不足以完整地抽象一个计算机系统;任何比C高级的语言,都可以用C来实现。
二、C语言特点
- 简洁
- 高效
- 灵活
- 可移植
三、C语言标准
C89
为统一C语言版本,1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,来制定C语言标准。1989年C语言标准被批准,被称为ANSI X3.159-1989 “Programming Language C”。这个版本的C语言标准通常被称为ANSI C。又由于这个版本是 89年完成制定的,因此也被称为C89。
C99
在ANSI C标准确立之后,C语言的规范在很长一段时间内都没有大的变动。1995年C程序设计语言工作组对C语言进行了一些修改,成为后来的1999年发布的ISO/IEC 9899:1999标准,通常被成为C99。但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的时候,微软和Borland却似乎对此不感兴趣。
C89 规定,所有局部变量都必须定义在函数开头,在定义好变量之前不能有其他的执行语句。
C99 标准取消这这条限制,但是 VC/VS 对 C99 的支持很不积极,仍然要求变量定义在函数开头。(如,在两行变量定义之间,穿插一行赋值,则第二个变量定义会无效,程序会报错。)
四、最简单的C语言程序
#include <stdio.h> //这是编译预处理指令
int main() //定义主函数
{ //函数开始的标志
printf("This is a C program.\n"); //输出所指定的一行信息
return 0; //函数执行完毕时返回函数值0
} //函数结束的标志
程序分析:
stdio.h
是系统提供的一个文件名,stdio是standard input & output的缩写,文件后缀.h的意思是头文件(header file),因为这些文件都是放在程序各文件模块的开头的。
main
是函数的名字,表示“主函数”;每一个C语言程序都必须有一个 main 函数。
int
表示此函数的类型是int类型(整型),即在执行主函数后会得到一个值(即函数值)。
return 0;
的作用是当main函数执行结束前将整数0作为函数值,返回到调用函数处。
函数体由花括号{}
括起来。
printf
是C编译系统提供的函数库中的输出函数
//
表示从此处到本行结束是“注释”,用来对程序有关部分进行必要的说明。
多行注释使用/**/
(在行开头以/*
开始,行末以*/
结束)
提示: \n是换行符,即在输出″This is a C program.″后,显示屏上的光标位置移到下一行的开头。
每个语句最后都有一个分号,表示语句结束。