導航:首頁 > 源碼編譯 > 編譯60分

編譯60分

發布時間:2025-01-14 05:19:13

編譯是什麼意思

問題一:編譯和解釋的區別是什麼? 後來為了方便記憶,就將用0、1序列表示的機器指令都用符號助記,這些與機器指令一一對應的助記符就成了匯編指令,從而誕生了匯編語言。無論是機器指令還是匯編指令都是面向機器的,統稱為低級語言。因為是針對特定機器的機器指令的助記符,所以匯編語言是無法獨立於機器(特定的CPU體系結構)的。但匯編語言也是要經過翻譯成機器指令才能執行的,所以也有將運行在一種機器上的匯編語言翻譯成運行在另一種機器上的機器指令的方法,那就是交叉匯編技術。高級語言是從人類的邏輯思維角度出發的計算機語言,抽象程度大大提高,需要經過編譯成特定機器上的目標代碼才能執行,一條高級語言逗遲的語句往往需要若干條機器指令來完成。高級語言獨立於機器的特性是靠編譯器為不同機器生成不同的目標代碼(或機器指令)來實現的。那具體的說,要將高級語言編譯到什麼程度呢,這又跟編譯的技術有關了,既可以編譯成直接可執行的目標代碼,也可以編譯成一種中間表示,然後拿到不同的機器和系統上去執行,這種情況通常又需要支撐環境,比如解釋器或虛擬機的支持,Java程序編譯成bytecode,再由不同平台上的虛擬機執行就是很好的例子。所以,說高級語言不依賴於機器,是指在不同的機器或平台上高級語言的程序本身不變,而通過編譯器編譯得到的目標代碼去適應不同的機器。從這個意義上來說,通過交叉匯編,一些匯消鍵編程序也可以獲得不同機器之間的可移植性,但這種途徑獲得的移植性遠遠不如高級語言來的方便和實用性大。二、編譯與解釋編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。同時解釋器山橋李也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,解釋器本身也佔用了寶貴的系統資源。編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.1、編輯:用編輯軟體(EDIT.EXE或記事本)形成源程序(.ASM),如:LX.ASM; 2、匯編:用匯編程序(MASM.EXE)對源程序進行匯編,形成目標文件(.OBJ),格式如下:MASM LX.ASM; 3、連接:用連接程序(LINK.EXE)對目標程序進行連接,形成可執行文件(.EXE),格式如下:LINK LX.OBJ; 4、執行:如果結果在屏幕在顯示,則直接執行可執行文件。 5、調試:用調試程序(DEBUG.EXE)對可執行文件進行調試,格式如下:DEBUG LX.EXE1. 在具體計算機上實現一種語言,首先要確定的是表示該語言語義解釋的虛擬計算機,一個關鍵的問題是程序執行時的基本表示是實際計算機上的機器語言還是虛擬機的機器語言。這個問題決定了語言的實現。根據這個問題的回答,可以將程序設計語言劃分為兩大類:編譯型語言和解釋型語言。2. 由編譯型語言編寫的源程序需要經過編譯、匯編和鏈接才能輸出目標代碼,然後機器執行目標代碼,得出運行結果,目標代碼由機器指令組成,一般不能獨立運行,因為源程序中可能使用了某些......>>

問題二:函數的編譯是什麼意思??? 你說的這個問題,是把(不僅僅是數學上的函數式子)某個項目內容,進行編程。也就通過設計好了的運算程序,上百上千次進行與或非門運算。你想,電子,也就是通電斷電額事。寫成數字,就是010100001110000000111101111等等。
這需要專門的【編程員】大費腦筋的。有時候,需要好幾年。

問題三:編譯程序是什麼意思?編譯是什麼意思? 把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言書寫的目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。

問題四:編譯時間是什麼意思? 在ROM發布的時候,會提供這個ROM的一些版本。
編譯時間能夠告訴用戶這個系統的發布時間。
有一些軟體會提供類似的編譯Revision。功能基本上相同。

