![2021年云南省保山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/19ea66d69126719a77ed86109479af17/19ea66d69126719a77ed86109479af171.gif)
![2021年云南省保山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/19ea66d69126719a77ed86109479af17/19ea66d69126719a77ed86109479af172.gif)
![2021年云南省保山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/19ea66d69126719a77ed86109479af17/19ea66d69126719a77ed86109479af173.gif)
![2021年云南省保山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/19ea66d69126719a77ed86109479af17/19ea66d69126719a77ed86109479af174.gif)
![2021年云南省保山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/19ea66d69126719a77ed86109479af17/19ea66d69126719a77ed86109479af175.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年云南省保山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.下列不屬于軟件工程的3個(gè)要素的是______。
A.工具B.過程C.方法D.環(huán)境
2.
3.若有以下程序
則程序的輸出結(jié)果是
A.China!B.toChina!C.meyoutoChina!D.youtoChina!
4.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()。
A.元素按值有序B.采用順序存儲結(jié)構(gòu)C.元素按值有序,且采用鏈?zhǔn)酱鎯Y(jié)構(gòu)D.元素按值有序,且采用順序存儲結(jié)構(gòu)
5.以下敘述中正確的是()
A.C程序由函數(shù)和過程組成B.C程序由主函數(shù)組成C.C程序由函數(shù)組成D.C程序中,主函數(shù)必須放在其他函數(shù)之前
6.下列二維數(shù)組初始化語句中,不正確的是()。
A.intb[][2]={1,2,3,4,5,6,7};
B.intb[3][5]={0,0,0};
C.intb[][4]={{1,2},{3,4,5},{6}};
D.intb[3][2]={(1,2),(3,4),(5,6)};
7.有以下程序:#include<stdio.h>voidfun(char*C,intd){*c=*c+1,d=d+1;printf(%"c%,c",*c,d);}main(){charb=aa=A;fun(&b,a);printf(%"c,%c\n",b,a);)程序運(yùn)行后的輸出結(jié)果是()。A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
8.下列敘述中錯(cuò)誤的是()。
A.C語言函數(shù)中定義的自動變量,系統(tǒng)不自動賦確定的初值
B.在C語言的同一函數(shù)中,各復(fù)合語句內(nèi)可以定義變量,其作用域僅限于本復(fù)合語句內(nèi)
C.C語言函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù)為其賦一次初值
D.C語言函數(shù)的形參不可以說明為static型變量
9.
10.下列敘述中正確的是()。
A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
11.參加百年阿里培訓(xùn)的n位同學(xué)結(jié)伴去西湖旁邊為游人指路,兩人一組,他們打算先讓體重之和恰好為102公斤的同學(xué)一組,請給出一個(gè)算法找到這樣的組合,或者確定他們中不存在這樣的組合,其中最優(yōu)的算法時(shí)間復(fù)雜度為?(假設(shè)體重均為整數(shù))()
A.O(log(n))B.O(n)C.O(nlog(n))D.O(n^2)
12.以下選項(xiàng)中能用作數(shù)據(jù)常量的是()。
A.115LB.0118C.1.5e1.5D.o115
13.在深度為5的滿二叉樹葉中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。
A.32B.31C.16D.15
14.
15.下列對于軟件測試的描述中正確的是()。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
16.一個(gè)順序棧一旦聲明,其占用空間的大小()。
A.已固定B.可以變動C.不能固定D.動態(tài)變化
17.若以“a+”方式打開一個(gè)已存在的文件,以下敘述正確的是()。
A.文件打開時(shí),原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作
B.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進(jìn)行重寫和讀操作
C.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫和讀操作
D.文件打開時(shí),原有文件內(nèi)容被刪除,只可進(jìn)行寫操作
18.
19.設(shè)有定義:#include<stdio.h>#include<stdlib.h>typedefstruct{intx,y;}T;typedefstruct{intx,y;}*USER;USERfun(){USERp;p=(USER)malloc(sizeof(T));p->x=1;p->y=2;returnp;}函數(shù)fun返回值的類型是()。
A.T類型的結(jié)構(gòu)體B.指向結(jié)構(gòu)體類型的指針C.int類型的元素D.int類型的指針
20.已知8個(gè)數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點(diǎn)的方法生成一棵二叉排序樹后,最后2層上的結(jié)點(diǎn)總數(shù)為______。
A.1B.2C.3D.4
二、2.填空題(20題)21.數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
22.以下sum函數(shù)的功能是計(jì)算下列級數(shù)之和。請給函數(shù)中的各變量正確賦初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
23.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲結(jié)構(gòu)必須是______。
24.以下程序從終端輸入一行字符放在s數(shù)組中,輸入以回車符作為結(jié)束,函數(shù)fun統(tǒng)計(jì)存放在s數(shù)組中每個(gè)數(shù)字字符的個(gè)數(shù)。形參ch指向s數(shù)組,形參n給出了s數(shù)組中字符的個(gè)數(shù)。在acc數(shù)組中用下標(biāo)為0的元素統(tǒng)計(jì)字符“0”的個(gè)數(shù),下標(biāo)為1的元素統(tǒng)計(jì)字符“1”的個(gè)數(shù),…。請?zhí)羁铡?/p>
#include<stdio.h>
voidfun(int*,char*,int);
main()
{chars[80],c;intacc[10],i=0;
printf("Entercharacters:\n");
while((c=getchar())!='\n')s[【】]=c;
fun(【】);
for(i=0;i<10;i++)printf("%c:%d\n",'0'+i,acc[i]);
printf("\n\n");
}
voidfun(int*a,char*ch,intn)
{inti,d;
for(i=0;i<10;i++)a[i]=【】;
for(i=0;i<n;i++)
{d=【】;a[d]++;}
}
25.—個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。
26.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
27.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請?zhí)羁铡?/p>
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
{m+=i*f;
f=______;
}
returnm;
}
main()
{printf("%d\n",【】);}
28.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。
29.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
30.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運(yùn)算。
31.下列程序的輸出結(jié)果是【】。
voidfun(int*n)
{while((*n)--);
printf("%d",++(*n));
}
main()
{inta=1000;
fun(&a);
}
32.若下面程序的輸出結(jié)果是4,請?zhí)羁铡?/p>
main()
{inti,j,k;
k=0;i=j=【】;
k+=-(i+j);printf("%d\n",k);
}
33.有以下程序:
voidf(inty,int*x)
{y=y+*x;*x=*x+y;}
main()
{intx=2,y=4;
f(y,&x);
printf("%d%d\n",x,y);
}
執(zhí)行后輸出結(jié)果是上【】。
34.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
35.長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動元素的平均個(gè)數(shù)為【】。
36.以下程序是從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們的和。請?zhí)羁铡?/p>
main()
{
inti,a[20],sum,count;
sum=count=【】;
for(i=0;i<20;i++)scanf("%d",【】);
for(i=0;i<20;i++)
{
if(a[i]>0)
{count++:
sum+=【】;
}
}
printf("sum=%d,count=%d\n",sum.count);
}
37.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號表達(dá)式)
while(s[i]){d[j]=【】;j++;}
d[j]=0;
38.以下程序運(yùn)行后的輸出結(jié)果是______。
fun(intx)
{if(x/2>0)fun(x/2);
printf("%d",x);
}
main()
{fun(6);}
39.設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
40.有以下程序:
#include<stdio.h>
main()
{charc;
while((c=getchar())!='?')putchar(--c);
}
程序運(yùn)行時(shí),如果從鍵盤輸入Y?N?<回車>,則輸出結(jié)果為【】。
三、1.選擇題(20題)41.有以下程序:voidsum(int*A){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是
A.4B.3C.2D.1
42.數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指()
A.數(shù)據(jù)與程序獨(dú)立存放
B.不同的數(shù)據(jù)被存放在不同的文件中
C.不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用
D.以上三種說法都不對
43.程序中若有如下說明和定義語句
Charfun(char*);
main()
{
char*s="one",a[5]={0}.(*f1)()=fun,ch;
…
}
以下選項(xiàng)中對函數(shù)fun的正確調(diào)用語句是
A.(*f1)(A);B.*fl(*s);C.fun(&A);D.ch=*fl(s);
44.若有說明intm[3][4]={3,9,7,8.5},(*q)[4];和賦值語句q=m;,則對數(shù)組元素m[i][j](其中0<=i<3,0<=j<4)值的正確引用為()。
A.(q+i)[j]B.*q[i][j]C.*(*q[i]+j)D.*(*(q+i)+j)
45.十六進(jìn)制數(shù)FF.1轉(zhuǎn)換成十進(jìn)制數(shù)是()
A.255.625B.250.1625C.255.0625D.250.0625
46.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是______。
A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上
47.為了提高軟件模塊的獨(dú)立性,模塊之間最好是()。
A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合
48.為了使模塊盡可能獨(dú)立,要求()。
A.內(nèi)聚程度要盡量高,耦臺程度要盡量強(qiáng)
B.內(nèi)聚程度要盡量高,耦合程度要盡量弱
C.內(nèi)聚程度要盡量低,耦合程度要盡量弱
D.內(nèi)聚程度要盡量低,耦合程度要盡最強(qiáng)
49.數(shù)據(jù)的存儲結(jié)構(gòu)是指______。
A.數(shù)據(jù)所占的存儲空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式D.存儲在外存中的數(shù)據(jù)
50.在下列選項(xiàng)中,______不是一個(gè)算法一般應(yīng)該具有的基本特征。
A.確定性B.可行性C.無窮性D.擁有足夠的情報(bào)
51.下列合法的字符型常量是()。
A.'\x13'B.'\081'C.'65'D.\n
52.設(shè)有定義:intn=0,*p=&n,**q=&p;則下列選項(xiàng)中正確的賦值語句是()。
A.p=1;B.*q=2;C.q=p;D.*p=5;
53.可在C程序中用作用戶標(biāo)識符的一組標(biāo)識符是A.and2007
B.Date_y-m-d
C.HiDr.Tom
D.caseBigl
54.關(guān)系模型允許定義三類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是()。A.A.實(shí)體完整性約束B.參照完整性約束C.域完整性約束D.用戶自定義的完整性約束
55.信息隱蔽的概念與下述哪一種概念直接相關(guān)()。
A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型劃分D.模塊耦合度
56.表示“在使用x之后,再使x的值加1”的正確方式是()
A.++xB.x++C.+xD.+x+
57.下列4組選項(xiàng)中,均不是C語言關(guān)鍵字的選項(xiàng)是______。
A.definesumtype
B.getccharprintf
C.includescanfcase
D.whilegopow
58.設(shè)有定義:structsk{inta;floatb;}data,*p;若有p=&data;,則對data中的a域的正確引用是()
A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a
59.以下程序的輸出結(jié)果是_______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7});Print("%d%d%d%d\n",a[0][3],a[l][2],a[2][1],a[3][0]);}
A.650B.1470C.5430D.輸出值不定
60.若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是()。main(){inta[50],n;fun(n,&a[9]);┆}
A.voidfun(intm,intx[])
B.voidfun(ints,inth[41])
C.voidfun(intp,int*s)
D.voidfun(intn,inta)
四、選擇題(20題)61.
有下列程序:
fun(intX,inty){return(x+y);}
main
{inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的輸出結(jié)果是()。
A.6B.7C.8D.9
62.以下關(guān)于return語句的敘述中正確的是()。
A.一個(gè)自定義函數(shù)中必須有一條return語句
B.一個(gè)白定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句
C.定義成void類型的函數(shù)中可以有帶返回值的return語句
D.沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處
63.
64.
65.下列敘述中正確的是()。
A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
66.有三個(gè)關(guān)系R、S和t如下:由關(guān)系R和s通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.笛卡兒積B.交C.并D.自然連接
67.
68.
69.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)
C.不允許使用GOTO語句
D.語言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
70.下列關(guān)于棧的描述錯(cuò)誤的是()。
A.棧按“先進(jìn)后出”組織數(shù)據(jù)B.棧是特殊的線性表,只能在一端插入或刪除數(shù)據(jù)C.棧具有記憶功能D.棧只能順序存儲
71.
72.以下選項(xiàng)中,不合法的C語言用戶標(biāo)識符是()。A.a-一bB.AaBeC.a_bD.一1
73.
74.下面程序段的運(yùn)行結(jié)果是()。
A.8B.12C.4D.7
75.C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B.if、switch、break
C.for、while、do-while
D.if、for、continue
76.設(shè)有定義:
則以下賦值語句中錯(cuò)誤的是()。
A.data2=(2,6);
B.data2=datal;
C.data;real=datal.real;
D.data2.real=datal.unreal;
77.在深度為5的滿二叉樹葉中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。
A.32B.31C.16D.15
78.
(19)關(guān)系表中的每一橫行稱為一個(gè)()
A.元組
B.字段
C.屬性
D.碼
79.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.AbcdefB.ABCDEFC.aBcDeFD.AbCdEf
80.
下列程序的輸出結(jié)果是()。
main
{inta,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
五、程序改錯(cuò)題(1題)81.假如整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。下列給定的程序中,函數(shù)proc()的功能是:刪除數(shù)列中值為x的元素。n中存放的是數(shù)列中元素的個(gè)數(shù)。請修改程序中的錯(cuò)誤,使它能夠得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號和成績組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組stu中,請編寫函數(shù)proc(),該函數(shù)的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
2.C
3.D該程序首先定義*a和b[],并進(jìn)行初始化。主函數(shù)中通過外層for循環(huán)語句,遍歷字符數(shù)組b[],并且將符合if條件語句的字符賦給數(shù)組p;for內(nèi)層循環(huán)語句,遍歷字符數(shù)組a[]。再將符合if條件語句的結(jié)果輸出。因此D選項(xiàng)正確。
4.D
5.C
6.D解析:在對二維數(shù)組元素賦初值時(shí),可以只對部分元素賦初值,未賦初值的元素自動取0;C語言規(guī)定,對于二維數(shù)組,只可以省略第1個(gè)方括號中的常量表達(dá)式,而不能省略第2個(gè)方括號中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。
在選項(xiàng)D)賦值表達(dá)式中,對每一維的元素賦初值應(yīng)用{},而不是()。
7.A本題考查了函數(shù)的調(diào)用。首先主函數(shù)定義了兩個(gè)字符型數(shù)據(jù)b和a,給b賦值為字母a.a(chǎn)賦值為字母A,調(diào)用fun(&.b,a)函數(shù),*C=*c十1,a的ASCIl碼值加1后為b,A的ASCIl碼值加1后為B。輸出第一組值,排除C、D選項(xiàng)。B選項(xiàng)的值此時(shí)為小b,排除B選項(xiàng),所以本題答案為A。
8.CA選項(xiàng)描述正確,自動變量未被賦初值,為隨機(jī)值;B選項(xiàng)描述正確,除在函數(shù)開始位置定義變量外,在復(fù)合語句內(nèi)也可以定義變量;C選項(xiàng)描述錯(cuò)誤,函數(shù)內(nèi)的靜態(tài)變量只在第1次調(diào)用時(shí)賦值,以后調(diào)用保留上次的值;D選項(xiàng)描述正確,形參屬于局部變量,占用動態(tài)存儲區(qū),而static型變量占用靜態(tài)存儲區(qū)。故本題答案為C選項(xiàng)。
9.C
10.D數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲結(jié)構(gòu),用的存儲結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲結(jié)構(gòu),其處理的效率是不同的。
11.B
12.AA選項(xiàng)中“115L”表示長整型數(shù)據(jù)。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B選項(xiàng)錯(cuò)誤。C選項(xiàng)中e后面應(yīng)該是整數(shù),而不能是小數(shù)1.5,所以C選項(xiàng)錯(cuò)誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是以數(shù)字“0”開始,而不是以字母“o”開始。故本題答案為A選項(xiàng)。
13.C根據(jù)二叉樹的性質(zhì)及定義,一棵深度為k且有2k-1個(gè)結(jié)點(diǎn)的二叉樹為滿二叉樹。滿二叉樹的葉子結(jié)點(diǎn)為最后一層的結(jié)點(diǎn)數(shù),又根據(jù)滿二叉樹的性質(zhì),在滿二叉樹的第i層上至多有2i-1個(gè)結(jié)點(diǎn)。因此深度為5的滿二叉樹的葉子結(jié)點(diǎn)數(shù)為25-1=16個(gè)。
14.D
15.C解析:關(guān)于軟件測試的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一書中給出了深刻的闡述:軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;一個(gè)好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例;一個(gè)成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測試。整體來說,軟件測試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。本題答案為C。
16.A
17.AC語言中,文件打開方式“a+”表示打開一個(gè)文本文件,從文件開始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時(shí)指定的文件名創(chuàng)建一個(gè)新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項(xiàng)。
18.D
19.B由題意可知:使用typedef將類型“struct{intx,y;}*”重命名為“USER”,所以函數(shù)fun的返回類型為“struct{intx,y;}*”,即指向結(jié)構(gòu)體類型的指針。故本題答案為B選項(xiàng)。
20.B
21.概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫概念設(shè)計(jì)階段)
22.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1s=1或給abs賦1或1.0或1.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1,s=1或給a,b,s賦1或1.0或1.解析:sum函數(shù)的功能是求表達(dá)式s的級數(shù)之和,該函數(shù)的大致思路是:在該函數(shù)中,定義了—個(gè)整型變量i用作循環(huán)計(jì)數(shù)器,定義一個(gè)變量a用來表示各個(gè)子項(xiàng)的分子,初始為第一個(gè)子項(xiàng)的分子,故為1,定義了一個(gè)變量b用來表示各個(gè)子項(xiàng)大分母,初始為第一個(gè)子項(xiàng)的分母,故為1,定義一個(gè)變量s存放累加和,初始為第一個(gè)子項(xiàng)的值即為1,然后給各個(gè)定義的變量初始化,然后通過一個(gè)for循環(huán)將題目中的數(shù)學(xué)表達(dá)式的各個(gè)子項(xiàng)求出來并累加到s中,所以說,在該題的空格處應(yīng)該填寫將a、b和s賦初值的語句,即為a=1;b=1;s=1:(說明:語句的順序可任意)或a=b=s=1;(說明:變量的順序可任意)或a=1,b=1,s=1(說明:賦值表達(dá)式的順序可任意)給a,b,s賦1或1.0或1都可以。
23.順序存儲(順序方式存儲)順序存儲(順序方式存儲)解析:二分法查找對表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲。
24.i++accsi0ch[i]-'0'
25.可重用性可重用性解析:繼承的優(yōu)點(diǎn):相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
26.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
27.fun中的答案為-fmain函數(shù)中的答案為fun(10)fun中的答案為-f,main函數(shù)中的答案為fun(10)解析:根據(jù)題意可知函數(shù)fun的功能是計(jì)算12+3-4+…+n的和,所以空格處應(yīng)填入-f,main函數(shù)中輸出1-2+3-4+…+9-10的結(jié)果,所以函數(shù)的實(shí)參為10,函數(shù)調(diào)用為fun(10)。
28.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。
29.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。
30.存儲結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運(yùn)算。
31.00解析:while循環(huán)的條件為即當(dāng)*n非零時(shí)執(zhí)行循環(huán),(*n)一是先使用*n的值再對*n減1,結(jié)束while循環(huán)后*n的值為-1。++(*n)是先對*n加1再使用*n的值,-1+1=0,輸出*n的值即輸出0。
32.-2-2解析:題目中定義并初始化了變量k為0,最后輸出k的值,要求為4,而在此期間只有k+=-(i+j);這條語句改變了k的值,即要求表達(dá)式-(i+j)的值為4。所以,答案應(yīng)該為-2,因?yàn)橹挥衖=j=-2時(shí),表達(dá)式-(i+j)的值才為4。
33.8484解析:函數(shù)f(y,*x)的作用是讓y的值加上指針x所指向變量的值,讓指針x所指向變量的值加上y的值。由于形參y是傳值的,形參x是傳地址的,故調(diào)用該函數(shù)后,作為實(shí)參的y的值將不改變,而實(shí)參x的值將改變,故最后輸出的y的值為4,而x的值為8。
34.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
35.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
36.0&a[i]a[i]0\r\n&a[i]\r\na[i]解析:本題要求從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),井計(jì)算它們的和。程序中首先要對存放正數(shù)個(gè)數(shù)的變量count及存放和值的變量sum初始化為0,所以第一空應(yīng)填0。接著要求從終端讀入數(shù)據(jù)到數(shù)組中,可以通過scanf函數(shù)實(shí)現(xiàn),因此第二空應(yīng)填&a[i]。最后通過sum+=a[i];語句累加正數(shù)a[i]的值到sum中,因此第三空應(yīng)填a[i]。
37.s[i++]s[i++]解析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來實(shí)現(xiàn)。
38.136136解析:本題考核的知識點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。
39.350350解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹的定義,在一棵完全二叉樹中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒有度為1的結(jié)點(diǎn)。本題中,完全二叉樹共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。
40.XX解析:程序是從鍵盤緩沖區(qū)循環(huán)接收字符,并輸出接收到的字符在ASCII碼表中的前一個(gè)字符,直到接收到‘?’為止。
41.A解析:本題考核的知識點(diǎn)是數(shù)組的定義、賦初值以及函數(shù)調(diào)用的組合應(yīng)用.本題中函數(shù)sum(int*A)的作用是:將形參a所指的數(shù)組中的第二個(gè)元素的值a[1]賦給第一個(gè)元素a[0]。主函數(shù)中定義一個(gè)長度為10的整型數(shù)組并賦初值,接著執(zhí)行一個(gè)for循環(huán),該循環(huán)共執(zhí)行了3次.當(dāng)i=2時(shí),調(diào)用函數(shù)sum(&aa[2]),主函數(shù)中將&aa[2]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[2]和aa[3],故執(zhí)行完該函數(shù)后將aa[3]的值賦給aa[2],即aa[1]=aa[3]=4,當(dāng)i=1時(shí),調(diào)用函數(shù)sum(&aa[1]),主函數(shù)中將&aa[1]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[1]和aa[2],故執(zhí)行完該函數(shù)后將aa[2]的值賦給aa[1],即aa[1]=aa[2]=4;當(dāng)i=0時(shí);調(diào)用函數(shù)sum(&aa[0]),,主函數(shù)中將&aa[0]作為實(shí)參傳給行參a,所以此時(shí)形參a所指的數(shù)組的第一個(gè)元素和第二個(gè)元素分別為aa[0]和aa[1],故執(zhí)行完該函數(shù)后將aa[1]的值賦給aa[0],即aa[0]=aa[1]=4;故最后輸出的aa[0]的值為4,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
42.D解析:在數(shù)據(jù)庫系統(tǒng)中,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性。即由于數(shù)據(jù)的存儲結(jié)構(gòu)與邏輯結(jié)構(gòu)之間由系統(tǒng)提供映象,使得當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改。二是邏輯獨(dú)立性。即由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)(它是總體邏輯結(jié)構(gòu)的一個(gè)子集,由具體的應(yīng)用程序所確定,并且根據(jù)具體的需要可以作一定的修改)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映象,使得當(dāng)總體邏輯結(jié)構(gòu)改變時(shí),其局部邏輯結(jié)構(gòu)可以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。由此可知,選項(xiàng)A.B與C中的說法都是錯(cuò)誤的。
43.A解析:在C語言中函數(shù)名代表該函數(shù)的入口地址,因此可以定義一種指向函數(shù)的指針來存放這種地址.其定義形式為:
函數(shù)類型(*函數(shù)指針名)(函數(shù)參數(shù)列表);
其中,函數(shù)參數(shù)列表可以省略。通過函數(shù)指針調(diào)用函數(shù)的形式為:
(*函數(shù)指針)(函數(shù)參數(shù)列表)
調(diào)用時(shí)函數(shù)的參數(shù)列表是不能省略的。所以本題的正確答案為選項(xiàng)A。
44.D解析:*(q+i)指向第i行首地址,*(*(q+i)+j)代表第i行第j個(gè)元素。
45.C
46.B解析:視圖設(shè)汁一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)
向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握,可以
單獨(dú)使用也可混合使用。
注意:數(shù)據(jù)庫概念設(shè)計(jì)的過程:首先選擇局部應(yīng)用,再進(jìn)行局部視圖設(shè)計(jì),最后
對局部視圖進(jìn)行集成得到概念模式。
47.D解析:耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),是互相關(guān)聯(lián)的。在程序設(shè)計(jì)中,各模塊間的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,有利于提高模塊的獨(dú)立性。
48.B
49.B解析:數(shù)據(jù)元素在計(jì)算機(jī)存儲空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。
50.C解析:作為一個(gè)算法,一般應(yīng)具有以下幾個(gè)基本特征。①可行性②確定性③有窮性④擁有足夠的情報(bào)
51.A解析:C語言的字符常量是用單引號(\')括起來的一個(gè)字符,也可以用以一個(gè)“\\”開頭的字符序列來表示字符常量。其中形式\\ddd表示1到3位8進(jìn)制數(shù)所代表的字符;形式\\xhh表示1到2位16進(jìn)制數(shù)所代表的字符。在本題中\(zhòng)'\\x13\'表示回車符,是一個(gè)字符常量;而\'\\081\'用8進(jìn)制數(shù)所代表的字符形式不正確,因?yàn)?進(jìn)制數(shù)所表示的字符中不會出現(xiàn)數(shù)字“8”;\'65\'單引號(即撇號)括起來的不是一個(gè)字符,而是一個(gè)十進(jìn)制數(shù)字;'\\n'是用雙引號括起來的一個(gè)字符,表示一個(gè)字符串,而不是字符常量。
52.D解析:選項(xiàng)A),B),C)的指針賦值表達(dá)方式都不正確,*p=5表達(dá)整數(shù)5放到指針p所指向的存儲單元中。注意:通過指針引用一個(gè)存儲單。
53.A解析:在C語言中,合法標(biāo)識符的命名規(guī)則是:標(biāo)識符可以由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線。C語言的標(biāo)識符可以分為關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語言關(guān)鍵字。
54.C數(shù)據(jù)約束是用來確保數(shù)據(jù)的準(zhǔn)確性和一致性的。常見的四種數(shù)據(jù)約束如下:
(1)實(shí)體完整性約束:規(guī)定表的每一行在表中是唯一的實(shí)體。
(2)域完整性約束:是指表中的列必須滿足某種特定的數(shù)據(jù)類型約束,其中約束又包括取值范圍、精度等規(guī)定。
(3)參照完整性約束:是指兩個(gè)表的主關(guān)鍵字和外關(guān)鍵字的數(shù)據(jù)應(yīng)一致,保證了表之間數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無意義的數(shù)據(jù)在數(shù)據(jù)庫中擴(kuò)散。
(4)用戶定義的完整性約束:不同的關(guān)系數(shù)據(jù)庫系統(tǒng)根據(jù)其應(yīng)用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個(gè)特定關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用必須滿足的語義要求。
在上述四種數(shù)據(jù)約束中,不屬于關(guān)系模型定義的三種數(shù)據(jù)約束的是域完整性約束。
55.B解析:信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。衡量軟件的模塊獨(dú)立性的度量標(biāo)準(zhǔn)是耦合性和內(nèi)聚性。一個(gè)模塊的耦合性越強(qiáng),則該模塊的模塊獨(dú)立性越強(qiáng)。
56.B
57.A解析:本題各選項(xiàng)中的關(guān)鍵字只有三個(gè):char,case,while。
58.B
59.A解析:對未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。
60.D解析:根據(jù)main函數(shù)中的fun函數(shù)調(diào)用語句可知,fun函數(shù)的第二個(gè)參數(shù)是一個(gè)地址值,對應(yīng)的形參可以是指針變量或一維數(shù)組,所以D)不正確。
61.C解析:函數(shù)fun(intx,inty)的功能是返回兩個(gè)整型數(shù)據(jù)的和。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用子函數(shù)的表達(dá)式為“fun(5,3);”,其返回
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年管子內(nèi)接項(xiàng)目投資可行性研究分析報(bào)告
- 曹家灘超大采高工作面壓力-位姿數(shù)據(jù)融合分析及應(yīng)用
- 自動代客泊車接受意愿及停車選擇行為研究
- 基于矢量相敏放大的全光信號格式轉(zhuǎn)換技術(shù)研究
- 基于ISSA-Fuzzy-PID的電驅(qū)動精量播種控制系統(tǒng)設(shè)計(jì)與試驗(yàn)
- 京津冀地區(qū)農(nóng)業(yè)生物多樣性分析研究
- 2025年中國礦物顏料行業(yè)市場全景分析及投資前景展望報(bào)告
- 爆破專項(xiàng)施工方案
- 電商物流信息系統(tǒng)的安全保障措施研究
- 2型糖尿病下肢血管病變病性證素分布及其與血清Galectin-3、IL-1β、IL-10水平相關(guān)性研究
- 2024算力工廠建設(shè)指南白皮書-33正式版
- 2024年廣州市中考語文試卷真題(含官方答案)
- 2024年吉林省吉林市中考一模物理試題(解析版)
- CJT 290-2008 城鎮(zhèn)污水處理廠污泥處置 單獨(dú)焚燒用泥質(zhì)
- 飛行員陸空通話(2)智慧樹知到期末考試答案章節(jié)答案2024年中國民航大學(xué)
- 內(nèi)審員審核規(guī)則與技巧
- 預(yù)應(yīng)力混凝土管樁(L21G404)
- Unit 2 Last weekend C Story time (教學(xué)設(shè)計(jì))人教PEP版英語六年級下冊
- 圖解《匠心筑夢職啟未來》主題團(tuán)日活動課件
- 2024年上海市普通高中學(xué)業(yè)水平等級性考試化學(xué)試卷(含答案)
- DZ∕T 0153-2014 物化探工程測量規(guī)范(正式版)
評論
0/150
提交評論