当前位置:首页 > 心得体会 > 【浅析C++与C语言的几点联系与区别】C语言和C++的区别
 

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

发布时间:2019-01-01 06:25:37 影响了:

  摘要:文中从主函数、类与结构、模板与宏三方面阐述了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+十中的核心内容。至于教学方法笔者认为应把握一个原则即不能一味讲解语法,应教会学生思考程序的设计方法,类似的问题学会举一反三,培养自己的编程思路。毕竟授之以鱼不如授之以渔。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3