問題五:編譯錯誤是什麼意思 編譯錯誤,一般指語法上的錯誤
運行錯誤,一般指程序上的bug

問題六:什麼是編譯原理 編譯:就是將程序語言進行翻譯,生成可供用戶直接執行的二進制代碼,即可執行文件。
任務是個比較模糊的概念,指的是操作系統中正在進行的工作,既可以指進程,也可以指程序。
程序指的是可以連續執行,並能夠完成一定任務的一條條指令的 *** 。
進程是程序在一個數據 *** 上運行的過程,它是傳統操作系統進行資源分配和調度的一個獨立單位。
線程是一個指令執行序列,是操作系統調度的最小單位。一個或多個線程構成進程,構成一個進激的線程之間共享資源。進程和線程之間的最大區別就是線程不能獨立擁有資源,進程擁有自己的資源。

問題七:編譯原理中V*是什麼意思 V是一個符號 *** ,假設V指的是三個符號a, b, c的 *** ,記為 V = {a, b, c }
V* 讀作「V的閉包」,它的數學定義是V自身的任意多次自身連接(乘法)運算的積,也是一個 *** 。
也就是說,用V中的任意符號進行意多次(包括0次)連接,得到的符號串,都是V*這個 *** 中的元素。
0次連接的結果是不含任何符號的空串,記為 ε
1次連接就是只有一個符號的符號串,比如,a,b, c
2次連接是兩個符號構成的符號串,比如,aa, ab, ac, ba, bb, bc,等等
……
n次連接是一個長度為n、由a、b、c三個符號構成的符號串,比如abaacbbac……
因此,V*包含一切由a,b,c三個符號連接而成的、任意長度的符號串(以及空串ε)

問題八:編譯和預編譯有什麼區別。 60分 預編譯又稱為預處理,是做些代碼文本的替換工作。
處理#開頭的指令,比如拷貝#include包含的文件代碼,#define宏定義的替換,條件編譯等
就是為編譯做的預備工作的階段
主要處理#開始的預編譯指令
編譯(pilation , pile) 1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。 2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。

問題九:C語言中程序編譯的正確理解及其含義 預處理。首先程序會被送給預處理器了。預處理器執行以#開頭的命令(通常稱為指令)。預處理器有點類似於編輯器,它可以給程序添加內容,也可以對程序進行修改。

編譯。 修改後的程序現在可以進入編譯器了。編譯器會把程序編譯成機器指令(即目標代碼)。然而,這樣的程序是不可運行的。

鏈接。 在最後步驟中,鏈接器把編譯器產生的目標代碼和所需的其他附加代碼整合在一起,這樣才最終產生完全可執行的程序。這些附加代碼包括程序中用到的庫函數(如printf函數)

問題十:編譯和解釋的區別是什麼? 後來為了方便記憶,就將用0、1序列表示的機器指令都用符號助記,這些與機器指令一一對應的助記符就成了匯編指令,從而誕生了匯編語言。無論是機器指令還是匯編指令都是面向機器的,統稱為低級語言。因為是針對特定機器的機器指令的助記符,所以匯編語言是無法獨立於機器(特定的CPU體系結構)的。但匯編語言也是要經過翻譯成機器指令才能執行的,所以也有將運行在一種機器上的匯編語言翻譯成運行在另一種機器上的機器指令的方法,那就是交叉匯編技術。高級語言是從人類的邏輯思維角度出發的計算機語言,抽象程度大大提高,需要經過編譯成特定機器上的目標代碼才能執行,一條高級語言的語句往往需要若干條機器指令來完成。高級語言獨立於機器的特性是靠編譯器為不同機器生成不同的目標代碼(或機器指令)來實現的。那具體的說,要將高級語言編譯到什麼程度呢,這又跟編譯的技術有關了,既可以編譯成直接可執行的目標代碼,也可以編譯成一種中間表示,然後拿到不同的機器和系統上去執行,這種情況通常又需要支撐環境,比如解釋器或虛擬機的支持,Java程序編譯成bytecode,再由不同平台上的虛擬機執行就是很好的例子。所以,說高級語言不依賴於機器,是指在不同的機器或平台上高級語言的程序本身不變,而通過編譯器編譯得到的目標代碼去適應不同的機器。從這個意義上來說,通過交叉匯編,一些匯編程序也可以獲得不同機器之間的可移植性,但這種途徑獲得的移植性遠遠不如高級語言來的方便和實用性大。二、編譯與解釋編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背後的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。同時解釋器也有很大的缺點,比如執行效率低,佔用空間大,因為不僅要給用戶程序分配空間,解釋器本身也佔用了寶貴的系統資源。編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.1、編輯:用編輯軟體(EDIT.EXE或記事本)形成源程序(.ASM),如:LX.ASM; 2、匯編:用匯編程序(MASM.EXE)對源程序進行匯編,形成目標文件(.OBJ),格式如下:MASM LX.ASM; 3、連接:用連接程序(LINK.EXE)對目標程序進行連接,形成可執行文件(.EXE),格式如下:LINK LX.OBJ; 4、執行:如果結果在屏幕在顯示,則直接執行可執行文件。 5、調試:用調試程序(DEBUG.EXE)對可執行文件進行調試,格式如下:DEBUG LX.EXE1. 在具體計算機上實現一種語言,首先要確定的是表示該語言語義解釋的虛擬計算機,一個關鍵的問題是程序執行時的基本表示是實際計算機上的機器語言還是虛擬機的機器語言。這個問題決定了語言的實現。根據這個問題的回答,可以將程序設計語言劃分為兩大類:編譯型語言和解釋型語言。2. 由編譯型語言編寫的源程序需要經過編譯、匯編和鏈接才能輸出目標代碼,然後機器執行目標代碼,得出運行結果,目標代碼由機器指令組成,一般不能獨立運行,因為源程序中可能使用了某些......>>

② 計算機二級C語言都有哪些題型

全國計算機二級C語言程序設計包括40個單選題(每題一分)和三道操作題(60分)。


單選題中1~10題為二級公共基礎知識,考試內容包括數據結構與演算法、程序設計基礎、軟體工程基礎、資料庫設計基礎四部分。單選題的11~40題是C語言的內容。


操作題包括程序填空(18分)、程序改錯(18分)和編程題(24分)各一題。
程序填空是將一個完整的程序,扣掉兩到三處,讓考生將它填寫完整。由於每位考生具體抽到的題目不同,程序填空有2到3個空要填。程序填空題以實際填寫的內容為評分依據,填寫正確一個空,給一個空的分。如果是2個空,每個空就是9分;如果是3個空每個空是6分。
程序改錯也是一個完整的程序,其中有2~3處錯誤要求考生將他們改正。與程序填空類似,2處錯誤的話,每處9分,3處錯誤的話,每處6分。程序改錯題的題目會提示每一處錯誤所在的行,在那一行的上一行有********found********標識。
編程題是要求考生編寫一個程序,然後運行出題干要求的結果。題目中主函數main()會完整給出,在主函數中將調用fun()函數,fun函數由考生自己編寫。編程題以運行結果給分,所編寫完成後必須運行,否則沒分。因此,大多數情況下,編程題要麼就是得24分滿分,要麼就是0分。

③ 計算機二級c語言上機三道題都編譯運行出結果,而且結果都正確了為什麼還沒過

全國計算機等級考試二級c的程序題共有三道,分別是填空、改錯、編程,分值方面填空佔18分,改錯18分,編程24分,總分60分。而卷面總分(選擇+程序)60分以上,才會判定成績就合格,才能夠領到證書。

各題詳細答題方式和評分准則如下:

1、填空題:
答題方式:
在指定位置,也就是標記有類似
/********************found*************************/
for(i=0; ____1____ ; i++)
這種位置作答。
答題時,將「____1____」雙引號內的部分完全刪除,然後把作答的答案填補進去,也就是「將類似__1__這種位置標記替換為作答的答案」。

題面會給出「例如輸入***數據,得到***數據」的註解,可以藉此編譯運行程序,通過輸入和輸出的結果來判定程序是否正確。

評分准則:
填空題的評分准則並非以程序本身「能否正確運行」為准則,而是通過類似」對比答題的程序文本與命題組答案,逐行按比例給分「的方式來評分,也就是很多人所謂的「逐項(或逐個答題位置給分)「。

上述描述信息量過大,下面舉例說明:
①題面有明文要求,只允許在指定位置作答,不許添加或刪除空格、回車之類的字元,不許增減程序代碼行數,更不許改動題面的程序原始代碼。

例如:
題面如下:
int i,j,sum=0;
/**************found********************/
for(i=0; __1__ ;i++) //假設答案應為i<10或其他等價寫法
sum+=i;

答題後排版如下:
int i,j,sum=0;
/**************found********************/
for(i=0; i<10 ;i++) sum+=i; //注意這里刪除了一個回車符

卷面要求對應行數(第3行)應為
for(i=0; i<10 ;i++)
評分時判定該行內容為
for(i=0; i<10 ;i++) sum+=i;
文本與命題組答案不符,故該處答案不予給分。
同時,由於更改了行數,後續程序文本均會受影響,從而影響正常得分。

②關於上文中所謂的「命題組答案」
仍以
int i,j,sum=0;
/**************found********************/
for(i=0; __1__ ;i++) //假設答案應為i<10或其他等價寫法
sum+=i;
為例。

正確答案應該是i<10或其他等價寫法,那麼命題組會將各種「正常的」寫法作為命題組答案編撰以供評分。依舊舉例說明,等價寫法包括:
i<=9
i<9+1
i<=10-1
後續有無數種寫法就不一一例舉了
明顯只有i<10和<=9是正常寫法,後續寫法都過於奇葩,故此處在考試時只有寫入i<10或<=9才會得到正常的分數,其他寫法均不給分。

另外,這里無需擔心,命題組很貼心的將各種常見寫法都納入到」命題組答案「中,只要不是過於特立獨行的答案,均會在考試中得到本該有的分數。

總結:
填空題,在程序能夠「運行出正確的答案」,並且沒有違反①和②所強調的事項,均會得到本該有的分數。
①項通常不會違反,被此項影響得分的人數很少
②項不管是考試還是練習,在」能夠運行處正確的答案「前提下依舊丟分的幾乎全都是因為此項。
例如考試時,答案過於特立獨行,將i=i+1;寫成i=i+3-2;
而市面上絕大多數的等考模擬軟體,鑒於各種原因,都沒有使用」命題組答案「給出的姑且稱為」正確答案庫「的答案范圍,而是每個位置只給出一種在該模擬軟體中可以得分的答案寫法,其他」考試時將會正常得分「的答案寫法,造成考試時能夠得分但是在使用這些模擬軟體時均得不到分數的情況,也就是學生們經常詢問的問題:
」老師,i=i+1;和i+=1;不是一樣嗎?為什麼這道題寫i=i+1;才給分,另一道題只有寫i+=1;才給分?「

2、改錯題:
答題方式和評分准則完全等同與填空題,不再重復敘述

3、程序編寫,即俗稱的編程題:
答題方式:
題目中有明確敘述,要求書寫程序的某一部分,以實現題目要求的功能。通常要求書寫的位置是某個指定函數的函數體,或者部分主函數的函數體,代碼量6-10行左右。

