浅析C++与C语言的几点联系与区别

来源 :网络与信息 | 被引量 : 0次 | 上传用户:googoosin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:文中从主函数、类与结构、模板与宏三方面阐述了C/C++之间的联系。从编程思想。关键宇和语法格式三方面论述了二者的区别。最后给出培养学生编程思路这一教学原则。
  关键词:c/c++;程序设计;编程思想
  
  1 引言
  
  “c语言程序设计”课程是高校计算机及相关专业的传统课程,近年来该课程却逐渐向“C/C++程序设计”过渡,更有甚者干脆摒弃C语言课程直接开设C++课程,这一现象值得我们反思,究竟如何在C与C++之间取舍,二者有何联系与区别?下面分别从三方面进行阐述。
  
  2 联系
  
  C++是以G语言为基础增加新内容发展而来,是C语言的推广和延伸。绝大部分C语言中正确的语句在C十十中也可以使用,C语言是C++的子集。
  2.1 main函数
  c++与c语言中都有main函数,main函数在两种语言中都起着不可或缺的作用,担当重要作用即程序的入口。简单的不带类的c++程序中的主函数除了输入输出(Gout/cin)与G语言不同。别的二者非常类似。
  2.2类与结构
  类是面向对象程序设计中最基本的概念,是实现面向对象程序设计的基础与核心。类是将不同类型的数据和与数据相关的操作封装在一起的集合体,是对要处理问题的抽象描述。定义了抽象类之后可利用该类定义其实体即该类的对象。结构是c语言中很有用的一种数据类型,是以后学习c++中“类”的基础。结构体成员组合在一起形成一个整体,其成员可为不同的类型。定义结构体之后可用该结构体类型定义结构体变量。c中的结构可以说是c++中类的雏形,但其区别也是显而易见的,结构中只是有数据成员没有成员函数;结构中也没有public和private关键字,其中的数据成员默认都是公有的,一般函数都可以访问,而C++的类中的数据成员默认情况下都是私有的,只有类对象中的成员函数和友元函数能够访问,这样极大地提高了数据的安全性。
  2.3模板与宏
  模板是c++程序设计中的重要机制,可以节约程序代码,提高面向对象程序设计的可重用性和可维护性。模板把函数或类要处理的数据类型参数化,表现为参数的多态性,从而有效实现了程序设计中的代码重用。c语言中的宏定义是一种预处理方式。可改进程序设计环境,提高编程效率。其中带参数的宏定义方式不只是简单的字符串替换,还要进行参数替换,为日后学习面向对象程序设计中的函数模板奠定基础。
  
  3 区别
  
  C是一种结构化语言,其重点在于算法和数据结构。C程序设计首要考虑如何通过一个过程,对输入或环境条件进行运算处理得到输出或实现过程控制,而c++首要考虑如何构造一个对象模型,让这个模型能契合与之对应的问题域,这样就可通过获取对象的状态信息得到输出或实现过程控制。
  3.1编程思想
  c++与C语言最大的区别在于编程思想的截然不同,前者是面向对象的编程语言,后者则是面向过程的结构化的编程语言。面向对象程序语言将程序设计领域与日常生活拉得更近,面向过程的C语言强调程序的功能,以函数为中心,c++在C语言这一强大巨人的肩膀上发展,通过C语言强大的软硬件控制功能,融入面向对象的编程思想。强调程序的分层。分类,以抽象的类为基础,进行对象的定义与展示,使应用程序具有封装性、继承性和多态性。
  3.2关键字
  c语言中的关键字几乎都可以在C++中使用,但c++中增加了一些C语言中所不支持的关键字,这些关键字能够作为函数和变量的标识符在c程序中使用,尽管C++包含了所有的c,很显然没有任何e++编译器能够编译这样的c程序。例如c++中的new和delete取代了C中的malloc和free,C++中还增加了public、private、try catch。throw等很多关键字。
  3.3语法格式
  c++和c语言在语法格式上也有很大的不同。c程序员可以省略函数的返回类型,C++却不可以,即使无返回也应加上void类型。注释的格式:c语言只支持**。C++还支持//在C语言中输入输出是使用scanf和printf函数来实现的,而e++是使用类来实现的,C++中用于控制1/O的iostream类库替代了C语言中的stdio函数库。C++中的try/oatch/thrOw异常处理机制取代了C中的setjmp和Iongjmp函数。C++中的引用简化了c语言中过于繁杂的指针。
  
  4 结语
  
  C++虽然是由C语言发展而来的。二者在程序设计上却有着本质的不同。c的轻便灵活与C++的详尽完善形成了鲜明的对比。在计算机专业的C/C++课程设计中,究竟开设c语言好还是c++更好呢?笔者认为两门课程都很重要,面向过程的和面向对象的两种思想都应该引导学生学习,若受课时所限老师不必面面偎到,但应引领学生掌握C/c+十中的核心内容。至于教学方法笔者认为应把握一个原则即不能一味讲解语法,应教会学生思考程序的设计方法,类似的问题学会举一反三,培养自己的编程思路。毕竟授之以鱼不如授之以渔。
