C语言与单片机C语言的区别 急求

2024-11-18 22:33:33
推荐回答(5个)
回答1:

单片机c语言比起普通C语言增加了一些基本的指令,变量的赋值是16进制,当然单片机c语言只牵涉到普通c语言的基础部分。具体体现在:

1、单片机中C的语法一般都对 ANSI C有些扩展,及一些特殊写法 如C51扩展的 data xdata bit sbit 一类的,还有一些中断程序写法 void int() interrput 1 一类的。

2、C是一门语言,由对应平台的编译器编译成对应平台汇编的程序,各平台的汇编不一样,当然编译器也不一样 DOS上的TC2 TC3   WINDOWS上的VC 8051的C51都有自已的编译器 。具体区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。

3、单片机c语言编程是基于C语言的单片机编程。单片机的C语言采用C51编译器(简称C51)。由C51产生的目标代码短,运行速度高,存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。

C51本质就是C,是为在单片机上使用C而出来的,如果C不牢固,还是多掌握一点C再学C51,不过新增的知识也不少,而且基本上跟C无关。

4、C只是一种高级语言。它除具有一般高级语言的功能特性外,它可以很好的操作底层的硬件接口。在C语言的基础上,如果你把一些单片机的端口或特殊功能寄存器加于定义,使之方便于在 写语句的时候,直接直观的编写。这样就差不多是单片机C语言。

C语言的特性差不多都可以用于单片机C语言,因为它们的编译机理都是一样的。

扩展资料:

C语言:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

单片机的C语言:

单片机软件设计使用C语言作为编程开发软件,采用模块化的程序结构,设计了按键模块程序、RFID模块程序、日历时钟模块程序、GPRS模块程序、显示存储模块程序等,并编写系统主程序,将五个程序模块组合在一起,实现单片机控制系统的整体功能。

51单片机支持三种高级语言,即PL/M,C和BASIC。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。

单片机的C语言采用C51编译器(简称C51)。有C51产生的目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用

参考资料:

C语言-百度百科

单片机C语言-百度百科

回答2:

C语言与单片机C语言的区别:

1、编译器的区别

C语言的编译器有GCC(GNU组织开发的开源免费的编译器)、MinGW(Windows操作系统下的GCC)、Clang(开源的BSD协议的基于LLVM的编译器)、Visual C++ :: cl.exe(Microsoft VC++自带的编译器)。

单片机C语言采用C51编译器(简称C51)。由C51产生的目标代码短,运行速度高,存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。

2、内容的区别

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

单片机C语言基于C语言的单片机编程语言,是以C语言为基础加以调整的。

3、语言特性的区别

C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

单片机C语言基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分通过单片机编程来实现。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现。

4、语言优点的区别

C语言简洁紧凑、灵活方便、运算符丰富、数据类型丰富、表达方式灵活实用、允许直接访问物理地址,对硬件进行操作、生成目标代码质量高,程序执行效率高、可移植性好、表达力强。

单片机C语言目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用。

参考资料来源:百度百科——C语言

百度百科——单片机C语言编程

回答3:

准确讲不是C语言与单片机C语言的区别,单片机c语言只是用到了c语言的一丢丢,主要有循环语句,条件语句,宏定义,指针,结构体等,用到的库都是单片机的,至于你说的指令那都是单片机的事,跟c语言没有关系,单片机的指令跟单片机的构架、定义有关系。c语言编程可以不用掌握汇编指令,但是必须掌握各个寄存器的操作以及相关的命令字,因为只有你掌握了寄存器的操作才能用c语言编程指挥单片机。个人建议开始用汇编编程,编写简单的控制程序。这样可以加深对单片机的了解,熟悉各个寄存器;后面就可以用c语言编写规模较大的程序,毕竟c语言容易上手,用起来相对简单!

回答4:

单片机所用的C语言属于C语言,学单片机初学者不需要把C语言搞得多么好,会用几个关键字if什么的等等就够用了。单片机比纯C语言多了一个东西叫寄存器,其实就是单片机“内部变量”,在头文件中(每个单片机有属于自己的头文件,编译器会自带,你只要知道文件名字就行,比如#include)帮你定义好了,寄存器的作用就是配置参数,比如51有个寄存器叫P1,当你代码执行完P1=0XFF;时候单片机的8个名字叫P1(P1有8个引脚 P1^0~P1^7)的引脚就会输出高电平,P1=0XF0;那么就是前四个引脚(P1^4~P1^7)是高电平,后四个是低电平。
单片机就是通过C语言的语言方式向单片机寄存器写数据,单片机自己会根据这些数据去控制它的模块比如引脚状态。

回答5:

你学习到的C语言是标准C语言,也是行业标准,通用性强;而单片机C语言是构建在标准C的基础上的,你先学习了单片机,之后用C语言编程时,根据不同的单片机,还是有差异的,指令的形式会不同,但是实质都是对寄存器的操作;而相同点我认为就是语句的形式不变,基本格式不变,即语法不变;编程的思路也都一样,但是实现某种操作的算法则可以变化多端。
你别急,先学习单片机的硬件知识,并开始边学边编程练习,多看视频,多看书上的实例,自己尝试练习很容易就上手了啊!我只是学习过51单片机,凌阳61单片机和Atmel 的mega128单片机,也是跟你一样的初学者啊!!