評分准則:
編程題,評分依據是」能夠運行出正確的結果「,即評分依據有兩個關鍵點,一是運行,二是結果正確。
此題評分准則依舊是跟」命題組答案「對照,依舊是對比文本後逐行按比例給分,而命題組答案在此題中將會是唯一的。
編程題的評分依據,是程序編譯運行後得到的一個所謂的」out文件「,該文件在考生文件夾下,由編程運行時產生,文件名中通常帶有」out」字樣,各題具體的文件名,查看編程題中調用fopen函數時所書寫的文件名就可以確認。
例如某題面中存在如下語句:
fopen(fp,"out.dat",w);
那麼該題目對應的評分依據就是對應考生文件夾下的名為「out.dat」的文件。

編程題的評分,是將out文件的內容與命題組答案對比,逐行按比例給分。

影響得分的項目如下:
①程序存在error,無法通過編譯:
無法編譯,就無法運行。沒有運行,就不會產生out文件。沒有out文件,那麼將會得到「指定文件未找到」的錯誤,此題判0分。
另外還有一點要注意,有個別模擬軟體曾經出現過,題目中指定文件名為"out.dat",但是題面程序代碼中創建的卻是"ps35.out",造成「指定文件未找到」判0分的情況。這屬於模擬軟體的bug,不會在考試中發生。

②程序通過編譯且能夠運行,但是代碼本身存在bug。
舉個例子,寫程序找出1-15之間的素數。
命題組給出的out文件內容如下:
2
3
5
7
11
13
一共6行,因為編程題總分24分,所以每行佔4分。
如果考生答題過程中程序書寫沒有錯誤的話,一定會得到跟命題組內容與格式完全一樣的答案(文件的書寫由題面的fprintf函數負責,不允許考生改動,故文件格式是已經被指定的),將會得到滿分24分。
如果代碼有誤,程序判定過程中將7判定為非素數,得到的out文件內容與命題組答案對比及評分細則如下:
2 2 匹配,得4分
3 3 匹配,得4分
5 5 匹配,得4分
7 11 不匹配,得0分
11 13 不匹配,得0分
13 不匹配,得0分
故此題得分僅12分。
如果上述數值均正確判斷,但是錯誤的將1判斷為素數,out文件內容如下:
1
2
3
5
7
11
13
結果可想而知,逐行判定,最終肯定判0分。
額外要說明的是,大部分模擬軟體,不會進行逐行按比例給分,而是一旦out文件內容與命題組答案」不完全匹配「,直接判0分,而考試時一定是逐行按比例給分的,這點無需擔心。

③程序書寫正確無bug,但是改動過程序命令禁止改動的其他部分,例如fprintf函數,請參考②

總結:由於②導致該題丟分的幾率是最高的,一定要小心再小心。代碼出現問題時,別心急。很多時候,將已經書寫完畢的代碼整體刪掉,重新書寫,是最省事省力的解決bug的方案。

最後,補充一點,萬一程序原始結構被破壞,別著急,不要冒險關閉vc6,只要按下ctrl+z組合鍵,就能逐步恢復之前的樣式。因為ctrl+z組合鍵的功能是」撤銷「

閱讀全文

與編譯60分相關的資料

熱點內容
山東移動泰山伺服器雲主機 瀏覽:854
php調用當前類方法 瀏覽:616
怎麼委婉的表達感謝程序員 瀏覽:400
java資料庫統計 瀏覽:647
java完全自學 瀏覽:999
linuxpython執行cmd命令 瀏覽:454
帶12位DA的單片機 瀏覽:458
雲伺服器ecs不包括音效卡 瀏覽:989
互聯網程序員下班可以學嗎 瀏覽:125
通達信海洋狀態指標源碼 瀏覽:548
工作壓力大有什麼好的解壓方法 瀏覽:931
數字還可以怎樣加密 瀏覽:116
為什麼安卓沒白鳥 瀏覽:237
程序員投行 瀏覽:327
java多線程讀取文件 瀏覽:148
香港外貿伺服器有什麼好處 瀏覽:614
鄧倫參加密室大逃脫結果變成團寵 瀏覽:849
購買文件伺服器怎麼選擇 瀏覽:722
空調壓縮機高壓報警 瀏覽:502
u盤數控程序放哪個文件夾 瀏覽:856