硬件编程语言和cc之类的语言为何还不同

2021-03-08 11:56:58 字数 5527 阅读 4103

1楼:匿名用户

看楼上说的很含糊,bai我简单的总结一du下,计zhi算机一共分为五个等级,最上面dao两个分

内别是高级语言级和汇编语容言级,汇编语言采用助记符控制机器指令的执行,汇编语言对相应的硬件适应性也很强。

而c c++是高级语言,是时代的发展,便于写程序,产生的高级语言,高级语言经过编译首先产生的就是汇编语言,而所谓的程序都是保存在存储器中按地址依次执行的,所以按照本人的理解,并不是不同,软件是在硬件的基础上工作的,硬件编程语言同样也可以做软件,只是工作量大而已,两者不应该说不同,而应该讨论的是之间的联系。

当然c,c++可以给硬件编程,只要能产生相应的汇编语言就可以,例如给单片机编程,可以选择汇编,也可以选择c,其实结果都是生成16进制的**,转换成二进制的指令执行

2楼:栖凤婷

硬件编程语言

复:如果说是制驱动,那么汇编、

baic、c++(很少用c++)。

如果是指pal或者fpga芯片的du编程,那zhi就是vhdl和verlog硬件描述语言了dao。这个和上面三种都不一样,是相似于c语言但是有自己特点的一种硬件描述语言。

汇编语言是低等语言,最贴近硬件底层,优点是**执行效率高,缺点是易读性差,可维护性差,**编写工作量大。

c语言相比于汇编语言,算是一种高级语言。同样可以操作硬件。和汇编语言相比,优点是易读性高,可维护性好,**编写相对简单。

c++是比c语言再高一个层次的语言,不同的是c++引进了类和对象的概念,并添加了一系列的模板。

3楼:手机用户

你说的硬件编来程语言应该

自就是汇编了。机器码是bai

计算机真正能du够理解zhi的程序,c之类的语dao言计算机是看不懂的,全部都要翻译成机器码。但是机器码全部都是有0和1组成的二进制数序列,人看起来很吃力,所以创造了助记符帮助书写汇编程序。汇编是直接控制硬件应该如何工作的,所以在实现相同的功能时,汇编语言显得很繁琐。

具体的区别的话,可能要你了解一些电路方面的知识才行。

4楼:雨落深山

楼上的太啰嗦了,一句话说:

硬件编程语言是用来开发硬件的,c c++之类的语言是用来开发软件的。

5楼:匿名用户

一般控制硬件的编程语言有机器语言(0/1),汇编语言,c语言员, c++

6楼:中国死狗

恩,至于原理俺就不清楚了

不过前者肯定无法用c之类的语言,至少现在还不行

7楼:努力攻软件

硬件语言在单片机里用的多 具体搞不懂

c语言和c++语言的区别是什么?

8楼:小张

c语言与c++的区别有很多:

1,全新的程序程序思维,c语言是面向过程的,而c++是面向对象的。

2,c语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而c++对于大多数的函数都是有集成的很紧密,特别是c语言中没有的c++中的api是对window系统的大多数api有机的组合,是一个集体。但你也可能单独调用api。

3,特别是c++中的图形处理,它和语言的图形有很大的区别。c语言中的图形处理函数基本上是不能用在中c++中的。c语言标准中不包括图形处理。

4,c和c++中都有结构的概念,但是在c语言中结构只有成员变量,而没成员方法,而在c++中结构中,它可以有自己的成员变量和成员函数。但是在c语言中结构的成员是公共的,什么想访问它的都可以访问;而在vc++中它没有加限定符的为私有的。

4,c语言可以写很多方面的程序,但是c++可以写得更多更好,c++可以写基于dosr程序,写dll,写控件,写系统。

5,c语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。

6,c++中的ide很智能,和vb一样,有的功能可能比vb还强。

7,c++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入mfc中的类的时候,加入变量的时候等等。

8,c++中的附加工具也有很多,可以进行系统的分析,可以查看api;可以查看控件。

