1.1972年,贝尔实验室的丹尼斯·里奇和和肯·汤普逊在开发UNIX操作系统时设计了C语言,C语言是在B语言(汤普逊发明)的基础上进行设计。
2.C语言的优点:强大控制结构、高效性、代码紧凑和可移植性(源代码无需修改就能在不同的计算机中成功编译)
3.编译器:编译器是把高级语言程序翻译成计算机能理解的机器语言指令集(数字指令码)的程序(把源代码转换成可执行代码的程序),在大多数系统中,编译器运行链接器(把编译后的代码和其他代码如库函数合并,生成可执行文件)
4.C标准:C89/C90(ANSI C/ISO C)--->C99(国际化、弥补缺陷和提高计算的实用性)--->C11
5.使用C语言的7个步骤:定义程序目标-->设计程序-->编写代码-->编译-->运行程序-->测试和调试程序-->维护和修改程序
6.链接器:把编译完形成的目标代码、系统的标准启动代码和库代码这三部分合并形成可执行文件
7.可执行文件形成过程:
8.C语言中的6种语句:标号语句、复合语句、表达式语句、选择语句、迭代语句和跳转语句
C语言中的语句由关键字、标识符、运算符和数据组成
9.#include指令和头文件
(1).#include这行代码是一条预处理指令,通常,C编译器在编译前会对源代码进行预处理
(2).头文件包含了编译器创建最终可执行程序要用到的信息(如使用printf()函数,则必须包含stdio.h头文件)
10.main()函数:C程序一定从main()函数开始执行
11.注释
(1.).多行注释:被/* */两个符号括起来的部分是程序的注释,在/* */之间的内容都会被编译器忽略
例: /*这是一行注释*/
/*
这也是一条注释
*/
(2)单行注释:// 这种形式的注释只对单行有效
例: //这是一行注释
12.花括号:所有的C函数都是用花括号标记函数体的开始和结束
13.声明
例:声明一个整形变量num
int num;
(1).int是C语言的一个关键字,表示一种基本的C语言数据类型。关键字是语言定义的单词,不能用作其他用途
. (2).num是一个标识符,也就是一个变量、函数或其他实体的名称。
(3).声明把特定标识符与计算机内存中的特定位置联系起来,同时确定了存储在某位置的信息类型或数据类型
(4).在C语言中,所有变量包括函数等都必须先声明才能使用
14.变量的命名:
(1).可以使用小写字母、大写字母、数字和下划线('_')来命名,而且命名的第一个字符必须是字母或下划线,不能是数字
例: int age; //正确
int _intNum; //正确
int 6a; //错误
int don't; //错误
(2).C语言的名称区分大小写(age、Age、AGE都是不同的标识符)
15.赋值
例: int num; //声明一个int型变量num
num = 1; //把值1赋值给变量num
16.C程序的基本结构
(1).程序由一个或多个函数组成,每一个C程序必须有main()函数
(2).函数由函数头和函数体组成。函数头包括函数名、形参列表和函数的返回类型。函数体被花括号括起来,由一系列语 句、声明组成
17.提高程序可读性的技巧
(1).选择使用有意义的变量名或函数名(l例:声明int型代表年龄的变量 int age;)
(2).进行必要的注释,有助于理清编程思路,更容易理解和改正
(3).在函数中用空行分割概念上的多个部分
(4).每条语句尽量各占一行
18.C11关键字和保留标识符
(1).C语言关键字不能作为标识符来使用(如 变量名),如果使用关键字不当,编译器会将其视为语法错误
(2).保留标识符包括一些下划线字符开头的标识符和标准库函数名(如printf()),C语言已经指定了它们的用途或保留它们的 使用权,使用这些标识符会导致一些问题。
(3).C11关键字
auto | extern | short | while |
break | float | signed | _Alignas |
case | for | sizeof | _Alignof |
char | goto | static | _Atomic |
const | if | struct | _Bool |
continue | inline | switch | _Complex |
default | int | typedef | _Generic |
do | long | union | _Imaginary |
double | register | unsigned | _Noreturn |
else | restrict | void | _Static_assert |
enum | return | volatile | _Thread_local |