第一章 认识C语言
第一章 认识C语言
1、计算机程序
程序:是一组计算机能和识别和执行的指令。
指令:对计算机进行程序控制的最小单位。
2、计算机语言
概念:人和计算机交流信息的计算机和人都能识别的语言。
计算机语言的发展历程
机器语言:一组由 0 和 1 系列组成的指令码。
汇编语言(符号语言):汇编语言就是使用标识符去代替 0,1 代码,如 add、mov 等。
高级语言:高级语言就是使用更接近人类的语言,更容易理解。
3、C语言特点
- 语言简洁、紧凑,使用方便、灵活。(37个关键字、9种控制语句、程序书写自由、源程序短)
- 运算符丰富(34种运算符(把括号、赋值和强制类型转换等作为运算符处理)、表达试类型多样化)
- 数据类型丰富
- 具有结构化的控制语句
- 具有结构化的控制语句
- 允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件进行操作
- 编写的程序可移植性好
- 生成目标代码质量高,程序执行效率高
4、C 语言程序举例
#include <stdio.h> //编译预处理指令
int main() //主程序的入口
{
//这是第一个 C 语言代码 这是注释
printf("hello world\n"); //标准输出语句
return 0; //函数执行完毕时的返回值
}
一个源文件程序中包含以下三个部分:
①预处理指令。如#include<stdio.h>,C 编译系统对程序进行编译前,首先由预处理器对预处理指令进行预处理操作,对于#include<stdio.h>来说就是将 stdio.h 文件的内容读取进来,替代#include<stdio.h>。
②全局声明。即在函数外声明数据。
③函数的定义。即函数具体实现的功能。
代码分析: 代码分析:
1 )#include
#include 的意思是头文件包使用 C 语言库函数需要提前包含库函数对应的头文件,如
这里使用了 printf()函数,需要包含 stdio.h 头文件,#include<stdion.h>代表包含这个头文
件。
使用 C 语言库函数需要提前包含库函数对应的头文件,如这里使用了 printf()函数,
需要包含 stdio.h 头文件 。
注意:#include<> 和#include “”的区别:
<>通常是包含系统的头文件(标准头文件),””通常是包含自定义头文件。
2)main 函数:
main 函数是 C 语言程序的入口,程序是从 main 函数开始执行
一个完整的 C 语言程序,是有且只能有一个 main()函数。
main 函数是 C 语言程序的入口,程序是从 main 函数开始执行。
3){} 括号,程序体和代码块
{}叫代码块,一个代码块内部可以有一条或者多条语句。
C 语言每句可执行代码都是";"分号结尾。
所有的#开头的行,都代表预编译指令,预编译指令行结尾是没有分号的。
所有的可执行语句必须是在代码块里面。
4)注释
//叫行注释,注释的内容编译器是忽略的,注释主要的作用是在代码中加一些说明和
释,这样有利于代码的阅读。
/* */叫块注释
5)printf 函数
printf 是 C 语言库函数,功能是向标准输出设备输出一个字符。
printf(“hello world\n”);//\n 的意思是回车换行。
6)return 语句
return 代表函数执行完毕。
如果 main 定义的时候前面是 int,那么 return 后面就需要写一个整数;如果 main 定
义的时候前面是 void,那么 return 后面什么也不需要写。
在 main 函数中 return 0 代表程序执行成功,return -1 代表程序执行失败。
int main()和 void main()在 C 语言中是一样的,但 C++只接受 int main 这种定义方式。
5、C语言程序的结构
(1)一个程序由一个或多个源程序文件组成。(在一个程序问文件中可以包括3个部分)
- 预处理命令
- 全局声明
- 函数定义
(2)函数是C程序的主要组成部分。
(3)一个函数包括两个部分
- 函数首部
- 函数体
- 声明部分
- 执行部分
(4)程序总是从main函数开始执行的
(5)程序中对计算机的操作是由函数中的C语句完成的
(6)在每个数据声明和语句的最后必须有一个分号。
(7)C语言本身不提供输入输出语句。
(8)程序应当包含注释。
6、C 程序的编译步骤
①预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除。
②编译:检查语法,将预处理后文件编译生成汇编文件。
③汇编:将汇编文件生成目标文件(二进制文件)。
④链接:C 语言编写的程序是需要依赖各种库的,所以编译之后要把库链接到最终的
可执行程序中去。
7、结构化程序
结构化程序的三钟基本结构:
- 顺序结构
- 选择结构
- 循环结构
结构化程序设计的方法:
- 自顶向下
- 逐步细化
- 模块化设计
- 结构化编码
8、算法——程序的灵魂
算 法 + 数 据 结 构 = 程 序 算法+数据结构=程序 算法+数据结构=程序