二級C語言機試我做了填空題和改錯題,都執行出結果了,並顯示沒錯誤為什麼還是不及格啊

2021-04-02 12:48:08 字數 5263 閱讀 9513

1樓:匿名使用者

可能有警告 這個是要扣分的 一般回扣5-10分

2樓:匿名使用者

結果要對,並不是可以執行就算對!

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

3樓:匿名使用者

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

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

1、填空題:

答題方式:

在指定位置,也就是標記有類似

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檔案內容如下:23

571113

一共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檔案內容如下:12

35711

13結果可想而知,逐行判定,最終肯定判0分。

額外要說明的是,大部分模擬軟體,不會進行逐行按比例給分,而是一旦out檔案內容與命題組答案」不完全匹配「,直接判0分,而考試時一定是逐行按比例給分的,這點無需擔心。

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

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

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

4樓:匿名使用者

理論知識可能沒過

c語言的考試分為理論知識和上機操作

只有兩部分都達到60分考試才通過

5樓:匿名使用者

你得到的結果可能只是片面的。 對於其他測試資料不一定正確,所以可能還有bug

6樓:匿名使用者

執行正確不能說明你程式沒有問題

7樓:匿名使用者

你做出來了 但是你儲存好了嗎?

全國計算機等級考試二級c語言機試執行結果對,怎麼不及格??

8樓:匿名使用者

是這樣的,選擇和填空機器改卷,必須和標答一樣,才可能通過,程式設計40分,沒有步驟分,一般程式設計沒有做對,基本上機就不太可能通過的,c語言就是學程式設計,程式設計都不會,上機系統是不會通過的,下次加強程式設計的學習吧

9樓:懂了許多

考生沒有按要求實現,每一道題都有限定,題目讓用什麼方法就必須用什麼方法,否則系統會自動批為0分。

有時候,機器評分是會出現這樣的弊端的,即你的答案其實也正確,但是機器在檢索你的答案時,跟標準的填空沒對應上,就有可能會失分的。

知識擴充套件:

全國計算機等級考試二級c語言上機考試具有三種題型:程式填空、程式修改和程式設計,其中程式填空30分,程式修改30分,程式設計40分。

在複習該部分的時候,考生應該掌握以下兩個問題:

(1)對一維陣列的操作

對一維陣列進行操作的時候,不可避免的要訪問相關的陣列元素,在c語言中訪問陣列元素一般採取單層迴圈的方法進行遍歷,假設陣列長度為n,陣列下標是在0到(n-1)之間的,考生應該牢固掌握在一維陣列中求最大值、最小值,移動元素,查詢特定值,儲存陣列元素的方法。

(2)對字串的操作

該類問題是每次考試的重點和難點,特別是將字串同指標結合起來以後,難度就更大了。考生在解決此類問題是應特別注意字串的結束標誌』\0』,它不僅僅用

來作為字串的結束標誌,而且在對字串進行操作的時候,它也是迴圈的結束標誌。考生在複習該部分的時候,應該注意這樣的幾個基本問題:大小字母轉換、奇

偶數判別、刪除或新增指定的字元和字元的移動。此外,考生應該牢固掌握指標的特性及字串操作函式的使用和實現方法,特別是字串連線函式與求子串函式,

在以往的考試中多次要求考生自己編寫,考生應對該知識點做重點掌握。

10樓:匿名使用者

這個有可能發生的,不過二級c的程式是填空題跟改錯題,樓主是不是考的不是二級c啊。填空題跟改錯題你的答案必須跟標準的答案一一對應,有時候,機器評分是會出現這樣的弊端的,即你的答案其實也正確,但是機器在檢索你的答案時,跟標準的填空沒對應上,就有可能會失分的。所以,考試填空或改錯時,思路不要偏,考試多做幾次練習,通過一般還是沒問題的。

資料上以後可以選擇未來教育的看看

c語言二級題,求解,二級C語言題,急求解

首先func int a,int b,int c 的返回值是其三個引數之和.r func x y z,x y 它的三個引數分別是 x y z 6 x 2 y 3.所以是r func 6,2,3 引數之和是11 函式裡面形參 p會改變原來的值,int形式的不會改變,按照這個來算就行了 輸入是a 36,...

全國計算機二級c語言機試中的程式設計題如果不能寫全對,還會給

黑盒測試。按照結果給分。一般是用幾組資料,對應幾組結果。你對了幾組就得這一部分的分。但如果你是程式沒寫完或者編譯錯誤或者演算法關鍵性錯誤,執行不出結果的那就一分都沒有。計算機二級考試c語言中,如果我的程式設計題寫對了,分能夠得到嗎,二級c語言考試的時候是有源程式的,沒改革前是一共三道題,第一道是填空...

一道二級c語言題,求教,一道二級C語言題,求教

答案應該選c。呼叫fun1求平方,並強制轉換為int型別 呼叫fun2求和,並強制轉換為double型別。可以在main函式中加prinrf f w 來檢驗w的值。希望有所幫助。因為是int a b 所以w fun2 1,2 然後根據上面的函式 a a 求的fun2 1 2 1 2 1 2 5,最後...