导图社区 第一章 程序设计和C语言
适用于C程序设计(第五版)谭浩强这本书,该思维导图为其第一章内容,有什么是计算机程序、什么是计算机语言、C语言的发展及其特点……
编辑于2022-09-21 10:56:37 安徽第一章 程序设计和C语言
什么是计算机程序
程序:一组计算机能识别和执行的指令
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作
计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成
什么是计算机语言
计算机语言:人和计算机交流信息的、 计算机和人都能识别的语言。
C语言就相当于连接人类和计算机的中间语言。
计算机语言发展阶段
机器语言 (由 0 和 1 组成的指令)
符号语言 (用英文字母和数字表示指令)
高级语言 (接近于人的自然语言和数学语言)
面向 过程 的语言(非结构化的语言、结构化语言)
面向 对象 的语言
C语言的发展及其特点
C语言是国际上广泛流行的计算机高级语言
C语言的发展
(BCPL语言→ B语言)(精练、接近硬件,但过于简单, 无数据类型)→ C语言(具有多种数据类)
最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。
C语言是一种用途广泛、功能强大、使用灵活的过程性(procedural)编程语言,既可用于编写应用软件,又能用于编写系统软件。因此C语言问世以后得到迅速推广。
C语言主要特点
语言简洁、紧凑,使用方便、灵活
只有 37 个关键字、 9 种控制语句
程序书写形式自由,源程序短
运算符丰富
有34 种运算符
把括号、赋值、强制类型转换等都作为运算符处理
表达式类型多样化
数据类型丰富
包括 整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型
C99 又扩充了复数浮点类型、超长整型(long long)、布尔类型 (bool)
指针类型数据,能用来实现各种复杂的数据结构(如链表、树、栈)等 的运算。
具有结构化的控制语句
如if…else语句、while语句、do…while语句、switch语句、for语句
用函数作为程序的模块单位,便于实现程序的模块化
C语言是完全模块化和结构化的语言
语法限制不太严格,程序设计自由度大
对数组下标越界不做检查
对变量的类型使用比较灵活,例如:整型量与字符型数据可以通用
C语言允许程序编写者有较大的自由度,因此放宽了语法检查
允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作
C语言具有高级语言的功能和低级语言 的许多功能,可用来编写系统软件
这种双重性,使它既是成功的系统描述 语言,又是通用的程序设计语言
用C语言编写的程序可移植性好
C的编译系统简洁,很容易移植到新系统
在新系统上运行时,可直接编译“标准链接库”中的大部分功能,不需要修改源代码
几乎所有计算机系统都可以使用C语言
生成目标代码质量高,程序执行效率高
最简单的C语言程序
最简单的C语言程序举例
#include <stdio.h> //用到函数库中的输入输出函数时 int main( ) //C程序必须有一个 main 函数 { printf (”This is a C program.\n”);//printf (输出函数),\n(换行符) return 0; //当main函数执行结束前将整数0作为函数值, }
C语言允许用两种注释方式
//:单行注释
可单独占一行
可出现在一行中其他内容的右侧
/*……*/:块式注释
可包含多行
求两个整数之和
解题思路
设置 3 个变量
a 和 b 用来存放两个整数
sum 用来存放和数
用赋值运算符“ = ”把结果传送给 sum
#include <stdio.h> int main( ) { int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %d\n”,sum); return 0; }
求两个整数中的较大者
解题思路
用一个函数实现求两个整数中的较大者
在主函数中调用此函数并输出结果
#include <stdio.h> //主函数 int main( ) { int max(int x,int y); //因max函数的定义在main函数之后,需声明 int a,b,c; scanf(”%d,%d”,&a,&b); //输入语句 c = max(a,b); //调用max函数,将得到的值赋给c printf("max=%d\n",c); return 0; } //求两个整数中的较大者的max函数 int max(int x,int y) { int z; if (x > y) z = x; else z = y; return(z);
C语言程序的结构
C语言程序的结构特点
一个程序由一个或多个源程序文件组成
小程序往往只包括一个源程序文件
例1.1,例1.2只有一个函数(书本上)
例1.3有两个函数
一个源程序文件中可以包括三个部分
预处理指令 #include <stdio.h>等
全局声明 在函数之外进行的数据声明
函数定义 每个函数用来实现一定的功能
函数是C程序的主要组成部分
一个 C 程序是由一个或多个函数组成的
必须包含一个 main 函数(只能有一个)
每个函数都用来实现一个或几个特定功能
被调用的函数可以是库函数,也可以是自己编制设计的函数
一个函数包括两个部分
函数首部
即函数的第一行,包括函数名、函数类型、函数属性、函数参数(形式参数)名、函数类型
int max ( int x, int y )
一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。如果函数没有参数,可以在括号中写void,也可以是空括号。如int main( void) 或 int main()
函数体(可以是空函数)
声明部分(可以没有声明部分)
定义在本函数中所用到的变量
对本函数所调用函数进行声明
执行部分
由若干个语句组成,指定在函数中所进行的操作
程序总是从main函数开始执行
C程序对计算机的操作由C语句完成
C程序书写格式是比较自由的
一行内可以写几个语句
一个语句可以分写在多行上
为清晰起见,习惯上每行只写一个语句
数据声明和语句最后必须有分号
C语言本身不提供输入输出语句
程序应当包含注释,增加可读性
运行C程序的步骤与方法
上机输入和编辑源程序( .c 文件)
对源程序进行编译( .obj 文件)
进行连接处理( .exe 文件)
运行可执行程序,得到运行结果
程序设计的任务
问题分析
对于接手的任务要进行认真的分析
研究所给定的条件
分析最后应达到的目标
找出解决问题的规律
选择解题的方法
设计算法
编写程序
对源程序进行编辑、编译和连接
运行程序,分析结果
编写程序文档