C语言程序设计探讨

来源 :硅谷 | 被引量 : 0次 | 上传用户:stillzhl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效力高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点"这一双重性使它既能做系统描述语言,又是通用的程序设计语言,它是计算机应用人员应掌握的一种程序设计工具。对计算机C语言程序进行了简单探讨研究,希望能够对我们认识、了解和使用C语言程序有所帮助。
  [关键词]C语言程序设计 难点分析 重点函数与指针
  中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0220027-01
  C语言是近年来国内外得到迅速推广使用的一种现代语言,C语言功能丰富,表达能力强,适合于编写系统软件和应用软件。对C语言程序设计进行进一步的学习和研究有助于我们更好地应用C语言程序,使之服务于我们的工作、学习和生活。
  
  一、C语言及C语言程序设计概况
  
  C语言是一种广泛流行的计算机高级语言,主要适合于系统描述语言,也经常用来写应用程序,C语言有一个最大的特点,就是其语法限制不太严格,程序设计自由度大。这一方面增强了其适用性,增大了其应用范围,另一方面也降低了其安全性,使得其安全难以得到叫好的保障。C语言作为一门程序设计语言,与其它程序设计语言有一定的相似性,但C语言又优于其它语言,其灵活性大,功能强,能编出任何不同类型的程序的特点,使得其广受学习者和应用者的欢迎。
  
  二、C语言程序设计中需要注意的几个问题
  
  C语言程序是计算机语言程序中的重要组成部分,也是应用比较多,且比较普遍的一种计算机语言程序,在应用C语言程序时仍需要注意以下的一些问题:
  
  (一)C语言程序设计缓冲区的处理
  在许多用C语言实现的应用程序中,都假定了缓冲区的长度是足够的,它的长度肯定大于要拷贝的字符串的长度"然而事实并不总是这样"当程序出错时或者当用户故意送入一个过长的字符串时,就会造成缓冲区溢出,过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的会引起死机!系统重新启动等后果。因而必须对其缓冲区的溢出问题进行处理。C语言不对数组进行边界检查,当向一个局部数组拷贝一个超过数组长度的字符串时,超过数组长度的那部分字符串将会覆盖与数组相邻的其他变量的空间"如果刚好数组与子程序的返回地址临近时,由于超出的一部分字符串覆盖了子程序的返回地址(RET),子程序执行完毕返回时,便有可能转向一个无法预料的地址,使程序流程发生错误,因而在程序设计时,必须对其进行边界检查。
  
  (二)语言程序设计与面向对象设计的关系
  C语言是结构化和模块化的语言,它是面向过程的即在结构化程序设计时,设计者必须细致地设计程序中的每一个细节,准确地考虑到程序运行时每一时刻发生的事情。面向对象的程序设计,即C++"C++保留了C的所有优点,还增加了面向对象的机制"C++是对C的增强,不仅从面向过程上,还为解决大型软件的设计问题提供了方便的设计方法"面向对象设计方法对C语言原有面向过程这一设计概念的补充,使C语言更能方便地解决许多难题"面向对象的程序设计方法是近年来十分流行的一种程序设计方法,它试图用客观世界中描述世界的方法来描述一个程序要解决的事情"它支持面向对象程序设计的几个要素(封装性!继承和派生性!重载性以及多态性)等。
  
  三、C语言程序设计中的函数和指针
  
  函数是一种有特定结构、能完成一定功能且相对封闭的可执行的代码段。函数的功能是由函数体的语句所决定的,函数的相对封闭性是指一个函数的代码是属于该函数专有的,函数是C语言的基本构件,任何一个C语言程序都是由一个或多个函数构成的(这其中必须有且只能有一个主函数)。指针是体现C语言灵活性的重要因素,指针同样是一个变量,只是它的内容是另一个变量的内存地址,可以通过赋值使指针变量的内容等于某个数据变量的内存地址,也可通过指针变量的值访问到数据变量。函数体现了C语言的结构性,指针体现了C语言的灵活性,两者通过指针函数和函数指针实现结合。C语言规定,函数的类型必须是单值型,而不能是结构类型的数据,指针变量的值是存储某数据类型的内存地址,是一个单一的值,所以函数可以返回一个内存地址,此时的函数即为指针函数。每一个函数都是一段代码,函数的代码在内存中是连续存储的,内存中存储一个函数代码所占有的存储单元的首地址就是该函数的执行入口地址,而每个函数的函数名就是该函数入口地址。在程序中调用函数时必须得到该函数的入口地址,所以需要通过函数名这个地址量来传递入口地址,这样的指针就称为函数指针。
  
  四、语言程序设计中调用汇编语言程序的处理
  
  C语言程序设计中调用汇编语言程序的处理规则一般是:在程序中使用关键字“EXTERN”对函数显示说明,用于建立C语言与汇编子程序的接口;函数名不超过8个字符,并在函数名下划线;参数传递的顺序是按其在参表中顺序的反顺序进栈的;参数按值传递;在汇编过程中,必须要有对代码段的说明部分;汇编程序取C程序的参数;汇编程序对寄存器的保护等等。
  C语言程序是计算机语言程序中的重要组成部分,由于其具有灵活适用性广的特点而得到了广泛的应用,但其安全性不高的缺点也需要我们继续加强研究以便进一步克服,实现C语程序的进一步良性健康发展。
  
  参考文献:
  [1]黄伟焕,《C程序设计中的常见语句结构的逻辑隐患及分析》,载《温州职业技术学院学报》2003.6.
  [2]黄玉庆,《C语言程序调用汇编语言子程序》,载《福建电脑》2002,5.
  [3]谢伟增,李瑾:《C语言程序设计中的重点:函数与指针》,载《河南广播电视大学学报》2003.12.
  [4]邱建林 顾 晖:《面对C语言程序设计》,载《内蒙古农业大学学报(社会科学版)》2003,3.
  [5]冯运仿,《C程序设计中缓冲区溢出问题》,载《黄石高等专科学校学报》2002.6.
  [6]陈慧杰,《C语言功能函数在程序设计中的应用》,载《昭乌达蒙族师专学报》2002.12.
