一、選擇題(1)~(10)每小題2分,(11)~(50)每小題1分,共60分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指________。
A)存儲(chǔ)在外存中的數(shù)據(jù) B)數(shù)據(jù)所占的存儲(chǔ)空間量
C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
答案:D
評(píng)析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。
(2)下列關(guān)于棧的描述中錯(cuò)誤的是________。
A)棧是先進(jìn)后出的線性表
B)棧只能順序存儲(chǔ)
C)棧具有記憶作用
D)對(duì)棧的插入與刪除操作中,不需要改變棧底指針
答案:B
評(píng)析:棧是一種特殊的線性表,又稱先進(jìn)后出表(FILO---First In Last Out)。
(3)對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是
________。
A)冒泡排序?yàn)閚2 B)冒泡排序?yàn)閚
C)快速排序?yàn)閚 D)快速排序?yàn)閚(n一1)/2
答案:D
評(píng)析:假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后掃描和n/2遍的從后往前掃描,需要比較次數(shù)為n(n-1)/2?焖倥判蚍ǖ淖顗那闆r比較次數(shù)也是n(n-1)/2。
(4)對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為________。
A)log2n B)n/2 C)n D)n+l
答案:C
評(píng)析:順序查找過程中,如果被查找的元素是線性表中的最后一個(gè)元素,或者元素不在線性表中,則需要與線性表中所有的元素進(jìn)行比較。對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較n次。
(5)下列對(duì)于線性鏈表的描述中正確的是________。
A)存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的
B)存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C)存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
D)存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
答案:A
評(píng)析:在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。
(6)下列對(duì)于軟件測(cè)試的描述中正確的是________。
A)軟件測(cè)試的目的是證明程序是否正確
B)軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C)軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D)軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
答案:C
評(píng)析:關(guān)于軟件測(cè)試的目的,Grenford J.Myers再《The Art of Software Testing》一書中給出了深刻的闡述,整體來說,軟件測(cè)試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。
(7)為了使模塊盡可能獨(dú)立,要求________。
A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
答案:B
評(píng)析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,有利于提高模塊的獨(dú)立性。
(8)下列描述中正確的是________。
A)程序就是軟件
B)軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
C)軟件既是邏輯實(shí)體,又是物理實(shí)體
D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
答案:D
評(píng)析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。
(9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn)之一,所謂數(shù)據(jù)獨(dú)立性是指________。
A)數(shù)據(jù)與程序獨(dú)立存放
B)不同的數(shù)據(jù)被存放在不同的文件中
C)不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用
D)以上三種說法都不對(duì)
答案:D
評(píng)析:數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫(kù)中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)與存取方式的改變不會(huì)影響應(yīng)用程序。選項(xiàng)A、B、C三種說法都是錯(cuò)誤的。
(10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是________。
A)關(guān)系模型 B)網(wǎng)狀模型 C)層次模型 D)以上三個(gè)都是
答案:C
評(píng)析:層次模型是最早發(fā)展起來的數(shù)據(jù)庫(kù)模型,它的基本結(jié)構(gòu)是樹形結(jié)構(gòu)。
(11)算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是________。
A)有窮性 B)簡(jiǎn)潔性 C)可行性 D)確定性
答案:B
評(píng)析:有窮性、確定性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出、有效性是算法的基本特性。
(12)以下選項(xiàng)中可作為c語(yǔ)言合法常量的是________。
A)-80. B)-080 C)-8e1.0 D)-80.0e
答案:A
評(píng)析:c語(yǔ)言的常量分為整型常量、實(shí)型常量和字符型常量。選項(xiàng)A屬于實(shí)型常量中的十進(jìn)制小數(shù)形式的表示法,是合法的。
(13)以下敘述中正確的是________。
A)用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B)用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要輸入
C)用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D)用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出
答案:C
評(píng)析:算法的特性中包括"有零個(gè)或多個(gè)輸入"及"有一個(gè)或多個(gè)輸出"這兩個(gè)特性。一個(gè)算法得到的結(jié)果就是算法的輸出,沒有輸出的算法是沒有意義的,所以一個(gè)算法必須至少有一個(gè)輸出。
(14)以下不能定義為用戶標(biāo)識(shí)符的是________。
A)Main B)_0 C)_int D)sizeof
答案:D
評(píng)析:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第一個(gè)字符必須是字母或下劃線。注意:大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符。A中Main與主i函數(shù)名main不同。
(15)以下選項(xiàng)中不能作為合法常量的是________。
A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0
答案:B
評(píng)析:指數(shù)形式的實(shí)型常量要求字每e(或E)之前必需有數(shù)字,且e后面的指數(shù)必須為整數(shù),所以本題中選項(xiàng)B非法。
(16)數(shù)字字符0的ASCII值為48,若有以下程序
main()
{char a="1",b="2";
printf("%c,",b++);
printf("%d\n",b-a);
)
程序運(yùn)行后的輸出結(jié)果是________。
A) 3,2 B)50,2 C)2,2 D)2,50
答案:C
評(píng)析l執(zhí)行語(yǔ)句"printf("%c,ll,b++);"后,b的值變成字符3,執(zhí)行"printf("%d\n",b-a);",即'3'-'1'。
(17)有以下程序
main( )
{
int m=12, n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序運(yùn)行后的輸出結(jié)果是________。
A)12353514 B)12353513 C)12343514 D)12343513
答案:A
評(píng)析:執(zhí)行"printf("%d%d"m++,++n);"后,輸出的是m和n+l的值1235,接著執(zhí)行
"printf("%d%d\n",n++,++m);"輸出n和m+l的值3514。
(18)有定義語(yǔ)句:int b;char c[10】;,則正確的輸入語(yǔ)句是________。
A) scanf("%d%s",&b,&C); B) scanf("%d%s",&b,C);
C) scanf("%d%s",b,C); D) scanf("%d%s",b,&C);
答案:B
評(píng)析:scanf函數(shù)中的"格式控制"后面應(yīng)當(dāng)是地址,而不是變量名。對(duì)于變量,通過地址運(yùn)算符"&"求出內(nèi)存中的地址;對(duì)于數(shù)組c[10],數(shù)組名c即為數(shù)組在內(nèi)存中的地址。
(19)有以下程序
main()
{int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,
則正確的輸入是________。
A) m。123n=456p=789 B) m=123 n=456 p=789
C) m=123,n=456,p=789 D) 123 456 789
答案:A
評(píng)析:根據(jù)本題的數(shù)據(jù)輸入形式"scanf("m=%dn=%dp=%d"&m,&n,&p);"說明在輸入數(shù)據(jù)時(shí),必須輸入"m="、"n="、"p="字符,且中間不能含有空格。
(20)有以下程序
main()
{ int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是________。
A)6,l B)2,l C)6,0 D)2,0
答案:B
評(píng)析:本題中"a=d/10%9;"的值為25/10%9=2; "b=a&&(-1);"為2&&(-1)=1(注意:-1表示真,只有O才表示假),所以a,b的值分別為2,1。
(21)有以下程序
main()
{
int i=1 j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d%d%d\n",i,j,k);
}
程序運(yùn)行后的輸出結(jié)果是________。
A)l 2 3 B)2 3 4 C) 2 2 3. D)2 3 3
答案:D
評(píng)析:執(zhí)行"i++==1&&(++j==3‖k++==3)"時(shí),表達(dá)式"i++==1"嗨值為真,其值為1,表達(dá)式"++j=3"的值為真,根據(jù)短路原理,右邊的表達(dá)式"k++==3"不再進(jìn)行運(yùn)算。括號(hào)中表達(dá)的值為l,作與運(yùn)算后整個(gè)表達(dá)式的值也為l,輸出i.j,k時(shí),由于未執(zhí)行過k,所以它們的值分別為2,3,3。
(22)若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是________。
A)l B)2 C)3 D)4
答案:A
評(píng)析:條件表達(dá)式的一般形式為:表達(dá)式17表達(dá)式2:表達(dá)式3
本題先求的是a<b的值,為真,所以整個(gè)表達(dá)式"a<b?a:c<d?c:d"的值為a的值1。
(23)有以下程序
main( )
{
int p[8]={11,12,13,14,15,16,17,18},i=O,j=0;
while(i++<7)if p[i]%2)j+-=p[i];
printf("%d\n",j);
}
程序運(yùn)行后的輸出結(jié)果是________。
A)42 B)45 C)56 D)60
答案:B
評(píng)析:本程序的作用是求除p[O]外的其它奇數(shù)的和。
(24)有以下程序
main()
{
char a[7]= "a0\OaO\0"; int i,j;
i=sizeof(a);j=strlen(a);
printf("%d%d\n",i,j);
)
程序運(yùn)行后的輸出結(jié)果是________。
A)2 2 B)7 6 C)7 2 D)6 2
答案:C
評(píng)析:c語(yǔ)言中以'\0'作為字符串的結(jié)束符,且strlen()函數(shù)計(jì)算的是'\0'字符前的所有字符的個(gè)數(shù)。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒有內(nèi)容。
(25)以下能正確定義一維數(shù)組的選項(xiàng)是________。
A)int a[5]={0,1,2,3,4,5; B)char a[]={0,1,2,3,4,5};
C)char a={'A','B','C'}; D)int a[5]="0123";
答案:B
評(píng)析:選項(xiàng)A中定義的是5個(gè)數(shù)組元素,但賦值的時(shí)候賦的是6個(gè)元素,所以出錯(cuò);選項(xiàng)c不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上"[]";選項(xiàng)D的類型說明符錯(cuò)誤,如果用char定義就對(duì)了;選項(xiàng)B中的0,1,2,3,4,5分別表示對(duì)應(yīng)字符的ASCII碼,所以選項(xiàng)B是正確的。
(26)有以下程序
int fl(int x,int y){return x>y?x:y;}
int f2(int x,int y){return x>y?y:x;}
main()
{
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d));f=fl(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);
)
程序運(yùn)行后的輸出結(jié)果是________。
A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7
答案:A
評(píng)析:函數(shù)n的功能是返回兩個(gè)數(shù)中比較大的值,f2的功能是返回兩個(gè)數(shù)中比較小的值。
(27)已有定義:char a[]="xyz",b[]={'x','y','z};,以下敘述中正確的是________。
A)數(shù)組a和b的長(zhǎng)度相同 B)a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度
C)a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度 D)上述說法都不對(duì)
答案:C
評(píng)析:c語(yǔ)言規(guī)定'\0'為字符串結(jié)束標(biāo)志。所以"char a[]="xyz""的數(shù)組長(zhǎng)度為4,而"b[]={'x','y','z'};"的數(shù)組長(zhǎng)度為3,數(shù)組長(zhǎng)度與strlen函數(shù)所求的長(zhǎng)度不同,本題是指數(shù)組占內(nèi)存空間的大小。
相關(guān)閱讀:
-----------------------------------------------
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前上機(jī)密卷2
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前上機(jī)密卷1
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(十)
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(九)
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(八)
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(七)
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(六)
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(五)
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(四)
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(三)
------------------------------------------------
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |