C语言是如何控制硬件的?

麻烦编一个简单的例子... 麻烦编一个简单的例子 展开
 我来答
漫游静心
推荐于2016-01-11 · TA获得超过198个赞
知道答主
回答量:74
采纳率:100%
帮助的人:87.2万
展开全部
首先,以下写的东西不是复制粘贴,我会给你详细的介绍、

1,要知道,计算机的发展规律是离硬件越来越远,离人类的自然语言越来越近。为什么这么说呢。
计算机语言的发展是:机器语言,汇编语言,高级语言,第四代语言,和自然语言。。
对于机器语言,只能识别二进制。而二进制就是0和1.0和1代表的是开关。比如1代表关闭,0代表打开。那么每一台进算计的开关都不一样,也就是硬件都不一样,所以机器语言没有移植性。
对于汇编语言,就是把机器语言用助记符来代替。比如,机器语言,如果是个8位的,11001010,都很难记。更别说16位的了。那么用助卖芦记符来代替他们,会容易些。比如用add,表示加,那么不用记那么长的数了。其他的两者并没有什么太大的区别。也没有移植性。
对于高级语言,就是C语言,他具有很腔配旦强的可移植性。因为他有专门的编译器。可以把C语言编译成机器语言。所以对于高级语言,只有在编译的时候才去操宗硬件。
比如:
#include<stdio.h>
void main()
{
int a;
a=20;
printf("a=%d\n",a);
}
这里,定义一个a是一个整型,那么硬件伍扰就分配给他4个字节或者8个字节(不同的软件不一样),那么这个就是一个硬件操纵。当然只有在编译的时候才对硬件进行操纵。
这也说明其可移植性强。因为对每一台电脑都可以这样下指令的。
再往后的第四代语言,就是面向问题的语言了。就是指需要告诉电脑需要怎么做,不需要告诉电脑应该怎么做,离硬件更远了。因为你只需要让a等于20,但不需要告诉电脑分配给a几个字节,电脑自己会搞定的。
对于自然语言就是人类自己的语言了,更不需要操纵硬件了。
其实C语言可是说是一种中级语言,既有汇编的优势,也有高级语言的优势。
像我学的单片机,用C控制流水灯的亮灭。就是直接通过C的操纵单片机的P1口引脚来进行的。有空你可以了解下。
畅景彰b5
推荐于2016-09-16 · TA获得超过4374个赞
知道小有建树答主
回答量:839
采纳率:0%
帮助的人:1272万
展开全部
如果是电脑程序的话,譬如你在vc6.0里面c语言里面编写一个程序,那么vc6里面的编译器会把你的c语言语句按照对应的关系翻译成你计算机能识别的计算机语句,然后你电脑cpu会按照这些指令来控制你的硬盘,内存读写之类的硬件操作
如果是单片机之类的话,譬如你在keil里面用c语言编写了一个单片机程序,那么keil的橘滑编译器会把你的c语言程序编写成汇编语言程序文件,然后把那个汇编程薯禅序文件烧到单片机芯片数伍尘上就可以让芯片按照指令工作了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhrs110
2010-11-18 · TA获得超过258个赞
知道小有建树答主
回答量:345
采纳率:100%
帮助的人:285万
展开全部
c就是控制硬件的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
书生意气1991
2012-11-01 · 超过10用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:21.7万
展开全部
楼上解答很不错。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式