C语言-华北电力大学1-kj1
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•软件包括系统软件和应用软件。
中央处理器
计 算 机 系 统
硬 件 系 统
主机
外部 设备
CPU
运算器 控制器
RAM ROM
内存储器
输入设备
输出设备 外存贮器
操作系统
键盘、扫描仪、 其它 显示器、打印机、绘 图仪、其它 硬盘驱动器 磁盘 软盘驱动器 只读光驱 光盘 可读写光驱 光盘刻录机 其它
软 件 系 统
BEGIN
READ(X);
Y:=0; IF X<ZERO_VALUE
THEN GOTO 3;
Y:=RETURNY(X); CASE Y OF
1:TODAY:=SUNDAY;
2:TODAY:=MONDAY; 3:TODAY:=TUESDAY; 4:TODAY:=WEDMESDAY;
1.3 Pascal语言的程序结构和基本词汇(续)
顺序,其中函数说明和过程说明可以根据情况来定。
•上面过程中的程序参数表除了标准输入输出文件INPUT和OUTPUT外,
还可以包括其他与程序相联系的文件。
•LABEL进行标号说明,它的格式为:
LABEL <标号>; 比如:LABEL 3; 其中标号是一个无符合整数(1-9999),标号通常加到某语句前, 构成有标号语句:<标号>:<语句>;
•有许多语言,但Pascal结构化好,提供了多种类型,
1.1 计算机系统
•计算机系统由硬件和软机组成
•硬件由运算器、控制器、存储器、输入装置和输出装置五部
分组成,有的书上说分成四部分。计算机的处理过程由输入 装置输入内存储器,CPU从内存中取、存数据,最后由输出 装置输出。存储器由存储单元构成,每个单元有地址对其标 志。存储器包括内存、外存。运算器、控制器合称为中央处 理器(CPU)
系统 软件 应用 软件
数据库系统 语言处理程序 其它 子程序库 应用程序 函数库
中央处理器和内存储器
外存储器
输出设备
输出设备(续)
输入设备
软件组成
系统软件:管理、监控、维护计算机正常工作和供用户操作使用
计算机的软件。 MS-DOS、WINDOWS98、WINDOWS XP、 WINDOWS NT 、语言处理程序 、字处理程序 应用软件:在系统软件的基础上编制的各种应用程序及软件包。 其它软件:各种维护手册、程序说明和框图等各种文档。
错误分类: 编译错误:在编译时发生的错误。 语法、语义 如:begin end
运行错误:执行目标程序时发现的错误。
如:Sqrt(x) x<0 逻辑错误:在编译和运行时,计算机都不能 发现的错误。 如:sqrt(x)写成sqr(x)。 错误提示信息:
Warning 警告信息,程序能基本正常运行。 Error 致命错误,程序不能运行
TYPE 类型说明; VAR 变量说明;
1.3 Pascal语言的程序结构和基本词汇(续)
FUNCTION
函数说明;
PROCEDURE 过程说明; {程序说明部分结束} BEGIN {程序体开始}
程序语句;
程序语句
END. {程序体结束}
1.3 Pascal语言的程序结构和基本词汇(续)
•Pascal语言规定:所有的对象都必须先加以说明,说明按照前面所列的
1.3 Pascal语言的程序结构和基本词汇(续)
例如:
USES CRT,DOS,GRAPH;
在这条说明语句之后,程序就可以调用单元Crt,Dos和Graph中提供的 常量、变量、类型、过程和函数了。此外,Uses子句还用于说明呗调用 的用户自定义单元。由于Uses子句中单元出现的顺序决定了单元被初始 化的顺序,因此,用户单元一般应当写在所有标准单元之后。 例如: USES CRT,DOS,USERUNIT;
1.2 程序设计及Pascal程序的执行(续)
•Pascal程序的运行:先要写出源程序,编译程序将其转化
为目标程序,计算机执行目标程序的时候,目标程序先要放 入内存,计算机控制性从存储器中的第一条执行开始,检查 在存储器中的每一条程序指令,发出适合执行这个指令的命 令信号
注释:用Pascal语言实现的算法称为Pascal源程序;
1.3.2.2 符号 符号由字符构成。Pascal中的符号分为两大部分:系统规定的和用 户定义的。前者包括保留字和标准标识符;后者包括普通标识符,要求 必须以字母打头的字母数字串。
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
Pascal程序设计基础
第一章 基础知识
华北电力大学
考核方式:
试卷(闭)(80%)+ 上机(10%)+ 作业(10%)
引言
•人和计算机之间通信所用的语言称为程序设计语言 •机器语言和汇编语言都是面向机器的,统称为低级
语言
•高级语言是从人类的逻辑思维角度出发的计算机语
言 适合入门,从而达到举一反三的目的
1.2 程序设计及Pascal程序的执行(续)
翻译程序:把一个源程序翻译成等价的目标程
序的程序。有以下三种类型:
汇编程序:把用汇编编写的程序翻译成机器语言
程序。 解释程序:把用高级语言编写的程序进行逐句分
析并立即执行得到计算结果。
编译程序:把用高级语言编写的面向过程程序翻 译成目标程序的一种语言处理程序。
1.2 程序设计及Pascal程序的执行(续)
•
程序设计大致可分为三步:分析问题,包括原因, 要素,目的;描述算法,包括结构,模型,流程图; 使用Pascal语言编程。比如排队问题的解决。
编辑
源程序 编译
出错?
N 目标程序 运行 结果
Y
从编辑到运行 Pascal程序的过程
1.2 程序设计及Pascal程序的执行(续)
… END;
1.3 Pascal语言的程序结构和基本词汇(续)
•包含了所有内容的例子:
PROGRAM EXAMPLE(INPUT,OUTPUT);
LABEL 3;
CONST
ZERO_VALUE=0; TYPE
DAY=(SUNDAY,MONDAY,TUESDAY,WEDNESDAY,
THURSDAY,FRIDAY,SATURDAY); VAR TODAY:DAY;
其中USERUNIT假定为用户自定义单元的名称。
关于用户自定义单元的书写方法,这里就不介绍了。
1.3 Pascal语言的程序结构和基本词汇(续)
1.3.2 基本词汇
任何一种语言都有一定的约束的,比如并不是所有的字符或者字符 的组合在Pascal中都允许使用的。
1.3.2.1 字符集
26个英文字母、10个数字以及书中列出的特殊字符组成。
1.3 Pascal语言的程序结构和基本词汇(续)
•TYPE进行类型说明,一般的格式为:
TYPE
<枚举类型标识符>=(<标识符>,…, <标识符>); VAR
<枚举类型变量表>:<枚举类型标识符>;
比如: TYPE
DAY=(SUNDAY,MONDAY,TUESDAY,WEDNESDAY,
THURSDAY,FRIDAY,SATURDAY); VAR TADAY:DAY; 前面定义类型,后面定义该类型的变量。
1.5 标准数据类型(续)
1.5.1 INTEGER(整型)
整型的范围包括:正、负整数和零,但实际的取值与具体的计算机有 关,其范围为-(maxint+1)~+maxint(可以参阅补码的说明理解原因)。
•
•整型的定义:
CONST
LONG=150; WIDE=65; VAR I,J,COUNT:INTEGER;
目标程序是计算机可执行的指令序列,称为机器语言程序
1.3 Pascal语言的程序结构和基本词汇
1.3.1 Pascal语言的程序结构
按照课本中所述,一个完整的Pascal源程序由三部分组成:
PROGRAM 程序名(程序参数表);{程序首部}
LABEL
CONST
{程序说明部分开始}
标号说明;
常量说明;
类型说明:
简单类型
中除实型
外,都是 有序类型。
1.3 Pascal语言的程序结构和基本词汇(续)
•PROCEGURE进行过程说明,一般的格式为:
PROCEDURE <过程名>(<参数表>) ;
BEGIN <过程体>;
END;
比如: FUNCTION YSH(INPUT,OUTPUT) ;
BEGIN
1.3 Pascal语言的程序结构和基本词汇(续)
•CONST进行常量说明,一般的格式为:
CONST
<常量标识符>=<常量>; 比如:CONST TAX=25.00; 上面的例子将指定的产量值赋给常量标识符。常量标识 符的值不得由后面的程序语句改变。常量标识符的类型与定 义它的常量的类型相同,即后面的为实型,前面也为实型; 或同为整型。
1.3 Pascal语言的程序结构和基本词汇(续)
FUNCTION RETURNY(V:INTEGER):INTEGER;
BEGIN
RETURNY:=V+1 ቤተ መጻሕፍቲ ባይዱND;
PROCEDURE PRINTXY(P,Q:INTEGER);
BEGIN WRITELN(P,Q)
END;
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
1.4 文字、常量和变量
最终程序要对数据进行处理,下面是Pascal中经常用到的三种数据量:
文字:程序中出现的直接量,比如:1,2,3,‘a’。
常量:常量是对文字赋予标号,但不允许后面对常量值进行改变。使
1.2 程序设计及Pascal程序的执行
程序设计
用计算机能“懂”的语言编写出程序解决生产和科研中的问题。
程序:指令的序列。 源程序:用源语言写的,有待翻译的程序。 机器语言:机器指令(硬件系统能够识别的指令)的集合。 汇编语言:将指令映射为一种有助于记忆的符号(助记符), 来反映指令的功能和主要特征并代替机器指令代码。 高级语言:屏蔽机器细节,提高语言抽象层次,程序中可以采 用具有一定含义的数据命名和容易理解的执行语句。
5:TODAY:=THURSDAY;
6:TODAY:=FRIDAY;
7:TODAY:=SATURDAY; END;
3:PRINTXY(X,Y)
END.
1.3 Pascal语言的程序结构和基本词汇(续)
•实际上,除了课本中讲到的各个组成部分之外,在Pascal的说明部分还
有单元说明部分,格式如下:
USES 单元说明;
1.5 标准数据类型(续)
整数量的运算有:+、-、*、/、DIV(整除)、MOD(取余)。 DIV的结果是整数商,MOD的结果是整除的余数,因此有: 8 DIV 3=2, 8 MOD 3=2。而 / 结果为实数,比如: 8/3=2.66666667,7/2=2.0。
用常量的好处,便于维护,如果要改动程序中的数据,引入常量要容易 得多。 比如: A:=10+1; B:=10+2; … 如果想改10为11,则需要逐条改,但用: CONST VALUE=10; 就改一次。
变量:变量也是对文字赋予标号,但是允许对变量中的数值进行改变
1.5 标准数据类型
数学中,有整型、实型等,计算机处理中,也规定了不 同的数据类型,标准的数据类型包括:整型、实型、布尔型 和字符型。 一种数据类型实际上从两个方面进行了定义:取值范围 和在允许值上的操作。下面主要从这两个方面对四种标准数 据类型进行介绍。
它的位置在所有说明部分的前面。
单元引用字句(USES字句)说明在本段程序中直接引用和间接引 用的单元。程序单元(Unit)是 Turbo Pascal程序设计的基础 ,是 Turbo Pascal程序设计的基础,是常量、类型、变量、过程和函数的集 合,是一个相对独立的程序段。 在Turbo Pascal程序中,程序自动使用System单元,它实现了文 件I/O,字符串处理,浮点运算,动态内存分配等低层的例程,除了 System以外的标准单元(如Crt,Dos,Printer,Graph等),需用 Uses子句说明。
普通标识符构成规则:以字母打头的字母数字串。 在命名时应注意以下几点: 1)不能与保留字(关键字)同名。 2)尽量避免与标准标识符同名,以免产生不必要的混淆。 3)必须严格按照标识符的句法规则来命名。 4)在程序中,对标识符必须先命名后使用。 5)标识符长度一般不要超过八。 6)对标识符命名时,尽量避免字母和数字的混淆。如字母o和数字 0。”I”与”1”;PASCAL硬性规定用”*”表示乘号,就是”×”与 字母”X”易混。大小写英文字母可自由使用。 7)注重标识符的命名应能反映对象的实际意义。 应当指出,在写程序时,标识符、保留字和直接量绝对不可互相紧 连在一起,彼此间得用空白符号来分开。
中央处理器
计 算 机 系 统
硬 件 系 统
主机
外部 设备
CPU
运算器 控制器
RAM ROM
内存储器
输入设备
输出设备 外存贮器
操作系统
键盘、扫描仪、 其它 显示器、打印机、绘 图仪、其它 硬盘驱动器 磁盘 软盘驱动器 只读光驱 光盘 可读写光驱 光盘刻录机 其它
软 件 系 统
BEGIN
READ(X);
Y:=0; IF X<ZERO_VALUE
THEN GOTO 3;
Y:=RETURNY(X); CASE Y OF
1:TODAY:=SUNDAY;
2:TODAY:=MONDAY; 3:TODAY:=TUESDAY; 4:TODAY:=WEDMESDAY;
1.3 Pascal语言的程序结构和基本词汇(续)
顺序,其中函数说明和过程说明可以根据情况来定。
•上面过程中的程序参数表除了标准输入输出文件INPUT和OUTPUT外,
还可以包括其他与程序相联系的文件。
•LABEL进行标号说明,它的格式为:
LABEL <标号>; 比如:LABEL 3; 其中标号是一个无符合整数(1-9999),标号通常加到某语句前, 构成有标号语句:<标号>:<语句>;
•有许多语言,但Pascal结构化好,提供了多种类型,
1.1 计算机系统
•计算机系统由硬件和软机组成
•硬件由运算器、控制器、存储器、输入装置和输出装置五部
分组成,有的书上说分成四部分。计算机的处理过程由输入 装置输入内存储器,CPU从内存中取、存数据,最后由输出 装置输出。存储器由存储单元构成,每个单元有地址对其标 志。存储器包括内存、外存。运算器、控制器合称为中央处 理器(CPU)
系统 软件 应用 软件
数据库系统 语言处理程序 其它 子程序库 应用程序 函数库
中央处理器和内存储器
外存储器
输出设备
输出设备(续)
输入设备
软件组成
系统软件:管理、监控、维护计算机正常工作和供用户操作使用
计算机的软件。 MS-DOS、WINDOWS98、WINDOWS XP、 WINDOWS NT 、语言处理程序 、字处理程序 应用软件:在系统软件的基础上编制的各种应用程序及软件包。 其它软件:各种维护手册、程序说明和框图等各种文档。
错误分类: 编译错误:在编译时发生的错误。 语法、语义 如:begin end
运行错误:执行目标程序时发现的错误。
如:Sqrt(x) x<0 逻辑错误:在编译和运行时,计算机都不能 发现的错误。 如:sqrt(x)写成sqr(x)。 错误提示信息:
Warning 警告信息,程序能基本正常运行。 Error 致命错误,程序不能运行
TYPE 类型说明; VAR 变量说明;
1.3 Pascal语言的程序结构和基本词汇(续)
FUNCTION
函数说明;
PROCEDURE 过程说明; {程序说明部分结束} BEGIN {程序体开始}
程序语句;
程序语句
END. {程序体结束}
1.3 Pascal语言的程序结构和基本词汇(续)
•Pascal语言规定:所有的对象都必须先加以说明,说明按照前面所列的
1.3 Pascal语言的程序结构和基本词汇(续)
例如:
USES CRT,DOS,GRAPH;
在这条说明语句之后,程序就可以调用单元Crt,Dos和Graph中提供的 常量、变量、类型、过程和函数了。此外,Uses子句还用于说明呗调用 的用户自定义单元。由于Uses子句中单元出现的顺序决定了单元被初始 化的顺序,因此,用户单元一般应当写在所有标准单元之后。 例如: USES CRT,DOS,USERUNIT;
1.2 程序设计及Pascal程序的执行(续)
•Pascal程序的运行:先要写出源程序,编译程序将其转化
为目标程序,计算机执行目标程序的时候,目标程序先要放 入内存,计算机控制性从存储器中的第一条执行开始,检查 在存储器中的每一条程序指令,发出适合执行这个指令的命 令信号
注释:用Pascal语言实现的算法称为Pascal源程序;
1.3.2.2 符号 符号由字符构成。Pascal中的符号分为两大部分:系统规定的和用 户定义的。前者包括保留字和标准标识符;后者包括普通标识符,要求 必须以字母打头的字母数字串。
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
Pascal程序设计基础
第一章 基础知识
华北电力大学
考核方式:
试卷(闭)(80%)+ 上机(10%)+ 作业(10%)
引言
•人和计算机之间通信所用的语言称为程序设计语言 •机器语言和汇编语言都是面向机器的,统称为低级
语言
•高级语言是从人类的逻辑思维角度出发的计算机语
言 适合入门,从而达到举一反三的目的
1.2 程序设计及Pascal程序的执行(续)
翻译程序:把一个源程序翻译成等价的目标程
序的程序。有以下三种类型:
汇编程序:把用汇编编写的程序翻译成机器语言
程序。 解释程序:把用高级语言编写的程序进行逐句分
析并立即执行得到计算结果。
编译程序:把用高级语言编写的面向过程程序翻 译成目标程序的一种语言处理程序。
1.2 程序设计及Pascal程序的执行(续)
•
程序设计大致可分为三步:分析问题,包括原因, 要素,目的;描述算法,包括结构,模型,流程图; 使用Pascal语言编程。比如排队问题的解决。
编辑
源程序 编译
出错?
N 目标程序 运行 结果
Y
从编辑到运行 Pascal程序的过程
1.2 程序设计及Pascal程序的执行(续)
… END;
1.3 Pascal语言的程序结构和基本词汇(续)
•包含了所有内容的例子:
PROGRAM EXAMPLE(INPUT,OUTPUT);
LABEL 3;
CONST
ZERO_VALUE=0; TYPE
DAY=(SUNDAY,MONDAY,TUESDAY,WEDNESDAY,
THURSDAY,FRIDAY,SATURDAY); VAR TODAY:DAY;
其中USERUNIT假定为用户自定义单元的名称。
关于用户自定义单元的书写方法,这里就不介绍了。
1.3 Pascal语言的程序结构和基本词汇(续)
1.3.2 基本词汇
任何一种语言都有一定的约束的,比如并不是所有的字符或者字符 的组合在Pascal中都允许使用的。
1.3.2.1 字符集
26个英文字母、10个数字以及书中列出的特殊字符组成。
1.3 Pascal语言的程序结构和基本词汇(续)
•TYPE进行类型说明,一般的格式为:
TYPE
<枚举类型标识符>=(<标识符>,…, <标识符>); VAR
<枚举类型变量表>:<枚举类型标识符>;
比如: TYPE
DAY=(SUNDAY,MONDAY,TUESDAY,WEDNESDAY,
THURSDAY,FRIDAY,SATURDAY); VAR TADAY:DAY; 前面定义类型,后面定义该类型的变量。
1.5 标准数据类型(续)
1.5.1 INTEGER(整型)
整型的范围包括:正、负整数和零,但实际的取值与具体的计算机有 关,其范围为-(maxint+1)~+maxint(可以参阅补码的说明理解原因)。
•
•整型的定义:
CONST
LONG=150; WIDE=65; VAR I,J,COUNT:INTEGER;
目标程序是计算机可执行的指令序列,称为机器语言程序
1.3 Pascal语言的程序结构和基本词汇
1.3.1 Pascal语言的程序结构
按照课本中所述,一个完整的Pascal源程序由三部分组成:
PROGRAM 程序名(程序参数表);{程序首部}
LABEL
CONST
{程序说明部分开始}
标号说明;
常量说明;
类型说明:
简单类型
中除实型
外,都是 有序类型。
1.3 Pascal语言的程序结构和基本词汇(续)
•PROCEGURE进行过程说明,一般的格式为:
PROCEDURE <过程名>(<参数表>) ;
BEGIN <过程体>;
END;
比如: FUNCTION YSH(INPUT,OUTPUT) ;
BEGIN
1.3 Pascal语言的程序结构和基本词汇(续)
•CONST进行常量说明,一般的格式为:
CONST
<常量标识符>=<常量>; 比如:CONST TAX=25.00; 上面的例子将指定的产量值赋给常量标识符。常量标识 符的值不得由后面的程序语句改变。常量标识符的类型与定 义它的常量的类型相同,即后面的为实型,前面也为实型; 或同为整型。
1.3 Pascal语言的程序结构和基本词汇(续)
FUNCTION RETURNY(V:INTEGER):INTEGER;
BEGIN
RETURNY:=V+1 ቤተ መጻሕፍቲ ባይዱND;
PROCEDURE PRINTXY(P,Q:INTEGER);
BEGIN WRITELN(P,Q)
END;
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
1.3 Pascal语言的程序结构和基本词汇(续)
1.4 文字、常量和变量
最终程序要对数据进行处理,下面是Pascal中经常用到的三种数据量:
文字:程序中出现的直接量,比如:1,2,3,‘a’。
常量:常量是对文字赋予标号,但不允许后面对常量值进行改变。使
1.2 程序设计及Pascal程序的执行
程序设计
用计算机能“懂”的语言编写出程序解决生产和科研中的问题。
程序:指令的序列。 源程序:用源语言写的,有待翻译的程序。 机器语言:机器指令(硬件系统能够识别的指令)的集合。 汇编语言:将指令映射为一种有助于记忆的符号(助记符), 来反映指令的功能和主要特征并代替机器指令代码。 高级语言:屏蔽机器细节,提高语言抽象层次,程序中可以采 用具有一定含义的数据命名和容易理解的执行语句。
5:TODAY:=THURSDAY;
6:TODAY:=FRIDAY;
7:TODAY:=SATURDAY; END;
3:PRINTXY(X,Y)
END.
1.3 Pascal语言的程序结构和基本词汇(续)
•实际上,除了课本中讲到的各个组成部分之外,在Pascal的说明部分还
有单元说明部分,格式如下:
USES 单元说明;
1.5 标准数据类型(续)
整数量的运算有:+、-、*、/、DIV(整除)、MOD(取余)。 DIV的结果是整数商,MOD的结果是整除的余数,因此有: 8 DIV 3=2, 8 MOD 3=2。而 / 结果为实数,比如: 8/3=2.66666667,7/2=2.0。
用常量的好处,便于维护,如果要改动程序中的数据,引入常量要容易 得多。 比如: A:=10+1; B:=10+2; … 如果想改10为11,则需要逐条改,但用: CONST VALUE=10; 就改一次。
变量:变量也是对文字赋予标号,但是允许对变量中的数值进行改变
1.5 标准数据类型
数学中,有整型、实型等,计算机处理中,也规定了不 同的数据类型,标准的数据类型包括:整型、实型、布尔型 和字符型。 一种数据类型实际上从两个方面进行了定义:取值范围 和在允许值上的操作。下面主要从这两个方面对四种标准数 据类型进行介绍。
它的位置在所有说明部分的前面。
单元引用字句(USES字句)说明在本段程序中直接引用和间接引 用的单元。程序单元(Unit)是 Turbo Pascal程序设计的基础 ,是 Turbo Pascal程序设计的基础,是常量、类型、变量、过程和函数的集 合,是一个相对独立的程序段。 在Turbo Pascal程序中,程序自动使用System单元,它实现了文 件I/O,字符串处理,浮点运算,动态内存分配等低层的例程,除了 System以外的标准单元(如Crt,Dos,Printer,Graph等),需用 Uses子句说明。
普通标识符构成规则:以字母打头的字母数字串。 在命名时应注意以下几点: 1)不能与保留字(关键字)同名。 2)尽量避免与标准标识符同名,以免产生不必要的混淆。 3)必须严格按照标识符的句法规则来命名。 4)在程序中,对标识符必须先命名后使用。 5)标识符长度一般不要超过八。 6)对标识符命名时,尽量避免字母和数字的混淆。如字母o和数字 0。”I”与”1”;PASCAL硬性规定用”*”表示乘号,就是”×”与 字母”X”易混。大小写英文字母可自由使用。 7)注重标识符的命名应能反映对象的实际意义。 应当指出,在写程序时,标识符、保留字和直接量绝对不可互相紧 连在一起,彼此间得用空白符号来分开。