版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022-2023年湖南省婁底市全國計算機(jī)等級考試C語言程序設(shè)計真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序
main()
{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是A.A.45B.20C.25D.36
2.有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&i,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0
3.已知有double型變量x=2.5,y=4.7,整型變量a=7,則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()。
A.2.4B.2.5C.2.75D.0
4.眾所周知數(shù)據(jù)結(jié)構(gòu)中非?;镜臉浣Y(jié)構(gòu)包括二叉查找樹(BST)。當(dāng)我們把如下序列:10,5,19,4,13,7,6,3,1按順序建立一棵BST時,樹的最大深度是?(令根節(jié)點深度為0,不執(zhí)行平衡二叉樹操作)()
A.5B.4C.3D.2
5.有以下程序:voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p)printf("%s\n",A);}程序執(zhí)行后的輸出結(jié)果是()。
A.ProhsbnB.PrphsbnC.ProgsbnD.Program
6.若已知一個棧的進(jìn)棧序列是1,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=n,則Pi(1<i<p)為()。
A.IB.n-iC.n-i+1D.不確定
7.下列數(shù)據(jù)模型中,具有堅實理論基礎(chǔ)的是()。
A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上3個都是
8.
9.設(shè)某無向圖中有n個頂點e條邊,則建立該圖鄰接表的時間復(fù)雜度為()。
A.O(n+e)B.O(n^2)C.O(ne)D.O(n^3)
10.算法的空間復(fù)雜度是指()。
A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲空間D.算法執(zhí)行過程中所需要的存儲空間
11.在一個具有n個結(jié)點的有序單鏈表中插入一個新結(jié)點并仍然保持有序的時間復(fù)雜度是()。
A.O(1)B.O(n)C.O(n2)D.O(nlog2n)
12.要求當(dāng)A的值為奇數(shù)時,表達(dá)式的值為“真”,A的值為偶數(shù)時,表達(dá)式的值為“假”,以下不滿足要求的表達(dá)式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)
13.以下敘述中正確的是()。
A.在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面
B.每個后綴為C的C語言源程序都可以單獨進(jìn)行編譯
C.在C語言程序中,只有main函數(shù)才可單獨進(jìn)行編譯
D.每個后綴為.C的C語言源程序都應(yīng)該包含一個main函數(shù)
14.若有序表的關(guān)鍵字序列為(b,c,d,e,f,g,q,r,s,t),則在二分查找關(guān)鍵字b的過程中,先后進(jìn)行的關(guān)鍵字依次為()
A.f,c,BB.f,d,BC.g,c,BD.g,d,B
15.若有定義floata=25,b,*p=&b;,則下列對賦值語句*p=a;和p=&a;的正確解釋為()。
A.兩個語句都是將變量a的值賦予變量p
B.*p=a是使p指向變量a,而p=&a是將變量a的值賦予變量指針p
C.*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量a
D.兩個語句都是使p指向變量a
16.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運行后的輸出結(jié)果是
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
17.有以下程序:#include<stdio.h>main(){inti=0.s=0;for(;;)if(i==3‖i==5)continue;if(i==6)break;i++;s+=i;}printf("%d\n",s);程序運行后的輸出結(jié)果是()。
A.10B.13C.21D.程序進(jìn)入列循環(huán)
18.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
19.線性鏈表中結(jié)點的結(jié)構(gòu)為(data,next)。已知指針p所指結(jié)點不是尾結(jié)點,若在*p之后插入結(jié)點*s,則應(yīng)執(zhí)行下列()操作。
A.s->next=p;p->next=s;
B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s;
D.p->next=s;s->next=p;
20.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}執(zhí)行程序時,給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
二、2.填空題(20題)21.以下程序的功能是找出三個字符串中的最大串。
【】
#include<stdio.h>
main()
{inti;
charstring[20],str[3][20];
(i=0;i<3;i++)gets(【】);
if(strcmp(str,str[0],str[1]>0)strcpy(string,str[0]);
elsestrcpy(string,str[1]);
if(strcmp(str[2],string)>【】)srtcpy(string,str[2]);
printf("Thelargeststringis\n%s\n",string);
}
22.常用的黑箱測試有等價分類法、【】、因果圖法和錯誤推測法4種。
23.若變量x、y已定義為int類型且X的值為33,y的值為3,請將輸出語句printf((),x/y);補充完整,使其輸出的計算結(jié)果形式為:x/y=11。
24.以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲單元中。請?zhí)羁铡?/p>
#include<conio.h>
#include<stdio.h>
intfun(int*s,intt,int*k)
{inti;
*k=0;
【】
if(s[*k]<s[i])*k=i;
return【】;}
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777},k;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);}
25.下面程序的功能是:計算1~10之間奇數(shù)和及偶數(shù)之和。
#include<stdio.h>
main()
{inta,b,c,i;
a=c=O;
for(i=O;i<=10;i+=2)
{a+=i;
【】;
c+=b;
}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);
}
26.以下程序的運行結(jié)果是______。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%51d\n",k);}
27.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
28.有以下程序:
main()
{intnum[4][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12),{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{for(j=0;j<=i;j++)printf("%4c",'');
for(j=______;j<4;j++)printf("%4d",num[i][j]);
printf("\n");
}
}
若要按以下形式輸出數(shù)組右上半三角:
1234
678
1112
16
則在程序下劃線處應(yīng)填入的是【】。
29.下面程序的輸出結(jié)果是______。
main()
{staticchara[]="language",b[]="program";
char*ptrl=a,*ptr2=b;
intk
for(k=0;k<7;k++)
if(*(ptrl+k)==*(ptr2+k))
printf("%c",*(ptr1+k));}
30.若有說明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)后,結(jié)果是______。
31.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
32.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9;【】)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;
}
puts(a);
printf("\n");
}
33.在E-R圖中,矩形表示【】。
34.在關(guān)系模型中,二維表的行稱為______。
35.若有定義:doubleW[10],則W數(shù)組元素下標(biāo)的上限為【】,下限為【】。
36.與結(jié)構(gòu)化需求分析方法相對應(yīng)的是【】方法。
37.以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第。列中,把a所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中的其他數(shù)據(jù)不變。
#defineN4
voidrotate(inta[][N],intb[][N])
{int,i,j;
for(i=0;i<N;i++)
{b[i][N-1]=【】;
【】=a[N-1][i];
}
}
38.設(shè)有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運行后,從鍵盤上輸入(<CR>代表回車符):CDEF<CR>BADEF<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。
39.順序存儲方法是把邏輯上相鄰的結(jié)點存儲在物理位置______的存儲單元中。
40.在程序設(shè)計階段應(yīng)該采取【】和逐步求精的方法,把一個模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計語言寫成程序。
三、1.選擇題(20題)41.有以下程序main()}inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d/n",s);}程序的輸出結(jié)果是
A.409B.277C.1D.91
42.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為______。
A.2B.3C.4D.5
43.指出下面不正確的賦值語句
A.a++;B.a==b;C.a+=b;D.a=1,b=1;
44.若有定義:“inta[2][3];”,則對a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
45.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項中錯誤的表達(dá)式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
46.簡單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
47.下面程序的輸出是______。chars[]="ABCD";main(){char*p;for(p=s;p<s+4;p++)printf("%s\n",p);}
A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA
48.下面這個程序段的時間復(fù)雜度是()。for(i=1;i<n;i++){y=y+3;for(j=0;j<=(2*n);j++)x++;}
A.O(log2n)
B.O(n)
C.O(nlog2n)
D.O(n2)
49.以下4組用戶定義標(biāo)識符中,全部合法的一組是
A._mainencludesin
B.If_maxturbo
C.txtREAL3COM
D.intk_2_001
50.設(shè)有定義inta;floatb;執(zhí)行scanf("%2d%f",&a,&b);語句時,若從鍵盤輸入876543.0<回車>,a和b的值分別是______。
A.876和543.000000
B.87和6.000000
C.87和543.000000
D.76和543.000000
51.有下列二叉樹,對此二叉樹中序遍歷的結(jié)果為()。
A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE
52.下面程序運行后的輸出結(jié)果是()。#include<stdio.h>main(){inta[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0;for(i=0;i<5;i++)s=s+b[a[i]];printf("%d\n”,s);}
A.12B.15C.11D.8
53.程序中已構(gòu)成如下圖所示的不帶頭結(jié)點的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點,指針變量s總是作為頭指針指向鏈表的第一個結(jié)點。若有以下程序段:q=s;s=s->next;p=s;while(p->next)p=p->next;p->next=q;q->next=NULL;該程序段實現(xiàn)的功能是()。
A.首結(jié)點成為尾結(jié)點B.尾結(jié)點成為首結(jié)點C.刪除首結(jié)點D.刪除尾結(jié)點
54.下面程序的運行結(jié)果是()。#include<stdio.h>main(){inta=1,b=10;do{b-=a;a++;}while(b--<0);printf("a=%d,b=%d\n",a,b);}
A.a=3,b=11B.a=2,b=8C.a=1,b=-1D.a=4,b=9
55.以下選項中,非法的字符常量是______。
A.'\t'B.'\17'C.\nD.'\xaa'
56.若有如下定義:unionaa{intn;charc[9];floatx;}a,b,c;則下列敘述中不正確的是()
A.unionaa是定義的共用體類型
B.a,b,c是定義的共用體類型名
C.n、c[9]和x是共用體的成員名
D.a,b,c是定義的共用體變量名
57.在C語言中,退格符是
A.\nB.\tC.\fD.\b
58.下面程序的運行結(jié)果是()。#include<stdio.h>voiddelch(char*s){inti,j;char*a;a=s;for(i=0,j=0;a[i]!='\0';i++)if(a[i]>='0'&&a[i]<='9'){s[j]=a[i];j++;}s[j]='\0';}main(){char*item="a34bc";delch(item);printf("\n%s",item);}
A.abcB.34C.a34D.a34bc
59.有以下程序:main(){inty=10;while(y--);printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是()。
A.y=0B.y=-1C.y=1D.while構(gòu)成無限循環(huán)
60.有以下程序main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}程序運行后的輸出結(jié)果是
A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5
四、選擇題(20題)61.
62.若變量已正確定義,有以下程序段:
其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)
63.
64.以下敘述中錯誤的是()。
A.可以通過typedef增加新的類型
B.可以用typedef將已存在的類型用一個新的名字來代表
C.用typedef定義新的類型名后,原有類型名仍有效
D.用typedef可以為各種類型起別名,但不能為變量起別名
65.若有定義語句:
66.對線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲,并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯Γ搓P(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼的檢索頻率排好序
67.下面不屬于需求分析階段任務(wù)的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測試計劃D.需求規(guī)格說明書評審
68.
69.以下程序段中的變量已正確定義:
程序段的輸出結(jié)果是()。
A.**B.****C.*D.********
70.
71.以下敘述正確的是()。A.C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))
B.C語言程序是由過程和函數(shù)組成的
C.c語言函數(shù)不可以單獨編譯
D.c語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在
72.某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有l(wèi)個,則該二叉樹的深度為(假設(shè)根結(jié)點在第1層)()。
A.3B.4C.6D.7
73.設(shè)有如下定義:char*aa[2]={"abcd","ABCD"};則以下說法中正確的是()。
A.aa數(shù)組成元素的值分別是"abcd"和ABCD"
B.aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組
C.aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址
D.aa數(shù)組的兩個元素中各自存放了字符’a’和’A’的地址
74.有以下程序程序運行后的輸出結(jié)果是()。
A.123456B.14C.1234D.12
75.
76.
77.
78.下列敘述中不正確的是。
A.算法的效率不僅與問題的規(guī)模有關(guān),還與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)
B.算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量
C.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的
D.算法的時間復(fù)雜度與空間復(fù)雜度不一定相關(guān)
79.
80.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.x=4B.X=8C.x=6D.x=12
五、程序改錯題(1題)81.給定程序中,函數(shù)fun的功能是:首先把b所指字符串中的字符按逆序存放,然后將a所指字符串中的字符和b所指字符串中的字符:按排列的順序交叉合并到C所指數(shù)組中,過長的剩余字符接在C所指的數(shù)組的尾部。例如,當(dāng)a.所指字符串中的內(nèi)容為“abcdef9”,b所指字符串中的內(nèi)容為“1234”時,c所指數(shù)組中的內(nèi)容應(yīng)“a4b3c2dlef9”;而當(dāng)a所指字符串中的內(nèi)容為“1234”,b所指字符串的內(nèi)容為“abcdef9”時,c所指數(shù)組中的內(nèi)容應(yīng)該為“l(fā)g2f3e4dcba”。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計題(1題)82.請編寫一個函數(shù)voidproc(chara[],charbE3,intn),其功能是:刪除一個字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪除后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。例如,輸入一個字符串student,然后輸入5,則調(diào)用該函數(shù)后的結(jié)果為studet。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.C解析:統(tǒng)計1~9九個數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針,C語言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個元素的地址。因此*(t+i)代表數(shù)組的第i+1個元素。程序運行的結(jié)果是1+2+3+4+5+6+7+8+9=25。
2.B變量J只接收輸入數(shù)據(jù)的前兩位,從第三位開始直到空格之間的輸入整數(shù)都會被保存到浮點型變量Y中。
3.B
4.B
5.A解析:在函數(shù)fun1()中,首先將形參p的內(nèi)容存入臨時指針q中,然后使用—個while循環(huán),當(dāng)q所指內(nèi)容不是字符串結(jié)束標(biāo)志'\\0\'時,讓q所指內(nèi)容增1,然后將指針q增1指向下一個位置。所以函數(shù)fun1()實現(xiàn)的功能是:將傳入字符串的所有字符自增1。主函數(shù),指針p在被傳入fun1()函數(shù)之前,初始化指向的是寧符數(shù)組a的第4個元素\'g\',所以最終輸出的結(jié)果應(yīng)該是Prohsbn。故應(yīng)該選擇A。
6.C
7.C在數(shù)據(jù)庫設(shè)計中,目前常用的數(shù)據(jù)模型主要有三種,分別是層次模型、網(wǎng)狀模型和關(guān)系模型。
層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。我們通常把滿足以下兩個條件的數(shù)據(jù)模型稱為層次模型。
(1)有且僅有一個結(jié)點無雙親,這個結(jié)點稱為根結(jié)點。
(2)其他結(jié)點有且僅有一個雙親。
層次模型用樹形結(jié)構(gòu)來表示各實體與實體間的聯(lián)系。實體是數(shù)據(jù)庫中數(shù)據(jù)描述的對象,可以是一個人、一種商品等。在層次模型中,每個結(jié)點表示一個記錄類型,記錄之間的聯(lián)系用結(jié)點之間的連線表示,這種聯(lián)系是父子之間一對多的聯(lián)系。記錄就是描述實體的相關(guān)數(shù)據(jù)。
如果取消層次模型中的兩個限制,即允許一個以上的結(jié)點無雙親,則每一個結(jié)點可以有多個父結(jié)點,便形成了網(wǎng)狀。我們把網(wǎng)狀表示實體之間聯(lián)系的模型稱為網(wǎng)狀模型。
關(guān)系模型用表格形式表示實體類型及其實體間的聯(lián)系。關(guān)系模型是目前最重要的一種模型,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的,具有最堅實的理論基礎(chǔ)。關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)是二維表,每一張二維表稱為一個關(guān)系。
8.A
9.A
10.D【解析】算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過程中的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲空間。如果額外空間量相對于問題規(guī)模來說是常數(shù),則稱該算法是原地工作的。在許多實際問題中,為了減少算法所占的存儲空間,通常采用壓縮存儲技術(shù),以便盡量減少不必要的額外空間。
11.B
12.D
13.BC語言是一種成功的系統(tǒng)描述語言,具有良好的移植性,每個后綴為.C的C語言源程序都可以單獨進(jìn)行編譯。
14.A
15.C解析:“p”是指針變量,指向一個地址:“*p”,為p指針?biāo)赶虻刂返膬?nèi)容。
16.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個逗號表達(dá)式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號表達(dá)式中第二個表達(dá)式的值,為1。
17.D解析:程序第1次執(zhí)行for循環(huán)時,i=0,兩條if語句中的表達(dá)式都不成立,執(zhí)行i++;s+=i;此時i為1,s為1第2次循環(huán),兩條if語句中的表達(dá)式也不成立,執(zhí)行i++,s+=i,此時i為2,s為3;……;當(dāng)i=3時,執(zhí)行continue,結(jié)束本輪循環(huán),不執(zhí)行i++;繼續(xù)執(zhí)行下一輪循環(huán),這樣一來i值始終為3,繼續(xù)continue,無終止條件,進(jìn)入死循環(huán)。
18.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
19.B
20.A函數(shù)fun()通過遞歸調(diào)用實現(xiàn)的功能為n+(n-1)+…+1,故程序的輸出結(jié)果為55。
21.#include<string.h>str[i]0
22.邊值分析法邊值分析法解析:本題考查了黑箱測試的方法。黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例。常用的黑箱測試有等價分類法、邊值分析法、因果圖法和錯誤推測法。
23.x/y=%dx/y=%d解析:本題考查prinff語句的輸出格式。printf()函數(shù)是格式化輸出函數(shù),一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。在編寫程序時經(jīng)常會用到此函數(shù)。printf()函數(shù)的調(diào)用格式為:printf('<格式化字符串>”,<參最表>)其中,格式化字符串包括兩部分內(nèi)容。一部分足正常字符,這些字符將按原樣輸出;另一部分是格式化規(guī)定字符,以“%”開始,后跟一個或幾個規(guī)定字符,用來確定輸出內(nèi)容格式。參量表是需要輸出的一系列參數(shù),其個數(shù)必須與格式化字符串所說明的輸出參數(shù)個數(shù)一樣多,各參數(shù)之間用“,”分開,且順序一一
24.for(I=0;I<t;I++)0for(I=0;I<t;I++),0解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算,此外,一開始應(yīng)使*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。
25.b=i+1
26.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或g=1或g=2是遞歸的終止條件,然后用回代的方法從一個已知值推出下一個值,直到計算出最終結(jié)果。
27.00解析:根據(jù)運算符的運算順序可知,該表達(dá)式最后運算的是與(&&)運算,而任何表達(dá)式與“0”進(jìn)行“與”運算,結(jié)果都為0。
28.ii解析:上三角的情況是對數(shù)組a[i][j],j≥j的時候,因此,在j≥i時應(yīng)輸出所需要的元素,故橫線上應(yīng)填i。
29.
30.-1-1解析:strcmp(s1,s2)函數(shù)的作用是:對字符數(shù)組s2和字符數(shù)組s1進(jìn)行比較。如果s1<s2,則返回負(fù)數(shù);如果s1==s2,則返回0;如果s1>s2,則返回正數(shù)。
31.軟件開發(fā)
32.j+=2a[i]>a[j]j+=2\r\na[i]>a[j]解析:由于要對偶數(shù)位進(jìn)行排位,所以空格處應(yīng)填。j+2,空13處是一個排序算法中的判斷語句,經(jīng)過分析后應(yīng)該填a[i]>a[j]。
33.實體實體解析:E-R模型中,有3個基本的抽象概念:實體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實體,菱形框表示聯(lián)系,橢圓形框表示屬性。
34.元組元組解析:在關(guān)系型數(shù)據(jù)庫中,用二維表來表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。
35.90
36.結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計解析:與結(jié)構(gòu)化需求分析方法相對應(yīng)的是結(jié)構(gòu)化設(shè)計方法。結(jié)構(gòu)化設(shè)計就是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各個成分之間的內(nèi)部聯(lián)系的技術(shù)。
37.a[0][i]b[i][0]a[0][i]b[i][0]解析:根據(jù)題意,第一處所在語句行的作用是把a數(shù)組中的第0行放到b數(shù)組的最后一列中,a數(shù)組的第0行用a[0][]來表示,所以第一處填a[0][i];第二所在語句行的作用是將a數(shù)組的最后一行放到b數(shù)組的第0列中,b數(shù)組的第0列用b[][0]來表示,所以,第二處應(yīng)填b[i][0]。
38.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán).s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲空間中,然后輸出字符數(shù)組t。
39.相鄰相鄰
40.自頂而下自頂而下
41.D解析:本題是計算50之內(nèi)的自然數(shù)相加之和,題中if語句括號中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個條件的只有15、30和45,因為s的初始值為1,所以s=1+15+30+45=91。
42.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關(guān)鍵碼與線性表中間位置結(jié)點的關(guān)鍵碼值進(jìn)行比較,這個中間結(jié)點把線性表分為兩個子表,比較相等則查找完畢,不等則根據(jù)查找結(jié)果確定下一步的查找應(yīng)該在哪一個子表中進(jìn)行,如此下去,直到找到滿足條件的結(jié)點:或者確定表中沒有這樣的結(jié)點。用二分法查找關(guān)鍵碼值11的順序如下所示,其中[]內(nèi)為本次栓索的子表,()內(nèi)為該子表的中間結(jié)果。從圖中可以看出,經(jīng)四次查找后,確定表中沒有這樣的結(jié)點。因此本題正確答案為選項C(4)。
第一次:[3,6,8,10,12,(15),16,18,21,25,30]
第二次:[3,6,(8),10,12],15,16,18,21,25,30
第三次:[3,6,8,[(10),(12)],15,16,18,21,25,30]
第四次:[3,6,8,10,[(12)],(15),16,18,21,25,30]查找失敗。
43.B解析:本題考核的知識點是賦值語句的正確使用。C語言中賦值語句是由賦值表達(dá)式加“;”構(gòu)成的.賦值表達(dá)式的形式為:變量:表達(dá)式;。選項A中a++相當(dāng)于a+1,是賦值語句;選項C和選項D也是賦值語句.只有選項B不是,因為選項B中“==”符號是等于的意思,并不是賦值運算符,所以,4個選項中B符合題意。
44.A解析:本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
45.C解析:A、D選項是關(guān)系運算表達(dá)式,在C語言中,只要關(guān)系運算符兩邊是合法的表達(dá)式就可以了。C選項中,%只能對整型進(jìn)行運算,其中對f進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,但是轉(zhuǎn)換的表達(dá)式錯了,應(yīng)為:(int)(f)。
46.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。
47.A解析:在第一次執(zhí)行for循環(huán)時,字符數(shù)組的首地址賦給了指針變量p,使得指針變量p指向了s的首地址,輸出p所指向的字符串;第二次執(zhí)行for循環(huán)時,p值增加1,p指向了s的第二個元素輸出BCD;第三次輸出CD;第四次輸出D;直到P指向字符串的結(jié)束字符“\\0”,for循環(huán)終止抽行。
48.D解析:語句的頻度指的是該語句重復(fù)執(zhí)行的次數(shù)。一個算法中所有語句的頻度之和構(gòu)成了該算法的運行時間。在本例算法中,語句①的頻度是n-1,語句②的頻度是(n-1)(2n+1)-2n2-n-1。則該程序段的時間復(fù)雜度是T(n)=n-1+2n2-n-1=O(n2)。
49.A解析:標(biāo)識符是以字母或下劃線開頭,由字母、數(shù)字或下劃線組成的字符序列(例如,-max含非法字符-),并且用戶標(biāo)識符不能與C語言中的32個關(guān)鍵字同名(例如,int是關(guān)鍵字,不是合法的用戶標(biāo)識符)。選項B中-max不是字母、數(shù)字或下劃線組成的字符序列;選項C中3COM不是由字母或下劃線開頭;選項D中int為C語言中的關(guān)鍵字;選項A中全部為合法的標(biāo)識符。
50.B解析:“%2d”指定輸入數(shù)據(jù)所占寬度為2,&是C語言中的求地址運算符。
51.B解析:對二又樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。在遍歷左,右子樹時,注意依舊按照“左子樹—根結(jié)點—右于樹”的順序。
52.A
53.A解析:因為剛開始時s指向a結(jié)點(鏈表頭),所以語句q=s;使q也指向a結(jié)點。s=s->next;語句使s指向a的下一個結(jié)點b。p=s;語句使p也指向b結(jié)點。接下來是一個while循環(huán),循環(huán)條件為p->next,即當(dāng)p沒有指向鏈表尾時執(zhí)行循環(huán)體p=p->next;讓p指向下一個結(jié)點,所以當(dāng)循環(huán)結(jié)束時,p指向鏈表尾(c結(jié)點)。執(zhí)行到此時,s、p、q分別指向的結(jié)點是b、c、a。然后執(zhí)行p->next=q;,使c結(jié)點的后續(xù)指針指向了a結(jié)點。最后執(zhí)行q->next=NULL;,使a結(jié)點的后續(xù)指針為NULL。由此可見,該程序段實現(xiàn)了將a結(jié)點移動到c結(jié)點之后,即首結(jié)點成為尾結(jié)點。故應(yīng)該選擇A。
54.B解析:本題考查兩個知識點:自加自減運算符和do-while循環(huán)語句。do-while循環(huán)條件是b--<0,所以循環(huán)體語句只執(zhí)行一次。
55.C解析:C語言中字符常量是以單引號括起來的單個字符,或為以“\\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個字符。
56.B
57.D解析:在C++語言中退格符表示為\\b退格。注意:其他轉(zhuǎn)義字符的意義:\\n表示回車換行,\\t表示橫向跳到下一制表位置,\\v表示豎向跳格,\\r表示回車,\\f表示走紙換頁,\\\\表示反斜線符,\\a表示鳴鈴,\\ddd1~3位表示八進(jìn)制數(shù)所代表的字符,\\xhh1~2位表示十六進(jìn)制數(shù)所代表的字符。
58.B解析:指針a通過數(shù)組元素下標(biāo)來從頭逐個的引用字符串item中的字符,判斷不是0~9之間的數(shù)字時,就去掉這個字符,所以程序結(jié)束后,字符串item中就只剩下34兩個字符了。注意:形參為指針變量時,實參和形參之間的數(shù)據(jù)傳遞。
59.B解析:本題中有一個陷阱,很多考生會根據(jù)程序的書寫格式來判斷:while循環(huán)的循環(huán)體為printf('y=%d\\n',y);語句。其實while的循環(huán)體是一條空語句,即y--后面的那個分號就是while的循環(huán)體。所以本題只要弄清楚表達(dá)式y(tǒng)--何時為“假”,即等于0,就能得出結(jié)果了。因為--運算符是后綴形式,所以表達(dá)式y(tǒng)--的值是y自減之前的值,即y等于。時,表達(dá)式y(tǒng)--就等于0了。但此時的y還要被減1,所以循環(huán)結(jié)束后,y的值為-1。故應(yīng)該選擇B。
60.B解析:主函數(shù)中先定義了一個整型變量a,一個字符變量c并賦初值10,一個浮點型變量f并賦初值100.00和一個double型x,接著執(zhí)行“a=f/=c*=(x=6.5)”,該語句從右向左計算,先把6.5賦值給x(該括號表達(dá)式的值也為6.5),此時x的值的變?yōu)?.5
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 有創(chuàng)意的年終總結(jié)
- 物料盤點標(biāo)準(zhǔn)化流程:精確管理
- 數(shù)碼店外墻涂料施工合同
- 工業(yè)園區(qū)外圍墻施工協(xié)議
- 城市商業(yè)中心停車場施工合同
- 旅游景區(qū)運營招投標(biāo)合同模板
- 五金交電招投標(biāo)管理要點
- 保險公司辦公費用內(nèi)控機(jī)制
- 校園消防演練方案
- 2022年大學(xué)海洋科學(xué)專業(yè)大學(xué)物理下冊月考試題-含答案
- 家用暖通合同范本
- 電工基礎(chǔ)知識培訓(xùn)課程
- 廣東省2024-2025學(xué)年高三上學(xué)期10月份聯(lián)考?xì)v史試卷 - 副本
- 2024年長春二道區(qū)公益性崗位招聘133名工作人員歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 工會采購管理制度
- 統(tǒng)編版六年級語文上冊《字音辨析》專項測試題帶答案
- 期中試卷(1~4單元)(試題)-2024-2025學(xué)年五年級上冊數(shù)學(xué)人教版
- module-5劍橋BEC商務(wù)英語-中級-課件-答案-詞匯講課教案
- 專題03立體幾何中的動點問題和最值問題(原卷版+解析)
- 中圖版2024-2025學(xué)年八年級地理上冊期中卷含答案
- 2025屆湖北省黃岡市黃岡市高三上學(xué)期9月調(diào)研考試一模英語試題(含答案解析)
評論
0/150
提交評論