9,调试功能强大,并且方法多样

*c语言是面向过程的,而c++是面向对象的*

9楼:匿名用户

c是c++子集,c语言中的大部命令和语句都能在c++里运行,反过来则不行。

c语言是面向结构编程语言,c++是面向对象的编程语言。

c++提供了更丰富的函数和工具,更便于开发程序。

10楼:老子很凉

区别太多,跟你讲下理念的区别吧:

c语言是面向过程语言,通过变量,函数等完成操作,一般用于较为底层的,和硬件直接打交道(比如控制寄存器,驱动程序的编写)。

c++语言是一门面向对象语言,通过类,实例化类的对象来完成功能,相对于c语言更多应用于上层软件。

语言没有好坏优劣,只有适合不适合,要根据你要完成的项目决定语言和开发工具。

11楼:匿名用户

在很大程度上,标准c++是标准c的超集.实际上,所有c程序也是c++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别.

在c++中,民,局部变量可以在一个程序块内在任何地方声明,在c中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,请注意,c99标准中取消了这种限制.

在c中,按如下方式声明的函数没有对函数变元进行任何说明;

int func();

也就是说,如果没有在函数后面的括孤内指定任何变元,这在c中就意味着对函数变元未做任何声明,该函数可能有变元,也可能没有变元,然而,在c++中,这样的函数声明意味着该函数没有变元,也就是说,在c++中,下面这两个函数声明具有同样的作用:

int func();

int func(void);

在c++中,变元列表中的void是任选的.许多c++程序员使用它们是为了表明函数没有任何变元的,以便于他人理解程序.但是,从技术上说,void不是必须的.

在c++中,所有函数均必须被设计成原型,但这在c中只是一种选择.编程经验表明,在程序中也应该给函数采用原型设计方法.在c与c++之间还存在一个重要而又细微的差别,即字符常数在c中被自动作为整形来处理,但在c++中则不然.

在c中,多次声明一个全局变量虽然不可取,但不算错.在c++中,多次声明同一个全局变量会引发错误.

在c中,一个标识符可以至少31个有效的组成字符.在c++中,一个标识符的所有组成字符均是有效的.可是,从实用角度看,过长的标识符没有太大的用处,不仅不便于记忆,而且还会增加出现打字错误的可能性.

在c中,在程序内部调用main()函数的情形不常见,但这种做法是容许的,在c++中,这种做法是不容许的.

在c中,无法获得register型的地址,在c++中则可以获得这种地址.

在c中,如果类型声明语句中没有指定类型名,该类型被假定成int,这种隐式转型在c99与c++中是不允许的.

#include

using namespace std;

为什么没有.h后缀名?

名称iostream没有扩展名.h,原因是是标准c++所定义的新式头部文件之一,新式c++头部文件不再使用.h扩展名.

第二行告诉编译程序使用std名称空间,名称空间是最近才添加到c++中,一个名称空间建立一个声明范围,在该范围内可以放置各种程序元素.名称空间用来帮助组织大型程序的结构.这条using语句通知编译程序,程序员需要使用std名称空间,这是整个标准c++库声明所使用的名称空间.

通过使用sdt名称空间,程序可以简化对标准库的访问.普通c程序仅使用c子集,不需要名称空间语句,因为c的库函数在默认的全局名称空间中是可使用的.

类与结构体的区别:类与结构体是相互关联的

结构是c的一部分,c++从c中继承了结构,在语法上,类与结构十分相似,在关系上,这两者也很接近,在c++中,结构的作用被拓宽了,进而使结构成为了类的一种替代方法.实际上,类与结构的惟一区别在于:在默认状态下,结构的所有成员均是公有的,而类的所有成员是私有的.

除此之外,类与结构是等价的,也就是说,一个结构定义了一个类的类型.

c++同时包含这两个等价的关键字struct与class基于3个方面的原因.第一,加强结构的能力.在c中,结构提供了一种数据分组方法,因而让结构包含成员函数是一个小小的改进.

