一般在考二級C語言筆試的時候,題型只有選擇題和填空題。這兩種題型的解題方法有所不同,考生在備考時要深化對基本概念和知識點的理解,并注重實踐,同時要作一些針對性的練習(xí),特別是歷年真題,從中找出規(guī)律性的東西以及解題技巧。
一、選擇題這種類型的題,要求考生從四個待選答案中選擇一個正確答案。
考生可綜合運用直選法,排除法等多種方法。但是這類題目考的知識點往往都比較多且細(xì),容易出錯,考生在做這類題時,切忌不加分析,一看就選,從而漏掉正確的答案。
如2003年9月筆試第49題:
有以下程序
mai( ){ int a[3][3],?p,i;
p=&&a[0][0];
for
(i=0;i<9;i++)p[i]=i+1;
printf(“%dn”,a[1][2]);
}
程序運行后的輸出結(jié)果是
(A)3
(B)6
(C)9
(D)2
此題主要考的知識點有:
(1)數(shù)組與指針的關(guān)系;
(2)數(shù)組的初始化和數(shù)組元素的引用。
在C語言中,數(shù)組與指針有著非常密切的聯(lián)系。任何能用數(shù)組下標(biāo)完成的操作也都可以用指針來實現(xiàn)。
語句”p=&&a[0][0];”使p指向數(shù)組中的第0號元素,即a[0][0],指針變量p中存放了數(shù)組元素a[0][0]的地址,由于數(shù)組元素在內(nèi)存中是連續(xù)存儲的,因此,我們就可以通過指針變量p訪問數(shù)組中的任何一個元素。本題中通過”for (i=0;i<9;i++)p[i]=i+1;”語句使a[3][3]={1,2,3,4,5,6,7,8,9},所以a[1][2]=6.這里要特別注意C語言中數(shù)組的下標(biāo)從0開始,不要錯選a[1][2]=3.
二、填空題 填空題主要考查考生對基礎(chǔ)知識的準(zhǔn)確理解。
對于這類型的題,考生應(yīng)深刻理解題意,明確題目要求,運用相關(guān)知識做出正確回答。
在歷年考試中,考生這部分試題的得分直接決定考試成績。由于這部分共20個空,計40分,有的考生能得35~40分,而有的考生卻得不到10分,直接拉開了最后成績。
在判卷過程中發(fā)現(xiàn)考生常犯的錯誤有以下幾個方面:
1.基礎(chǔ)知識掌握不扎實,概念理解不準(zhǔn)確。
如2003年9月填空第8題:
main( ){int a=1,b=3,c=5;if
(c=a+b)printf (“yesn”);
else printf(“no”);
}
題目問程序運行后的輸出結(jié)果,答案應(yīng)是yes.因為”if (c=a+b)printf (“yesn”);”中的條件”c=a+b”是一個賦值語句,c的值為a+b=1+3=4,所以條件為真。而許多考生卻把賦值語句”c=a+b”理解為關(guān)系表達式”c==a+b”即5=1+3為邏輯假,故答no.
2.答案表述不準(zhǔn)確,會做的題卻不得分或少得分。
如第12題:
main( )
{int i,n[ ]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]?2+1;printf(“%d “,n[i]);
}
}
問程序運行后的輸出結(jié)果是____.
答案是”1 3 7 15″許多考生雖然寫對了但卻在每個數(shù)字后加了標(biāo)點而不得分如”1,3,7,15″或”1. 3. 7. 15″.
又如第19題:
以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串;
例如,
輸入字符串:
abc123edf456gh,執(zhí)行后輸出:123456.
請?zhí)羁眨?/span>
#include #include main( ){char s[80],d[80];
int i,j;
gets(s);
for(i=j=0;s[i]!=”
;i++)
if( )
{d[j]=s[i];j++} d[j]=” ;puts(d);
}
答案應(yīng)是s[i]<=’9’&&&&s[i]>=’0’或s[i]<=48&&&&s[i]>=57而許多考生卻把”>=”,”<=”寫成”≥”,”≤”導(dǎo)致不能得分。
3.注意答題卡的號碼并不是試題卷上的題號,而是填空的順序號。
許多考生答題時將答案張冠李戴,位置寫錯,白白丟了分。
總之,只要考生能準(zhǔn)確理解基本知識點,善于動手動腦多練習(xí),舉一反三,觸類旁通,就能從中找出規(guī)律性的東西,輕松通過筆試。