其他文献
[摘要]CNC雕刻技术是传统雕刻技术和现代数控技术结合的产物,它秉承了传统雕刻精细轻巧、灵活自如的操作特点,同时利用了传统数控加工中的自动化技术,并将二者有机的结合在一起,成为一种先进的雕刻技术。  [关键词]雕刻 数控技术 计算机技术  中图分类号:TG5 文献标识码:A 文章编号:1671-7597(2008)0520083-01    在近十几年中,由于计算机技术、信息技术、自动化技术在许多
期刊
[摘要]校园网多网接入受到校园网的硬件设置和网络环境的限制,在利用现有的条件下,通过有效的技术整合,可以完成实现校园网多网接入的应用问题。  [关键词]windows 网关 应用 校园网  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0520048-02    在比较复杂的网络环境中,用户需要通过不同的网关访问不同的网络服务器,比如在学校的电脑。在使用教育城域网办公
期刊
[摘要]主要阐述广州市自来水公司改变传统的抄表模式,采用RFID抄表机代替手工帐册进行抄表并推广应用,并简要阐述RFID抄表机的组成、工作原理、功能及使用意义。  [关键词]抄表 RFID抄表机 抄表机应用  中图分类号:TM93 文献标识码:A 文章编号:1671-7597(2008)0520070-02    在信息化浪潮来临之际,作为全国信息化试点城市,广州一直走在全国前列,政府对信息化工作
期刊
[摘要]当前我国移动通信技术不断发展,在各运营商基站建设已趋于饱和的状况下,如何提高用户的感知度和满意度,如何做好无线网络优化工作对于各家运营商在激烈的电信市场竞争中就尤显重要。主要针对SCDMA系统无线侧的网络优化,结合笔者近年的实际工作经验,介绍了网络优化的目的、流程,并从覆盖、话务分析、参数配置、干扰、切换等几方面对如何做好无线网络优化进行分析和研究,从而实现优化后网络的稳定运行效能。  [
期刊
[摘要]物资管理是企业生产管理的重要内容,高水平的物资管理能够有助于提高企业效益。基于J2EE/MVC的开发框架,采用JAVA语言,为设计一个通用的物资管理系统,探讨与其相关的关键技术实现。  [关键词]JAVA J2EE 物资管理 MVC   中图分类号:TP39 文献标识码:A 文章编号:1671-7597(2008)0520074-02    一、引言    在Internet流行和快速发展
期刊
[摘要]通过介绍国外高校普遍使用的BlueJ集成开发环境辅助面向对象程序设计教学,提供一种直观、合理的教学模式。  [关键词]BlueJ 面向对象程序设计 教学模式 Java  中图分类号:G43 文献标识码:A 文章编号:1671-7597(2008)0520131-01    本论文将介绍一种叫做BlueJ的集成开发环境,它是专门运用于面向对象教学的一个IDE,同时也会讨论如何使用该工具来改进
期刊
[摘要]随着网络的发展,虚拟实验室正逐渐成为远程教育中的一个重要组成部分,而VRML技术以其媒体表现形式丰富、交互性强和带宽要求低的优点,成为开发虚拟实验室的重要技术之一。但是虚拟实验室作为一种的教育形式,不仅包含技术层面,还应当包括对虚拟情境的教学设计环节。从教学设计的视角,对基于VRML的虚拟实验室进行了不同方面的比较、分析,探讨VRML技术在虚拟情境建构中的优势与不足。  [关键词]虚拟实验
期刊
[摘要]农村雷电灾害日益严重的主要原因是:生态环境破坏造成气候异常;农村城镇化和城镇集群化带来负面影响;农村人群雷电自我防护能力低下等。基本对策为:改善生态环境,保持当地气候良性自稳;摒弃“经济优先潜规则”,坚持可持续发展的村镇规划建设思想;农村所有基本建设项目依法列入防雷安全行政许可范围。  [关键词]农村雷电 灾害原因 分析对策  中图分类号:P4文献标识码:A 文章编号:1671-7597(
期刊
[摘 要]针对“湖广填四川”大移民时期四川地区的植被发生的变化,运用GIS技术来恢复反映当时四川地区的森林植被演变情况。  [关键词]湖广填四川 植被变迁 GIS技术  中图分类号:P9 文献标识码:A 文章编号:1671-7597 (2008) 0220002-01  历史上四川植被一直保存良好,保持着完好的生态环境。在接踵而至的历时105年(公元1671年至1776年)的“湖广填四
期刊
[摘要]Java语言作为程序员及所有网络工作者的“宠物”,正以不可阻挡的趋势强势发展。分析Java的前进路程,探讨其生存现状。  [关键词]Java 生存现状 分析  中图分类号:TP3文献标识码:A文章编号:1671-7597(2008)0220021-01  Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发它的浪潮,显示了鹏程万里的美好前景。作为一种与底层硬件无关的、“编写一
期刊