程序设计基础
考试方法:卷面成绩占70%
平时成绩(考勤、作业、实验)占30% 期末成绩=卷面成绩×70%+平时成绩×30% 第一章:C程序设计概述
1.本章要求:
了解计算机程序设计语言及程序设计方法的发展过程以及高级语言编写的程序的执行过程;
了解C语言的特点,掌握C语言中的标识符的命名规则及使用;掌握C程序的基本组成结构;掌握算法的概念及算法的表示(传统流程图、N—S流程图)
掌握开发和运行一个C程序的过程。 2.本章重点:C程序的基本组成结构,算法的表示
3.本章难点:正确使用C语言中的标识符、算法的表示
1.1 计算机程序设计概述 1.2 C语言简介
1.3 算法及算法的表示
1.4 C语言的程序结构 1.5 运行一个C程序
1.1.1 程序设计语言的发展
1.机器语言(Machine Language) 2.汇编语言(Assemble Language) 汇编语言程序的执行过程
汇编语言和机器语言都是面向机器的程序设计语言,一般称为低级语言。 1.1.1 程序设计语言的发展 3.高级语言(High Level Language) 高级语言是一种与硬件结构及指令系统无关,表达方式比较接近自然语言和数学表达式的一种计算机程序设计语言。
优点:描述问题能力强,通用性、可读性、可维护性都较好
缺点:执行速度较慢,编制访问硬件资源的系统软件较难。
用高级语言编写的程序称为“源程序”,计算机不能直接识别和执行,高级语言程序有编译和解释两种执行方式。
高级语言程序的编译执行
是将源程序整个编译成等价的,独立的目标程序,然后通过链接程序将目标程序链接成可执行程序。
高级语言编译执行过程 高级语言程序的解释执行:
解释方式是将源程序逐句翻译,翻译一句执行一句,边翻译边执行,不产生目标程序。整个执行过程,解释程序都一直在内存中 。
高级语言解释执行过1.1.2 程序设计方法概述程
程序设计方法的发展可以划分以下三个阶段: 1.早期的程序设计 2.结构化程序设计
3.面向对象的程序设计 1.2.1 C语言的发展
C语言是在70 年代初问世的。1973年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。
同时由B.W.Kernighan和D.M.Ritchit合著了著名的“The C Programming Language”一书。
1.2.2 C语言的特点
1. 语言简洁、紧凑、使用方便、灵活 C语言
VB语言
int a,b; Dim a As
if (表达式)
Integer
语句;
Dim b As
Integer
2. 丰富的运算符和数据类型
3. 数据结构丰富
C的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据类型的运算,并引入了指针概念,使程序效率更高。
4. C语言是一种结构化语言
它层次清晰,便于按模块化方式组织程序,易于调试和维护。
5. C语法限制不太严格、程序设计自由度大
一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。
6. 直接访问内存的物理地址,可以直接操作硬件
由于能进行位(bit)一级的操作。实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。
7. C语言还具有效率高,可移植性强等特点 一般只比汇编程序生成的目标代码效率低10%~20%。
8.C语言适用范围大
C语言还有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。C语言程既适合编写大型的系统软件,也适合编写应用软件。
1.2.3 C语言的字符集
字符是组成语言的最基本的元素。C语言字符集由字母,数字,空格,标点和特殊字符组成。 (1)字母 小写字母a~z共26个,大写字母A~Z共26个(C语言中区分字母大小写) (2)数字 0~9共10个
(3)空白符 空格符、制表符、换行符等统称为空白符。空白符只在字符、常量和字符串常量中起作用。在其它地方出现时,只起间隔作用。
(4)标点和特殊字符
C语言编程中可以使用的标点和特殊字符共有30个,如下表
1.3.1 C语言的字符集
1.2.4 C语言标识符
1.保留字符
C语言的保留字符(也称关键字)共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。
(1)数据类型关键字(12个):char, double, enum, float, int, long, short, signed, struct, union, unsigned, void (2)控制语句关键字(12个):break, case, continue, default, do, else, for, goto, if, return, switch, while
(3)存储类型关键字(4个):auto, extern, register, static
(4)其它关键字(4个):const, sizeof, typedef, volatile 2.预定义标识符
C语言中除了上述保留字符外,还有一类具有特殊含义的标识符,它们被C系统用作库函数名、预编译命令,这类标识符称为系统预定义标识符。例如:
系统库函数:如sin,printf,scanf等 预编译命令:如define,include,undef,ifdef,endif等
一般来说,用户在编写C程序时,不要把这些标识再定义为其它用途的标识符(用户自定义标识符)。
3.用户定自义标识符
用户自定义标识符是用户根据编程的需要而
定义的标识符,用于标识变量、符号常量、用户自定义函数、类型名等。
C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。 例如,以下标识符是合法的:
a, x, x3, BOOK1,sum5,mysin 以下标识符是非法的:
3s 以数字开头 s*T 出现非法字符*
-3x 以减号开头 bowy-1 出现非法字符-(减号)
使用自定义标识符的几点说明:
(1)标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。
(2)标识符中,大小写是有区别的。
(3)标识符虽然可由程序员随意定义,建议命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。
例如:可用sum 表示求和的量,name 表示姓名等。
(4)不使用C语言的关键字:类型说明符、语句定义符、预处理命令。
(5)标识符不能和用户已编制的函数或C语言库函数同名。否则程序中调用库函数就会出错。
1.3 算法及算法的表示 1.3.1 算法概述 算法概念
的变量Max中,即Max=A
(3)再输入一个值给A,如果A>Max 则 Max=A, 否则Max不变
(4)让记录数据个数的变量增加1,即N=N+1 (5)判断N是否小于10,若成立则转到第(3)步执行,否则转到第 (6)步。 (6)打印输出Max
1.3.2 算法的特性
1.有穷性:算法须在执行有穷多个计算步骤后终止
2.确定性:算法的每个步骤必须都是精确定义的、无二义性的;
3.有效性:算法中的每一个步骤必须有效地执行,并能得到确定结果;
4.输入:一个算法中可以没有输入,也可以有一个或多个输入信息
5.输出:一个算法应有一个或多个输出
1.3.3 算法的表示
一、 自然语言与伪代码表示算法
自然语言就是指人们日常使用的语言,可以是汉语、英语或其它语言。
伪代码是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。
例1-2的伪代码表示如下: Begin(算法开始) N=1
Input A (输入数据给变量A) Max=A
当 N<=10 则 { Input A IF A>Max Max=A
N=N+1 } Print Max
1.广义:
算法是为完成一项任务所应当
遵照的一步一步的规则的、精确的、无歧义的 输入 A,B,C
IF A>B 则 描述,它的总步数是有限的。
A→Max 2.狭义:
算法是解决一个问题采取的方法 否则 B→Max
IF C>Max 则 C→Max 和步骤的描述 例1-1 输入三个数,然后输出其中最大的数。 Print Max
算法可以写成: (1) 输入A,B,C。
(2) 若A>B,则MAX ← A;否则MAX←B。 (3) 若C>MAX,则MAX← C。
(4) 输出MAX,MAX即为最大数。 例1-2. 输入10个数,打印输出其中最大的数。 算法设计如下:
(1)输入1个数,存入变量A中,将记录数据个数的变量N赋值为1(2)将A存入表示最大值
例1-1 的伪代码表示如下: Begin (算法开始)
则
二、 用流程图表示算法 1.常用的流程符号
起止框:表示算法的开始和结束。 处理框:表示初始化或运算赋值等操作。
输入输出框:表示数据的输入输出操作。
判断框:表示根据一个条件
成立与否,决定执行两种不同操作中的其中一个。
流程线:表示流程的方向。
2.三种基本结构的表示
(1) 顺序结构是简单的线性结构,各框按顺序执行。其流程图如图1-4所示结构的表示 图1-4 顺序结构
(2) 选择(分支)结构对某个给定条件进行判断,条件为真或假时分别执行不同的内容。 其基本形状有两种,如图1-5所示。 图1-5 选择结构
(3)循环结构
循环结构分为当型循环和直到型循环两种。
当型循环:执行过程是先判断条件, 当条件为真时,反复执行“语句组” ,
一旦条件为假,跳出循环,
执行循环紧后的语句。如图1-6(a)所示。 图1-6 循环结构流程 图
直到型循环:执行过程是先执行“语句组”, 再判断条件,条件为真时,一直循环执行语句组,
一旦条件为假,结束循环,
执行循环紧后的下一条语句。如图1-6(b)
所示。
图1-6 循环结构 流程图
例1-1 输入三个数,然后输出 其中最大的数
输入A、 图1-7 例1-1的算法 流程图
例1-2. 输入10个数,打印输出其中最大的数。 图1-8 例1-2的算法流程图
1.3.4 用N—S流程图表示算法 结构的N-S图描述如下所示:
1. 顺序结构
顺序结构的N-S图,如图1-9所示
图 1-9 顺序结构的图1-4 顺序结构
N-S图
相关推荐: