A. C语言采用解释方式将源程序转换为二进制的目标代码吗
不是,C语言采用编译方式将源程序转换为二进制的目标代码。使用C语言编译器来完成。
所谓C语言编译器,就是把编程得到的文件,比如.c,.h的文件,进行读取,并对内容进行分析棚兆运,按照C语言的规则,将其转换成cpu可以执行的二进制文件。其本质在于对文件的读入,分析,及处理。
C语言编写的程序代码称为源程序,对于计算机本身来说,它并不能直接识别由高级语言编写的程序。C语言程序经C语言编译程序编译后,生成后缀为.obj的二进制文件(称为目标文猜纳件)。
此.obj文件必须与系统提供的各种库函数连接起来生成一个后缀为.exe的可执行文件才可以执行。C语言的可执行文件由一系列机器指令构成的。
(1)c编译成二进制码扩展阅读
解释执链梁行和编译执行是计算机语言的执行方式。解释执行由解释器现场解释执行,不生成目标程序。如BASIC便是解释执行,一般解释执行效率较低,低于编译执行。
编译执行由编译程序将目标代码一次性编译成目标程序,再由机器运行目标程序。如:PASCAL,C,C++,delphi等语言。效率高于解释执行。
B. c璇瑷鍗佽繘鍒惰浆浜岃繘鍒朵唬镰
c璇瑷鍗佽繘鍒惰浆浜岃繘鍒舵槸镐庢牱镄勫憿锛熶笅闱㈠氨璁╂垜浠涓璧锋潵浜呜В涓涓嫔惂锛
c璇瑷鍗佽繘鍒惰浆浜岃繘鍒朵竴鑸𨱒ヨ村氨鏄鎸囧湪C璇瑷鐜澧冧笅锛屽疄鐜版妸鍗佽繘鍒惰浆鎹㈡垚浜岃繘鍒讹纴涔熷氨鏄灞炰簬涓绉嶈繘鍒剁殑杞鎹锛屽叾铡熺悊阃氩父鏄姝f暣鏁拌浆鎹㈡垚浜岃繘鍒讹纴閲囩敤闄や簩鍙栦綑锛岀劧钖庡掑簭鎺掑垪锛岄珮浣嶈ˉ闆剁殑鏂瑰纺銆
鍙傝冭寖渚嬶细
鍗佽繘鍒惰浆浜岃繘鍒剁ず渚嬩唬镰佷竴
# include stdio.h
int main()
{
int i, n = 0, b[16];
scanf(%d, i); //瀵瑰崄杩涘埗鏁扮殑璇诲彇
for (; i; i=1)
b[n++] = i1;
for (; n; )
printf(%d, b[--n]); //浜岃繘鍒舵暟涓涓涓杈揿嚭
// getchar();
printf(\n);
return 0;
}
鍗佽繘鍒惰浆浜岃繘鍒剁ず渚嬩唬镰佷簩
#include stdio.h
void main()
{
int a;
scanf(\%d\,a);//杈揿叆涓涓10杩涘埗鏁般
int result=0;//瀛桦偍a镄勪簩杩涘埗缁撴灉銆
int p=1;//p=1琛ㄧず涓浣嶆暟
do
{
int b=a%2;//b鏄浣欐暟,绗涓涓浣欐暟鏄浜岃繘鍒剁殑涓浣嶃
result=result+p*b;
p=p*10;//*10琛ㄧず涓嬩釜鏄10浣嶆暟銆
a=a/2;
}while(a);
printf(\\\n%d\\n\,result);
}
C. C源程序经编译形成的二进制代码可以直接运行吗
不可以直接运行,源程序是程序员写给人看的,电脑执行的都是.EXE程序或者是二进制可执行代码,所以得将源程序进行编译连接然后才能生成可执行的程序也就是二进制的代码。
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。
计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
(3)c编译成二进制码扩展阅读:
如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。
对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯将决定源代码的好坏。源代码是否具有可读性,成为好坏的重要标准。软件文档则是表明可读性的关键。
对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分不会在生成的程序中直接显示,也不参与编译。
但是注释代码对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
网络-源代码 (一系列人类可读的计算机语言指令)
D. c语言是如何编译成二进制
计算机专业有门课程叫做《编译原理》,详细讲述了怎么把高级语言翻译成汇编语言活着机器能看懂的二进制代码。
简单的说,C语言是通过编译器翻译成二进制代码的(就像英译汉的软件把英文翻译成汉语一样。把高级语言翻译成机器语言过程很复杂,学了编译原理就懂了)。还有编译器可以用各种语言编写,C语言可以被用C语言写的编译器来编译。