单片机里的C语言和电脑上编程的C语言是一种语言吗?有什么区别?
C语言源程序----->C编译器----->汇编代码----->汇编器----->机器代码所谓的单片机C语言的意思是拿C语言来编写单片机程序,没有什么C语言控制单片机这回说法。
具体过程是:C语言源程序通过特定的C编译器编译为针对某种单片机的汇编代码,再由汇编器将汇编代码汇编为单片机可执行的机器代码,然后下载到单片机的存储器运行。
当前一般的集成开发环境(如Keil C)可以一次搞定生成机器代码。需要补充一点的是,单片机也是一种计算机,不要以为只有在PC机上才可以用C语言编程,C语言可以用作为任何计算机的编程语言,当然包括单片机,但有一个条件就是,你必需要有针对某种架构的计算机的C编译器。目前来讲,C语言的编译器种类非常多,有用于各种单片机以及微处理器架构的编译器版本,所以可以用C来做为单片机的编程语言。不同的是,你用TC或者VC编译得到的是X86(如Intel,AMD)的目标代码,只能在PC机上运行,而如果用单片机C编译器(比如Keil C)编译的代码是单片机代码,只能在特定的单片机上运行。目前C/C++是最流行的单片机/微处理器编程语言。
为什么不同电脑c语言运行不一样?
不同电脑c语言运行不一样有以下几个原因
1、代码写的不严谨比如:
int a=5; int b=(a++)*(a++);
上边这段代码就可以出现不同的结果,原因是未定义行为:就是说C不能保证计算子表达式(a++)后增加1; 简单说C没有指明a是在每个子表达式被计算后增加还是整个表达式被计算后增加,应该避免使用这类语句。
2、编译器问题
C语言规范并没有对C语言的所有行为做定义,所以相同语句,不同编译器的运行效果可能有所不同。属比如同样的sizeof(int),在16位编译器上结果为2,而32位编译器上就会是4。
3、代码运行的平台硬件不同
不同的CPU,如嵌入式CPU,intel CPU,以及IBM的CPU,在硬件最底层就是不同的,而C语言是一门和底层相关性极大的语言,在不同的硬件上运行出不同结果是很正常的。
4、代码运行的系统不同。
相同CPU在不同操作系统上跑相同代码时,一样会出现不同的结果。这是由于系统底层的实现不同造成的。比如Linux和Windows,在底层处理上就有一定的差异。
5、代码获取到的外部数据不同。
比如运行代码时获取到的其它输入不同,包括程序中获取的环境变量,实时信息,以及各种外部输入等,均有可能出现不同。比如在做随机数时,如果以当前时间设定随机数***,由于每次的时间是不同的,同一个程序每次运行的结果都是不同的。
c语言和计算机专业有什么区别?
C语言和计算机专业是两个不同的概念,它们有以下区别:
1、C语言是一种计算机编程语言,用于开发软件应用程序。它是一种通用的、高级的编程语言,被广泛用于开发各种类型的软件、嵌入式系统和操作系统。学习C语言可以使您具备编写程序和理解计算机的基本能力。
2、计算机专业是一种学科领域,涉及计算机科学、计算机工程和软件工程等。计算机专业的学习范围更广泛,包括计算机科学的理论、计算机硬件和软件的设计与开发、算法设计和分析、数据库管理、网络技术等。学习计算机专业可以获得对计算机科学和信息技术领域的全面知识和技能。
3、C语言是计算机专业中的一门重要课程或编程语言之一,而计算机专业涵盖了更广泛的面向计算机科学和工程方向的学习内容。
4、总结来说,C语言是一种编程语言,而计算机专业是一种学科领域,其中C语言可以作为计算机专业中的一部分。