C语言和Pascal语言的对比

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言和Pascal语言的对比

林金正(2010101032)

(汕头大学计算机系,广东汕头515063)

摘要:C语言和Pascal语言是目前对计算机发展影响较深的两门计算机程序设计语言。两种语言各有特点,Pascal语言是一种结构式程序设计语言,最初是为系统地教授程序设计而发明的,语法严谨,特点是简明化和结构化,适合教学,科学计算等。C语言则是国际上应用最广泛的计算机中级语言,具有语言简洁紧凑,使用方便灵活及运算符丰富等特点,语法限制不严格,程序设计自由度大,程序可移植性好。以下从程序结构、数据类型、运算和指针共四个方面对两种语言进行比较。

关键词:C语言、Pascal语言、对比、程序结构、数据类型、运算、指针。

The Comparison between Language C and language Pascal

Lin Jinzheng (2010101032)

(Computer Science Department Shantou University, Guangdong, Shantou 515063) Abstract: the language C and language Pascal is currently on computer development influence of deep two foreign computer programming language. Two languages have different features, Pascal language is a structured programming language, was initially for systematically professor programming and invention, grammar is rigorous, the characteristic is concise change and structured, suitable for teaching, scientific calculations, etc. C language is the most widely used on international computer intermediate language, with simple language is compact, easy to use and flexible and operators rich characteristics, such as grammar limit not strictly, program design freedom is big, program portability. The following items from the program structure, data type, computing, subroutine and pointer 5 aspects of two languages are compared.

Keywords: Language C, Language Pascal, comparison, program structure, operation, pointer.

1.程序结构

程序结构体现了一个完整程序的构成。Pascal语言所编写的程序由程序首部和分程序构成。其中,程序首部是程序的开头部分,它包括:(1)程序的标志,用“program”来标识“这是一个Pascal 程序”。Pascal规定任何一个Pascal程序的首部都必须以此字开头。在Turbo Pascal语言中,首部也可省略。(2)程序名称,由程序设计者自己定义,如例中的exam1。(3)程序参数,指明程序与外部联系的文件名。分程序包括说明部分(可省略)和语句部分(即执行部分)。(1)说明部分用来描述程序中用到的变量、常量、类型、过程与函数等。Pascal规定,凡是程序中用到所有变量、符号常量、数组、标号、过程与函数、记录、文件等数据都必须在说明部分进行定义(或称“说明”)。也就是说,不允许使用未说明先使用。(2)执行部分的作用是通知计算机执行指定的操作。如果一个程序中不写执行部分,在程序运行时计算机什么工作也不做。因此,执行部分是一个Pascal程序的核心部分。执行部分以“begin”开始,以“end”结束,其间有若干个语句,语句之间以分号隔开。执行部分之后有一个句点,表示整个程序结束。

Pascal语言程序由一个主程序和多个函数或过程组成,而与Pascal语言程序不同,C 语言程序为函数模块结构,所有的C语言程序都是由一个或多个函数构成,其中必须只能有一个主函数main()。程序从主函数开始执行,当执行到调用函数的语句时,程序将控制转移到调用函数中执行,执行结束后,再返回主函数中继续运行,直至程序执行结束。C程序的函数是由编译系统提供的标准函数(如printf、scanf等)和由用户自己定义的函数。虽然从技术上讲,主函数不是C语言的一个成分,但它仍被看做是其中的一部分,因此,“main”不能用作变量名。C语言函数的基本形式是:函数类型函数名(形式参数)形式参数说明;{说明部分;语句部分}

2.数据类型

Pascal语言的数据类型可分为:简单类型、构造类型和指针类型三大类。而C语言的数据类型则可分为:基本数据类型,构造数据类型,指针类型和空类型四大类。两者在基本数据类型上的差别有很多,[1]Pascal的基本类型有:(1)整型(integer),范围-2的15次方至2的15次方减1;(2)实型(real),-10的37次方至10的37次方;(3)字符型(char),范围是ASCII字符集;(4)布尔型(boolean),有true和false两个值。而C语言为了适应

不同问题的需求和优化内存管理,对各种类型又做了细分,仅整型就有int、short、long、unsigned、unsigned short、unsigned long型,实型又有float、double、long double型,每种类型都有不同的取值范围,字符型除ASCII码外,还有一些具有特殊功能的字符,与Pascal 最大的不同在于C中没有布尔型,判断表达式时0为假,非0则为真。

其他类型中,Pascal的数组下标从1开始,C的数组下标从0开始。

3.运算

Pascal的运算符除主要的加(+)、减(-)、乘(*)、除(/)外,还有整除(div)、取模(mod)、非(not)、与(and)、或(or)、小于(<)、小于或等于(<=)、大于(>)、大于或等于(>=)、等于(=)、不等于(<>),运算符丰富,可很好地满足科学计算的需求。其中,加、减、乘的运算结果视运算对象而定,两者皆为整形,则结果为整形,两者中有一个是实型或两者都是实型,则结果为实型;除的结果则一律为实型;整除和取模的结果为整形;其他运算的结果全为布尔型。

C语言的运算符与Pascal语言的运算符相似,但少了整除、和取模操作。虽然运算符减少了,但亦能实现Pascal所能实现的操作。Pascal的数据类型有运算限制,如字符只能做关系运算,关系表达式只能进行逻辑运算等。而C语言在这方面与Pascal相比有很大的自由。在C中,字符之间也可做算式运算,具体操作方法是取该字符的ASCII码值进行运算,其结果为整数,单个字符也可做自加或自减运算,其结果为该字符在ASCII码中的下一个字符或上一个字符,如此一来,实现相同的操作,C语言算法可以比Pascal语言算法简洁许多。此外,在C语言的除运算,若运算对象皆为整形,则运算结果亦为整形,这就实现了Pascal 中的整除操作。

4.指针

指针方面的差别是C语言和Pascal语言两者最大的差别,也是C语言相比于Pascal语言最大的优势所在。大家都认为,C语言之所以强大,以及其灵活性,很大部分体现在其灵活的指针运用上。

Pascal的指针主要用于建立动态数据结构,动态数据结构随着程序的执行而增长。一个动态数据结构是元素(或称结点,通常是记录)的汇集。动态数据结构在程序执行时,根据程序的数据存储需要而扩充或缩减,用于存储那些时常需要改变的数据。使用Pascal的指

相关文档
最新文档