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語言寫的編譯器來編譯。