文档介绍:C语言程序设计
C语言程序设计教程
1
教学要求
掌握C语言的基础知识,包括数据类型、
输入输出的基本操作以及简单程序设计;
掌握顺序、选择、循环三大结构的编程;
掌握函数的定义与调用;
掌握数组、指针的应用;
掌握结构体、文件的操作;
会进行综合程序设计。
2
程序与程序设计
算法及其描述
C语言的发展及特点
C语言程序的基本结构
C语言字符集、标识符和关键字
C语言程序的开发环境
第1章 C语言程序设计概述
第 1 章 C语言程序设计概述
3
一、程序
实际上是一个用计算机语言描述的某一问题的解决步骤。
第1章 C语言程序设计概述
程序与程序设计
二、程序设计
人们常把编写程序的过程称为程序设计。在进行程序设计时离不开程序设计语言。程序设计语言的种类很多,从其发展历史以及功能情况来划分可以大致划分成五个阶段:
1、机器语言:
计算机可以直接识别和执行的二进制语言。
如: 加法指令: 1 0 0 0 0 0 0 0
减法指令: 1 0 0 1 0 0 0 0
特点:计算机可以直接识别和执行,效率高,
节省内存;但难以阅读和记忆。
4
第1章 C语言程序设计概述
2、汇编语言:
用“助记符”来表示机器指令。
如: ADD A, B
SUB A, B
计算机不能直接识别和执行用汇编语言编写的源程序,它必须经过一个叫汇编程序的系统软件翻译成机器语言程序(即目标程序)后才能执行。
3、算法语言:
即高级语言,不依赖于机器,降低了编程的难度。
如:C、PASCAL、FORTRAN等,用‘+’和‘-’来
表示加减运算。
计算机也不能直接执行算法语言描述的源程序,必须先经过编译程序或解释程序翻译成目标程序后,才能由计算机执行。
5
第1章 C语言程序设计概述
4、面向任务的程序设计语言:
是非过程化的语言,不需要知道问题是如何求解的。
例如:要从某学生表SS用数据库(SQL)查询语言获取表中记录的信息,采用SELECT语句,描述如下:
SELECT SSNO,SSNAME,SSAGE,SSSEX FROM SS
5、面向对象的程序设计语言:
认为系统是由许多对象组成的,对象通过消息相互
联系和相互作用,从而完成系统的功能。如C++,
设计的程序更易懂, 更适合更大规模的程序开发。
数据的确定:确定数据的类型和数据的存放方式。
高级语言中用变量定义来实现。
操作步骤(也即算法)的确定:用语句来实现。
程序设计
6
一、算法的概念
算法是由一套规则组成的一个过程,算法是对某一特定问题的求解步骤的一种描述。算法应当具备以下几个方面的特点:
第1章 C语言程序设计概述
算法及其描述
瑞士计算机科学家N•沃思教授提出了程序定义的著名公式: 程序=数据结构+算法
1、一个算法必须保证执行有限步之后结束;
2、算法的每一个步骤必须具有确切的定义;
3、应对算法给出初始量;
4、算法具有一个或多个输出;
5、算法的每一步都必须是计算机能进行的有效操作。
7
第1章 C语言程序设计概述
一、算法的描述方法
算法是考虑实现某一个问题求解的框架流程,而程序设计则是根据这一求解的框架流程进行语言细化实现这一问题求解的具体过程。常用描述算法的工具有:
1、自然语言:
使用人们日常进行交流的语言。
如:从a,b中找出一个大的数给max。
⑴从键盘输入两个数给a和b;
⑵如果a比b大,则把a的值传给max,
否则把b的值传给max;
⑶ 输出max的值。
2、专用工具:
借助于有关图形工具或代码符号来描述。常用的工具有流程图、N-S图等。
8
如用N-S图来描述从a和b中找大数的问题。
第1章 C语言程序设计概述
输入a和b
Y a>b N
maxa maxb
输出max
3、程序设计语言:
算法最终要用程序设计语言来描述,计算机才能保存、翻译和执行。如用C语言来描述从a和b中找大数的问题。
常用的算法有:迭代法、枚举法、递归法、递推法等。
scanf(“%d,%d”,&a,&b);
if(a>b) max=a;
else max=b;
printf(“%d,%d”,a,b);
9
二、C语言的特点
1、具有结构化语言的特点,用函数作为程序的组成单
位,设计出的程序简洁、紧凑、结构清晰;
2、既有高级语言的特点(可移植性好),又有低级语言
的许多功能(能对硬件操作);
3、提供了丰富的数据类型;
4、语法限制不太严格,程序设计自由度大;
5、生成的目标代码质量高,程序执行速度快。
第1章 C语言程序设计概述
C语言的发展及