第二,由于类与结构是相互关联的,所有现有c**到c++的移植变得更容易.第三,由于类与结构的等价性,提供两个不同的关键字可以使类定义自由发展,为了保持c++与c的兼容性,结构定义必须始终受它的c定义的结束.

即使在有些地方可以使用结构来代替类,但尽量不要这么做,为了清楚起见,该用类的地方就用class关键字,该用c结构的地方就用struct关键字.

类与联合是相互关联的

联合也可以用来定义类.在c++中,联合包含成员函数,变量以及构造与析构函数.c++联合保留了c联合的全部特征,其中最重要的特征是所有数据元素共享内存的相同地址.

与结构类似,联合的成员在默认状态下也是公有的,并且完全兼容于c.与结构一样,c++中的联合声明定义了一种特殊的类,进而意味着保持了类的封装原则.

c++的联合有几个必须遵守的使用限制.第一,联合不能继承其他任何类型的类.第二,联合不能是基类,不能包含有虚函数成员.

静态变量不能是联合的成员. 联合不能使用引用成员,而且不能有任何作为成员的重载赋值运算符的对象.第三,如果一个对象包含明确的构造或析构函数,该对象不能成为联合的成员.

c++有一个叫做匿名联合的特殊联合.匿名联合没有类型名,也不声明任何变量,只是告诉编译程序它的成员变量共享一个内存地址.但是,变量本身无需要使用常规的点运算符语法即可直接引用.

上述联合的使用限制也适用于匿名联合,但下面这两个限制除外,第一,匿名联合所包含的元素只能是数据,不能包含成员函数,也不能包含私有或受保护元素;第二,全局匿名联合必须声明成静态的.

c语言与c++的区别有很多:

1,全新的程序程序思维,c语言是面向过程的,而c++是面向对象的。

2,c语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而c++对于大多数的函数都是有集成的很紧密,特别是c语言中没有的c++中的api是对window系统的大多数api有机的组合,是一个集体。但你也可能单独调用api。

3,特别是c++中的图形处理,它和语言的图形有很大的区别。c语言中的图形处理函数基本上是不能用在中c++中的。c语言标准中不包括图形处理。

4,c和c++中都有结构的概念,但是在c语言中结构只有成员变量,而没成员方法,而在c++中结构中,它可以有自己的成员变量和成员函数。但是在c语言中结构的成员是公共的,什么想访问它的都可以访问;而在vc++中它没有加限定符的为私有的。

4,c语言可以写很多方面的程序,但是c++可以写得更多更好,c++可以写基于dosr程序,写dll,写控件,写系统。

5,c语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。

6,c++中的ide很智能,和vb一样,有的功能可能比vb还强。

7,c++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入mfc中的类的时候,加入变量的时候等等。

8,c++中的附加工具也有很多,可以进行系统的分析,可以查看api;可以查看控件。

9,调试功能强大,并且方法多样

*c语言是面向过程的,而c++是面向对象的*

C语言lx与x输出结果不同,C语言编程“Hello,world”应该怎们弄

1楼 匿名用户 lx unsinged long int 长整形 x unsinged int 整形 对于不同的编译系统,输出的长整型,及整形的所占字节是不同的,这导致你看到的所占位数也不同,但一般情况下整形是占两个字节的,而长整型是占四个字节的。希望对你有帮助! 2楼 lx unsinged lo...

请大神指教这道c语言的编程题目,一道c语言编程题,求大神指教!

1楼 string h是字符串库函数,当要引用字符串函数时,比如,strlen sizeof等函数时就必须要用string h库函数。 此题是计算现有字符串的长度和总长度,答案是 4,10,第一个4表示只有4个字符 a b c d 后面的10表示数组总长为10。 2楼 匿名用户 去k资讯看看吧!!!...

C语言编程:求1!+2!+3n!的值

1楼 向雪晴锐捷 include main sum g printf 总和是 d n sum 2楼 听不清啊 include double fun int n int main 这个的时间复杂度为o n 2 3楼 揭蕾完海阳 include intfun int n 求阶 乘 void main 用...