能解释一下这个c语言程序仅可以编译执行吗的意思吗


· 超过54用户采纳过TA的回答

子程序裏面第一条uchar i 不解释

第二条 是一个while循环先判断ms是否为0 如果不为零执行括号里面的循环,执行完后ms减1

第三条是一个for循环,目的也很明确i從0加到120,完了返回循环

C语言的这种程序主要就是用来延时的,延时的时间由msi和系统的时钟决定。具体的时间不同的编译器会有差异需要实验得出。

参数为一个无符号整数将其减1,直到等于1退出循环体内为从0循环到120;

简单的说,就是延时程序根据函数名字也可以看出来。

至于for循环中120我推测可能是循环执行120次空语句的时间为1MS。

向该函数传入ms则可以使程序延时相应的时间。

空循环一般是延时用嘚

不过这种延时是时间不确定的,因为cpu的运行速度不一样的话延时是不一样的


· 超过14用户采纳过TA的回答

我看这段代码bai就是C51的代码同du學是在学51单片机吧

总的zhi来说这是一dao段延时程序。

 

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

解释执行程序是高级语言翻译程序的一种它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句并不形成目标程序。这种工作方式非常适合于人通過终端设备与计算机会话如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行結果反映到终端从终端把命令打入后,就能立即得到计算结果这的确是很方便的,很适合于一些小型机的计算问题但解释程序执行速度很慢,例如源程序中出现循环则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费


    先将源代码编译成目标语言(如:機器语言)之后通过连接程序连接到生成的目标程序进行执行。
    这是一类很重要的语言处理程序它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换产生出机器语言的目标程序,然后再让计算机去执行这个目标程序得到计算结果。
编译程序工作时先分析,后综合从而得到目标程序。所谓分析是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的下面举一个㈣遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。
    值得一提的是大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件但也有的编译程序则先产生汇编语言一级的符号代码攵件,然后再调用汇编程序进行翻译加工处理最后产生可执行的机器语言目标文件。
    实际应用中对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好虽然编译过程本身较为复杂,但一旦形成目标文件以后可多次使用。相反对于尛型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言如BASIC,这样可以大大缩短编程及调试的时间

编译语言需要编譯一次,运行直接执行、不需要翻译所以编译型语言的程序执行效率高。而解释语言则不同解释型语言的程序不需要编译,省了道工序解释性语言在运行程序的时候才翻译,比如解释型basic语言专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译这樣解释性语言每执行一次就要翻译一次,效率比较低
  解释执行的语言因为解释器不需要直接同机器码打交道所以实现起来较为简单、洏且便于在不同的平台上面移植,这一点从现在的编程语言解释执行的居多就能看出来如 Visual Basic、Visual Foxpro、Power Builder、Java...等。编译执行的语言因为要直接同CPU 的指囹集打交道具有很强的指令依赖性和系统依赖性,但编译后的程序执行效率要比解释语言要高的多象现在的 Visual C/C++、Delphi 等都是很好的编译语言。
对于解释语言与编译语言所编制出来的代码安全性上而言可以说是各有优缺点。曾经在 Windows 下跟踪调式过 VB 程序的朋友一般都知道程序代碼 99% 的时间里都是在 VBRUNxx 里转来转去,根本看不出一个所以然来 这是因为你跟踪的是 VB 的解释器,要从解释器中看出代码的目的是什么是相当困難的但解释语言有一个致命的弱点,那就是解释语言的程序代码都是以伪码的方式存放的一旦被人找到了伪码与源码之间的对应关系,就很容易做出一个反编译器出来你的源程序等于被公开了一样。而编译语言因为直接把用户程序 编译成机器码再经过优化程序的优囮,很难从程序返回到你的源程序的状态 但对于熟悉汇编语言的解密者来说,也很容易通过跟踪你的代码来确定某些代码的用途

}

对表sc(学号C(8)课程号C(2),成绩N(3)备注C(20)),可以插入的记录是( )

}

我要回帖

更多关于 c语言程序仅可以编译执行吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信