C语言和C++的区别

如题所述

第1个回答  2012-05-01
c语言是面向过程的(pop),c++是面向对象的(oop)。别看他们很想,其实他们不是一样的东西。
第2个回答  2023-04-01
c语言是面向过程的。面向过程是着重于其中程序设计的算法、语言的运用,如设计不同功能的函数。C++是面向对象的。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。c语言的特点:1、代码具有较好的可移植性C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。2、可生成高质量、目标代码执行效率高的程序与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。
第3个回答  2013-05-24
C++ 与 C 语言不完全一样。但是你编写的纯 C 语言程序,在 C++ 的环境下能够完全编译通过,反之不行。C++ 主要是比 C 语言添加了:类、封装、继承、成员函数、重载等功能,如果你的程序中带有这些程序结构的话,只能够在 C++ 环境下编译,不能够在纯 C 的编译器下通过。

编程就得多上机实践编程、调试程序,如果你只是整天在书本上读程序,不编写程序,这样是不会进步的!

另外,你说的“遇到数学怎么办”,这个问题问得不准确。C 语言无罪,数学是你编程必须要掌握的基础,C 语言只是一个工具而已,它的任务是将你平时学习过的数学模型转化成了电脑能够接受的语句而已。
第4个回答  2015-09-21
1、“::”类作用域操作符。“::”指明了成员函数所属的类。如:M::f(s)就表示f(s)是类M的成员函数。

2、->和 .实现的功能是一样的,都是访问类的成员变量或成员函数,. 用于普通变量操作,->只能用于指针变量操作。如:若a为一指向对象的指针,a->f(s)就表示调用a所指的对象中的成员函数f(s)。
第5个回答  2019-11-17
<1>Java与C内存分配不同:
A.Java中内存分配五个区,分别为栈区(存储的是局部变量,使用完毕,立即回收),堆区(存储的是new出来的东西,实体,对象,每一个对象都有地址值,每个对象的数据都有默认值,使用完毕后,会在垃圾回收器空闲的时候回收),方法区,本地方法区(和系统相关),寄存区(给cpu使用)。
B.C中内存分配四个区,分别为栈区(存储函数参数,局部变量的值),堆区(动态内存申请与释放,若程序员不释放内存,则程序结束后可能由操作系统释放),全局区(静态区),代码区。
<2>Java数组初始化分为动态初始化和静态初始化:
A.动态初始化只给出长度,由系统给出初始化值。它的形式为:int[]arr=new int[3],(3表示一维数组中有三个元素,此时的[]被预定义为检查数组边界,没有指针运算,即不能通过a+1得到数组的下一个元素)
B.静态初始化给出初始化值,由系统决定长度。它的形式为:int[]arr={1,2,3}.
而C语言中定义一个动态数组形式为:int a=(int)malloc(sizeof(int)*3),定义一个静态数组形式为:int a[3]。
<3>求数组的元素的个数的方法不同:
A.Java中用.length可以直接求数组的元素的个数,例如:a=arr.length,则a就等于数组arr[]中元素的个数,Java中允许长度为零。
B.C中求数组元素的个数用操作符sizeof。
相似回答