




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言和Pascal语言的对比林金正(2010101032)(汕头大学计算机系,广东汕头515063)摘要:C语言和Pascal语言是目前对计算机发展影响较深的两门计算机程序设计语言。两种语言各有特点,Pascal语言是一种结构式程序设计语言,最初是为系统地教授程序设计而发明的,语法严谨,特点是简明化和结构化,适合教学,科学计算等。C语言则是国际上应用最广泛的计算机中级语言,具有语言简洁紧凑,使用方便灵活及运算符丰富等特点,语法限制不严格,程序设计自由度大,程序可移植性好。以下从程序结构、数据类型、运算和指针共四个方面对两种语言进行比较。关键词:C语言、Pascal语言、对比、程序结构、数据类型、运算、指针。The Comparison between Language C and language PascalLin 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.程序结构程序结构体现了一个完整程序的构成。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语言函数的基本形式是:函数类型 函数名 (形式参数) 形式参数说明;说明部分;语句部分.数据类型Pascal语言的数据类型可分为:简单类型、构造类型和指针类型三大类。而C语言的数据类型则可分为:基本数据类型,构造数据类型,指针类型和空类型四大类。两者在基本数据类型上的差别有很多,1Pascal的基本类型有:(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的指针必须在说明部分说明,在使用前,还必须申请。Pascal指针的操作中,只能把一个指针复制给另一个指针,单个指针不能进行加、减等运算,也不能直接给指针赋值。指针所存的地址不可见。这大大制约了Pascal指针的使用。相比于Pascal语言,C语言的指针的可操作性提高了许多。由于在C语言中每个数据类型都必有存储空间,所以指针可以应用于几乎所有的数据类型中。所以,从这个角度出发可以将指针分为:指向变量的指针、数组指针、字符指针、指向指针的指针、函数指针、结构变量的指针以及文件指针等等。其中,指向变量的指针就是存储变量的地址的。如 int * s这就是一个指向整型的指针,可以用于指向一个整型变量。如int a; 当p=&a时,就是将p存储整型变量a的地址,这是C语言指针最简单的一种操作类型。2函数指针是C语言指针的一大特色,就象某一数据变量的内存地址可以存储在相应的指针变量中一样,函数的首地址也以存储在某个函数指针变量里的。这样,我就可以通过这个函数指针变量来调用所指向的函数了。3在C语言中指针的十分应用广泛,除具有一般的功能外,具体特殊功能的应用总结起来有三个方面:一是用于在函数中可以返回多个值;还有就是可以实现动态调用函数;最后就是实现数组的动态定义。其中,由于由函数的特点,一个函数只能有一个返回值,但在有些场合需要返回多个值,就可以定义指针参量来实现,其定义的基本框架如下:Sss(int a,int *p);int s;return s;在这中情况下,函数不仅可以得到返回值(通过Return s来实现的),还可以通过指针p来返回相应的值。所谓指针能实现动态调用函数,这里用到的指针就是上文中提到的函数指针。函数指针就是指向函数入口地址的指针,我们还知道其实函数名就是一个函数指针。我们就是通过函数名实现动态调用函数的。在主调函数的参数中采用函数名充当实参就能实现函数的动态调用。该方法以简短的代码实现了复杂的功能。最后讲到指针能实现数组的动态定义。从C语言的学习中,我们知道在定义数组时一定要指定数组的大小,否则,不能完整数组的定义。那么如何实现数组的动态定义?数组从本质上来讲就是连续的空间集合罢了。那么,我们可以通过申请一个空间并赋值给一个指针变量,以此指针变量为首空间,就能获取连续的空间,这与数组相同。当然数组还有许多应用,只有认真分析就能得到更多更好的应用实例。5.总结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国租车软件行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国真空杯行业市场深度调研及发展趋势与投资战略研究报告
- 2024年陕西省建筑工程总公司职工大学辅导员考试真题
- 2025-2030年中国特种养殖动物行业发展趋势与前景展望战略研究报告
- 2025-2030年中国游泳池加热装置行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国泳帽行业市场深度调研及前景趋势与投资研究报告
- 2025-2030年中国水醇凝胶行业市场现状供需分析及投资评估规划分析研究报告
- 粮食质量安全保障的策略及实施路径
- 护理抢救分工培训课件
- 中国开采辅助活动行业市场全景分析及投资前景展望报告
- 网络空间安全概论智慧树知到期末考试答案2024年
- MOOC 管理学原理-东北财经大学 中国大学慕课答案
- 政务新闻摄影技巧培训课件
- 2024年山东公务员考试行测真题及解析【完美打印版】
- 中国十大名画
- 岗位胜任力评估表
- 夏季企业安全知识培训
- 立式机组轴线调整及瓦间隙计算
- 23秋国家开放大学《素质与思想品德教育》形考任务1-3参考答案
- 2023秋期国开本科《国际经济法》形考任务1-4试题及答案
- 幼儿园好习惯好性格养成绘本:坏脾气的蛋糕
评论
0/150
提交评论