其他文献
目前,很多家庭还只有一台电脑,需求很简单,实现起来也非常容易。下面两种实现方式是目前的主流,相信也一定会有一种适合你:宽带LAN和ADSL。  宽带LAN(即经常听到的10Mbps入户)一般是社区行为,需要运营商在社区建设一个LAN,也就是说,并不是所有的小区都提供这种功能。这种小区宽带的实现方式一般是这样的:光纤+以太网线缆,如使用千兆光纤连到小区中心交换机,使用百兆光纤或线缆把中心交换机和楼层
期刊
负载均衡策略    多WAN口宽带路由器的最突出的技术就是“负载均衡”,是多WAN口宽带路由器最重要的特征。分配各WAN口的数据流量是多WAN口宽带路由器要解决的问题,根据策略的不同,负载均衡的实现方式也不同。常见和流行的负载均衡策略有以下三种:    会话(Session)方式    系统以会话数目为计数单位,所有会话按平均的比例均分到所有启用的WAN口。在接入的线路带宽不同时会出现不均衡,导致
期刊
开着电脑,在QQ影音中观看着在线电影、在暴风影音中欣赏着大片,分享着网络视频为自己带来的视觉震撼,沉浸在高清电影为我们带来的幸福中。此时的你可曾想起12年前,第一次体验在电脑上看电影的情形,第一次听说还有影视播放器这样的软件可以安装到自己的电脑。四处托朋友租来VCD电影碟片,相约伙伴们一起分享。盯着那豪不清晰的画面、听着那粗糙又刺耳的音质,俨然沉浸在欢笑声中、一副乐不思蜀的样子。  回顾这12年。
期刊
之前一直关注的选秀节目《超级女声》、《快乐男生》等,由于被戴上了紧箍咒,已经少闻了。反倒是全民K歌类娱乐节目,从去年开始,浙江卫视的《我爱记歌词》,湖南卫视的《挑战麦克风》,江苏卫视的《谁敢来唱歌》和山东卫视的《先声夺人》等,在中国电视荧屏上奋力拼杀到现在。今年2月底开始,浙江卫视又启动2009《麦霸英雄汇》,从3月2日到8日整整一周连续播出,把《我爱记歌词》、《我是大评委》和《爱唱才会赢》等三档
期刊
你想在娱乐中享受英语的学习吗?边看电影真的能边学习英语吗?日前,笔者在用QQ影音双字幕看电影的时候。忽然灵光乍现,萌生一个用QQ影音进行英语学习的攻略。下面就让我一边操作一边道来。  软件名称:QQ影音  软件版本:1.0正式版  软件大小:17.82 MB  适用平台:Win 2000/XPNista  1 先准备一系列不带字幕的英语电影文件,每个电影文件配备中文和英文两个外挂字幕,选择电影练习
期刊
众所周知Windows 7对电脑的硬件需求比较低,于是很多用户也想把Windows 7安装到自己的机器上,不过一些用户却因为没有DVD光驱无法安装windows 7系统而郁闷。其实不用DVD光驱我们照样可以安装Windows 7系统,仅仅需要一个4GB大小的U盘,经过测试,使用U盘安装windows 7竟然比使用DVD光驱安装速度还要快。    注:“本文中所涉及到的图表、注解、公式等内容请以PD
期刊
摘要:住宅室内环境设计是主体设计工作的延伸和细化。建筑电气是实现住宅内环境设计总体构想的重要手段。主要通过照明方案的设计和照明灯具的选择完善环境设计,通过智能化的布线系统实现功能要求。  关键词:住宅:环境;布线;设计    系统概述    随着信息化社会的到来,人们的工作和生活与通讯和信息的关系日益紧密。电话、计算机等相继进入家庭。在住宅室内环境设计中。无疑应满足这些功能需要。于是在小康住宅概念
期刊
摘要:传统的电子商务网站使用同步交互方式,使得用户在访问电子商务网站时需要等待较长时间或重复操作,导致大量客户流失。本文对AJAX技术及其工作原理进行了深入研究。通过分析传统的商务系统请求,响应方武所带来的用户交互可用性的不足,将AJAX异步请求访问技术应用于电子商务系统,极大地增强了用户体验和交互性,对于构建高可用性,智能性和可扩展性的Web应用具有一定的参考价值。  关键词:AJAX;Web应
期刊
摘要:随着企业局域网的发展和完善,以投资少、不改变当前网络拓扑结构,低廉的运行维护成本为指导思想,基于H 323协议栈。采用独立固定IP方式,实现嵌入式语音信息传输。在增加生产指挥通讯渠道的同时,实现局域网内通话零话费,降低经营成本。  关键词:H.323;局域网;语音通讯    1 引言    随着企业信息化的发展,采用光纤和微波为传输介质,星型与总线型拓扑结构相结合的TCP/1P网络系统在油田
期刊
摘要:在OA系统中,每一位不同的角色都有不同的功能权限,这就需要OA系统在用户登录时通过用户的身份加载不同的功能权限,形成动态的功能权限导航系统。ASP NET2.0提供一种Provider的模式,站点导航系统正是基于这种Provider模式的服务,这样用户就可以借助这个功能强大而又灵活的模式构建自己的站点导航系统。  关键词:ASP.NET;siteMapProvider:自定义站点导航:Pro
期刊