版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021年安徽省滁州市全國計算機等級考試C語言程序設計測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下程序輸出的結果是#include<stdio.h>#include<string.h>main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}
A.ABCDFGHKLB.ABCEFGUMC.EFGJKOD.FGHKL
2.如果一個函數(shù)位于C程序文件的上部,在該函數(shù)體內說明語句后的復合語句中定義了一個變量,則該變量().
A.為全局變量,在本程序文件范圍內有效
B.為局部變量,只在該函數(shù)內有效
C.為局部變量,只在該復合語句中有效
D.定義無效,為非法變量
3.
4.若有定義inta=5,b=7;,則表達式a%=(b%2)運算后,a的值為()。
A.0B.1C.11D.3
5.if語句的基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是A.A.必須是邏輯值
B.必須是整數(shù)值
C.必須是正數(shù)
D.可以是任意合法的數(shù)值
6.若有以下定義和語句:#include<stdio.h>charsl[10]=“abcd!”,*s2=“\nl23\\”;printf(“%d%d\n”,strlen(s1),strlen(s2));程序的運行結果是()。
A.107B.105C.55D.58
7.對于靜態(tài)表的順序查找法,若在表頭設置監(jiān)視哨,則正確的查找方式為()A.從第0個元素往后查找該數(shù)據(jù)元素
B.從第1個元素往后查找該數(shù)據(jù)元素
C.從第n個元素往開始前查找該數(shù)據(jù)元素
D.與查找順序無關
8.以下程序的輸出結果是______。
A.54321
B.12345
C.12345
D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}
9.設有一組關鍵字序列{5,8,14,20,31,55,78,81,93,97,111},使用二分(折半)法查找關鍵字93最少需要進行多少次比較()A.2B.3C.4D.5
10.下列定義中,不正確的有______。
A.#definePI3.141592
B.#defineS345;
C.intmax(x,y);
D.staticcharc;intx,y;{...}
11.以下程序的輸出結果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
12.字符串"alibaba"的二進制哈夫曼編碼有多少位()
A.11B.12C.13D.14
13.以下程序的輸出結果是()。unionmyun{struct{intx,y,z;)u;intk:}a;main{a.u.x=4;a.u.y=5;a.u.z=6;k=0;printf(%d\n",a.u.x);}A.4B.5C.6D.0
14.在深度為5的滿二叉樹葉中,葉子結點的個數(shù)為()。
A.32B.31C.16D.15
15.
16.有以下程序:#include<stdio.h>main(){inty=10;while(y--);printf(“y=%d\n”,y);}程序運行后的輸出結果是()。
A.y=0B.y=-1C.y=1D.while構成無限循環(huán)
17.設有表示學生選課的三張表,學生s(學號,姓名,性別,年齡,身份證號),課程c(課號,課名),選課SC(學號,課號,成績),則表sc的關鍵字(鍵或碼)為()。
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
18.
19.設有如下類型說明語句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結構體數(shù)組并賦初值的語句中錯誤的是()。
A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};
B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};
C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};
D.PERst[2]={1001,2008,8,1,1002,2006,5,20};
20.有以下程序:#include<stdio.h>main(){chara==‘0’,b=‘A’;inti;for(i=1;i<6;i++)if(i%2==0)putchar(a+i);elseputchar(b+i);}程序運行后的輸出結果是()。
A.A2A3BB.2B4DFC.B4CD7D.B2D4F
二、2.填空題(20題)21.有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請?zhí)羁眨瓜旅娉绦蚨蔚墓δ芘c之完全相同
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s=%f\n\n",s);
22.以下程序的輸出結果是【】。
main()
{charc=′z′;
printf("%c",c-25);}
23.某二叉樹中度為2的結點有n個,則該二叉樹中有【】個葉子結點。
24.以下程序運行后的輸出結果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
25.數(shù)據(jù)流圖的類型有【】和事務型。
26.函數(shù)pi的功能是根據(jù)以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+...+1(n*n)
現(xiàn)在請你在下面的函數(shù)中填空,完成求π的功能。
#include"math.h"
{doubles=0.0;longi;
for(i=1;i<=n;i++)s=s+【】;
return(sqrt(6*S));
}
27.軟件測試的方法有動態(tài)測試、靜態(tài)測試和【】13種。
28.不改變關系表中的屬性個數(shù)但能減少元組個數(shù)的是()。
29.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請?zhí)羁铡?/p>
main()
{intm,n,r;
scanf("%d,%d",&m,&n);
if(【】){r=m;m=n;n=r;)
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
30.設有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
charsi10],ti10];
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>,則程序的輸出結果是______。
31.下列程序的輸出結果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
}
32.無論對于順序存儲,還是鏈接存儲的棧和隊列來說,進行插入或刪除運算的時間復雜性均相同,則為【】。
33.若有定義inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。
34.若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的的輸出語句()。
35.軟件測試分為白箱(盒)測試和黑箱(盒)測試。等價類劃分法屬于【】測試。
36.下列程序段是從鍵盤輸入的字符中統(tǒng)計小寫字母的個數(shù),用換行符結束循環(huán)。請?zhí)羁铡?/p>
intn=0,c;
c=getchar();
while(c!='\n')
{if(______)
n++;
}
37.以下程序運行后輸出結果是【】。
#include<stdio,h>
voidswap(y)
{intt;
t=x;x=y;y=t:printf("%d%d",x,y);
}
main()
{ihta=3,b=4:
swap(a,b);prinff("%d%d",a,b);
}
38.算法的基本特征是可行性、確定性、【】和擁有足夠的情報。
39.數(shù)據(jù)庫系統(tǒng)的主要特點為數(shù)據(jù)集成性、數(shù)據(jù)的高______和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理和控制。
40.一個算法的空間復雜度是指該算法所耗費的【】。
三、1.選擇題(20題)41.將E-R圖轉換到關系模式時,實體與實體間的聯(lián)系可以表示成()。
A.屬性B.關系C.鍵D.域
42.有以下程序voldsoru(inta[],intn){inti,i,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[i];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10),i;sore(aa+2,5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運行后的輸出結果是
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
43.以下能正確定義二維數(shù)組的是()。
A.inta[][3];
B.inta[][3]={2*3};
C.inta[][3]={};
D.inta[2][3]={{1},{2},{3,4}}:
44.在面向對象的方法中,一個對象請求另一個對象為其服務的方式是通過發(fā)送()。
A.調用語句B.命令C.口令D.消息
45.軟件調試的目的是______。
A.發(fā)現(xiàn)錯誤B.改正錯誤C.改善軟件的性能D.挖掘軟件的潛能
46.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"}*p=str;printf("%\n",strlen(p+20));}程序運行后的輸出結果是
A.0B.5C.7D.20
47.結構化程序設計方法的3種基本控制結構中不包括
A.循環(huán)結構B.遞歸結構C.順序結構D.選擇結構
48.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch((int)x);{case1:printf("*\n");case2:printf("**\n");}
C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}
D.switch(a+b){case1:printf("*\n");casec:printf("**\n");}
49.下列描述中正確的是()。
A.在C語言程序中預處理是指完成宏替換和文件包含指定的文件的調用
B.預處理指令只能位于C源程序文件的首部
C.預處理命令可以放在程序中的任何位置
D.預處理命令結尾需要加分號
50.有以下程序:inta=2;intf(int*a){return(*a)++;)main(){ints=0;{inta=5;s+=f(&a);}s+=f(&a);printf("%d\n',s);}執(zhí)行后輸出結果是()。
A.10B.9C.7D.8
51.下列敘述中錯誤的是()。
A.一種數(shù)據(jù)的邏輯結構可以有多種存儲結構
B.數(shù)據(jù)的存儲結構與數(shù)據(jù)的處理效率無關
C.數(shù)據(jù)的存儲結構與數(shù)據(jù)的處理效率密切相關
D.數(shù)據(jù)的存儲結構在計算機中所占的空間不一定是連續(xù)的
52.若有以下定義和語句:ints[4][5],(*ps)[5];ps=s;則對s數(shù)組元素的正確引用形式是
A.ps+1B.*(ps+3)C.ps[0][2]D.*(ps+1)+3
53.下列選項中合法的賦值語句是()。
A.a-b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);
54.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運行的結果是()。
A.234B.432C.23D.4534554334344523
55.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
56.第
13
題
設有程序段
intk=10;
while(k=0)k=k-1;
則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次
57.下列程序的輸出結果是()。main(){inti=1,j=2,k=3;if(i++==1&&(++j==3‖k++==3))printf("%d%d%d\n",i,j,k);}
A.123B.234C.223D.233
58.不能把字符串“Hello!”賦給數(shù)組b的語句是________。
A.charb[10]={'H','e','1','l','o','!'};
B.chsrb[10]={'h','e','1','1','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.chgrb[10]="Hello!";
59.有如下程序:main{intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++.b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結果是()。
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
60.若執(zhí)行下列的程序時,從鍵盤上輸入1和2,則輸出結果是()。#include<stdio.h>main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;S=S*S,printf("%d\n",s);}
A.1B.4C.2D.9
四、選擇題(20題)61.
62.有以下程序:
執(zhí)行后輸出結果是()。
A.58B.56C.45D.24
63.設x、y和z是int型變量,且x=4,y=6,z=8,則下列表達式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||164.在長度為n的有序線性表中進行二分法查找,最壞情況下需要比較的次數(shù)是()。A.O(n)B.0(n2)C.O(log2n)D.O(nlog2n)
65.在數(shù)據(jù)管理技術發(fā)展的三個階段中,數(shù)據(jù)共享最好的是()。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個階段相同
66.
67.下列關系運算中,能使經運算后得到的新關系中屬性個數(shù)多于原來關系中屬性個數(shù)的是()。
A.選擇B.連接C.投影D.并
68.若有以下的說明和語句,則在執(zhí)行for語句后,’(*(pt+1)+2)表示的數(shù)組元素是()。
intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];A.A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]69.若希望下列的程序運行后輸出25,程序空白處的正確選項是()。
main
{inti,j=50,a[]=(7,4,10,5,8};
for()
j+=a[i];
printf("%d",j-40);
}A.i=1;i<4;++i
B.i=l;i<3;++ic.i="4;i">2;i--
D.i=2;i<4;++i
70.
71.設有下列二叉樹:
對此二叉樹中序遍歷的結果為()。
A.ACBDEFB.DEBFCAC.ABDECFD.DBEAFC
72.以下程序段中,與語句“k—a>b?(b>c?1:O):0;”功能相同的是()。
A.if(a>b)(b>c)k=1;elsek=0;
B.if((a>b)‖(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b>c)k=1;
D.if(a>b)k=1;elseif(b<=c)k=1;elsek=0:
73.
74.在一個C程序中
A.main函數(shù)必須出現(xiàn)在所有的函數(shù)之前B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有的函數(shù)之后D.main函數(shù)必須出現(xiàn)在固定位置
75.若有定義:inta,h;通過語句:scanf(”%d;%d”,&a,&B.;,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
76.下列程序的輸出結果是
intb=2;
intfunc(int*a)
{b+=*a;return(b);}
main()
{inta=2,res=2;
res+=func(&a);
printf("%d\n",res);
}A.2
B.4C.6
D.8
77.下列數(shù)據(jù)模型中,具有堅實理論基礎的是()。
A.層次模型B.網(wǎng)狀模型C.關系模型D.以上3個都是
78.
79.
80.以下程序的運行結果是
#defineMIN(x,y)(x)<(y)?(x):(y)
main()
{
inti=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A.10B.15
C.100D.150
五、程序改錯題(1題)81.下列給定程序是建立一個帶頭結點的單向鏈表,并用隨機函數(shù)為各結點數(shù)據(jù)域賦值。函數(shù)proc()的作用是求出單向鏈表結點(不包括頭結點)數(shù)據(jù)域中的最大值,并且作為函數(shù)值返回。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun,其功能是:刪除字符串中所有的*號。編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。
例如,字符串中的內容為“****A*BC*DEF*G****”,刪除后,字符串中的內容應當是“ABCDEFG”。
注意:部分源程序給出如下。
請勿改動maini)函數(shù)和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(chara)
{
voidmain
{
chars[81];
print{("Enterastring:\n");
gets(s):
fun(S);
printf("Thestringafterdeleted:\n");
puts(s);
}
參考答案
1.D當k=1時,引用的是二維數(shù)組元素w[1][1],值為字符串“FGH”;當k=2時,引用的是數(shù)組元素w[2][2],即字符串“KL”;當k=3時,結束程序的執(zhí)行。注意:字符串數(shù)組的定義。
2.C
3.B
4.A解析:本題考查'%'運算符的使用。運算符'%'要求兩個運算對象都為整型,其結果是整數(shù)除法的余數(shù)。本題中表達式ao%=(b%2)等價于a=a%o(b%2)=5%(7%2)=5%1=0。
5.D
6.Cstrlen函數(shù)返回字符串的長度。求字符串長度時,遇到結束標識‘\\0’為止,但是長度不包括結束標識。字符數(shù)組s1的后5個元素沒有賦值,都為‘\\0’,即“abcd!”后為‘\\0’,所以“strlen(s1)”的值為5。字符指針s2所指向的字符串中,“\\n”為轉義字符,代表換行符,是1個字符,“\\\\”也為轉義字符,代表“\\”,也是1個字符,其后為字符串結束標識‘\\0’,所以“strlen(s2)”的值也為5。故本題答案為C選項。
7.C
8.B
9.A
10.C
11.C解析:本題考查按位與“&”。因為1&1=1,0&0=0,所以任何數(shù)與自身按位與,結果仍為此數(shù),不發(fā)生變化。
12.C
13.D因為a是結構體變量,最后一次輸入的值為結構體中的值,即a中的任何一個值都為0。
14.C根據(jù)二叉樹的性質及定義,一棵深度為k且有2k-1個結點的二叉樹為滿二叉樹。滿二叉樹的葉子結點為最后一層的結點數(shù),又根據(jù)滿二叉樹的性質,在滿二叉樹的第i層上至多有2i-1個結點。因此深度為5的滿二叉樹的葉子結點數(shù)為25-1=16個。
15.B
16.B執(zhí)行“y--”直到值為0。退出循環(huán)。由于“y--”是后綴自減運算,先使用再自減,因此退出循環(huán)時,y的值為-1。故本題答案為B選項。
17.C學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C項。
18.C
19.A結構體PER類型定義了兩個成員:num為整型,date為嵌套的結構體類型。初始化時,成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號標注的嵌套的3個整數(shù)。選項A中,{1001}和{1002}都不是整數(shù),所以選項A錯誤。故本題答案為A選項。
20.D程序首先定義字符變量a并賦初值‘0’,定義字符變量b并賦初值‘A’。然后執(zhí)行for循環(huán),當i為偶數(shù)時,輸出字符“a+i”;當i為奇數(shù)時,輸出字符“b+i”。因為數(shù)字和字母的ASCII值都是按順序遞增的,所以本題輸出為B2D4F。故本題答案為D選項。
21.k<=nk++k<=n\r\nk++解析:本題要求將一個for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會加1,而while循環(huán)則沒有,故需在循環(huán)體中增加改變k數(shù)值的語句“k++;”。
22.aa解析:'z'的ASCII碼值為122,經過c-25運算后,得97,以字符形式輸出是a。
23.n+1n+1解析:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為0的結點多一個。
24.11解析:因為在條件表達式(a<b)?a:b中,比較表達式a<b為真,所以x的值等于a的值等于1,后面兩個條件表達式中的比較表達式都為真,所以最終x的值等于1。
25.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務型。變換型是指信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內部形式,進入系統(tǒng)的信息通過變換中心,經加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務。
26.0/(i*i)或(double)1/(i*i)0/(i*i)或(double)1/(i*i)解析:表達式1+1/(2*2)+1/(3*3)+...+1(n*n)可寫為1/(1*1)+1/(2*2)+1/(3*3)+...+1(n*n)
n
即:∑1÷(i×i)
i=1
對應的C語言的表達式s=s+1.0/(i*i)。注:必須要寫成1.0的形式,否則1/(i,i)返回值為其值截尾取整,即恒為0。
27.正確性測試正確性測試
28.選擇選擇解析:關系數(shù)據(jù)庫的專門關系運算包括選擇、投影和連接3種,其中選擇不改變關系表中的屬性個數(shù)但能減少元組個數(shù)。
29.m<n或n>mr或r!=0m<n或n>m\r\nr或r!=0解析:本題使用的是“輾轉相除”法求兩個數(shù)的最大公約數(shù),即以兩個數(shù)中較大的除以較小的,如果余數(shù)不為0,則將較小的數(shù)和余數(shù)做同樣處理,直到被除斷為止,此時較小的數(shù)就是兩個數(shù)的最大公約數(shù)。本題第一空要求填寫一個if語句的判斷條件,如果滿足此條件則交換m和n的值,再看后面while循環(huán)的循環(huán)體,使用m%n求余,則此if語句的作用應該是保證m是兩個數(shù)中較大的那個,故第一空填m<n或n>m。接下來的while循環(huán)實現(xiàn)整個輾轉相除的過程,其結束條件應該是余數(shù)r為0,所以while的循環(huán)條件應該填r或r!=0。
30.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0;若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組,所指字符串的內容復制到字符數(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所指字符串的內容復制到字符數(shù)組t所指的存儲空間中,然后輸出字符數(shù)組t。
31.44解析:本題考查函數(shù)的遞歸調用.在主函數(shù)中第1次調用于函數(shù)是調用的fun(11),返回11-fun(9);第2次調用于函數(shù)是調用的fun(9),返回9-fun(7);第3次調用于函數(shù)是調用的fun(7),返回7-fun(5):第4次調用子函數(shù)是調用的fun(5),返回5-fun(3):第5次調用于函數(shù)是調用的fun(3),返回3-fun(1):第6次調用于函數(shù)是調用的fun(1),返回3??偟姆祷刂凳牵?1-(9-(7-(5-(3-3))))=4.
32.O(2)
33.00解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個一維數(shù)組都有4個元素,a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。
34.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數(shù)的一般格式為:“printf(格式控制,輸出表列)”。
35.黑箱或黑盒黑箱或黑盒解析:黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設計測試用例,它不考慮程序的內部結構和處理過程。常用的黑箱測試技術分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
36.c>='a'&&c<='z'c>='a'&&c<='z'解析:小寫字母在內存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>='a'&&c<='z'判斷是不是小寫字母;c!='\\n'判斷是用換行符結束循環(huán)。
37.43344334解析:程序將變量a,b的值傳給函數(shù)swap的形參x,y,并在函數(shù)中對x,y的值進行交換,所以在函數(shù)swap中輸出x,y的值4,3,由于c程序的函數(shù)是僧傳遞,實參a,b的值不會隨形參x,y的改變而改變,所以在主函數(shù)中輸出的a,b的值為3,4。
38.有窮性有窮性解析:算法有四個基本特征:可行性、確定性、有窮性和擁有足夠的情報。
39.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應用程序使用,實現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
40.存儲空間存儲空間解析:空間復雜度是指算法在執(zhí)行過程中臨時占用的存儲空間大小,包括:①算法本身所占用的存儲空間;②算法的輸入輸出數(shù)據(jù)所占用的存儲空間;③算法在運行過程中臨時占用的存儲空間。
41.B解析:將E-R圖轉換成指定RDBMS中的關系模式是數(shù)據(jù)庫邏輯設計的主要工作。從E-R圖到關系模式的轉換是比較直接的,實體和聯(lián)系都可以表示成關系。
42.C解析:先看sort()函數(shù),它沒有返回值,有兩個參數(shù),一個int型數(shù)組和一個int型變量。在函數(shù)中是一個;重循環(huán),外循環(huán)變量i從0遞增到n-2,內循環(huán)變量j從i+l遞增到n-1。內循環(huán)體是一條if語句“如果a[i]
43.B解析:(1)二維數(shù)組的定義
二維數(shù)組的定義方式為:類型說明符數(shù)組名[常量表達式][常量表達式]。
二維數(shù)組在內存中是按行優(yōu)先的順序存放的,即先存放第一行的元素,再存放第二行的元素,依次類推。
(2)二維數(shù)組元素的引用
二維數(shù)組元素的表示形式為:數(shù)組名[下標][下標],下標可以是整型常量或整型表達式其范圍為:0~(常量表達式-1)。
(3)二維數(shù)組的初始化
可以用以下方法對二維數(shù)組元素初始化:
①分行給二維數(shù)組賦初值
例如:inta[2][2]={{1,2},{3,4}};
這種賦值方式比較直觀,把第1個大括號內的數(shù)據(jù)賦給第1行的元素,第2個大括號內的數(shù)據(jù)賦給第2行的元素,即按行賦值。
②可以將所有數(shù)據(jù)寫在一個大括號內,按數(shù)組排列的順序對各個元素賦初值。
③可以對部分元素賦初值,沒有初始化的元素值為0。
④如果對全部數(shù)組元素賦初值,則定義數(shù)組時對第一維的長度可以不指定,但第二維的長度不能省略。
44.D解析:在面向對象方法中,對象之間通過消息進行通信。消息中只包含傳遞者的要求,它告訴接受者需要做哪些處理,但并不指示接受者應該怎么完成這些處理,接受者獨立決定采用什么方式完成所需的處理。
45.B解析:在對程序進行測試時會發(fā)現(xiàn)錯誤,這就要進行程序調試(排錯)。程序調試活動由三部分組成:一是錯誤定位,根據(jù)錯誤的外部表現(xiàn)形式,確定程序中出錯的位置,找出錯誤的內在原因;二是對程序進行修改,排除這個錯誤;三是進行回歸測試,防止引進新的錯誤。所以程序調試的目的就是診斷和改正程序中的錯誤。軟件調試不能改善軟件的性能,也不能挖掘軟件的潛能。
46.C解析:本題考核的知識點是二維數(shù)組的初始化及庫函數(shù)strlen()的應用。主函數(shù)中定義了一個二維字符數(shù)組并初始化,初始化后的結果為str[0]='Hello',str[1]='Beijing',然后定義一個字符指針變量p并讓它指向數(shù)組的首地址,即指向str[0],而在C語言中無論是一維還是多維數(shù)組,其元素在內存中都是順序存放的,故p+20后指針指向str[1],所以strlen(P+20);返回的是str[1]中的字符串的長度,即Beijing的長度為7,所以最后輸出的值為7,所以,4個選項中選項C符合題意。
47.B解析:本題考查了程序的基本結構。程序由一些基本結構組成。任何一個大型的程序都由3種基本結構組成,由這些基本結構順序的構成了一個結構化的程序。這3種基本結構為:順序結構、選擇結構和循環(huán)結構。
48.C解析:switch后的括號中只能是整型或字符型表達式,選項A中使用的是浮點型變量x,故不正確。選項B在switch的括號后面多了一個分號,故也不正確。switch的case標號后只能是常量或常量表達式,而不能是變量,所以選項D也不正確。故應該選擇C。
49.C解析:本題考查預處理命令的特點,編譯預處理命令的特點:①為了區(qū)別一般的語句,預處理命令行都必須以“#”號開始,結尾不加分號;②預處理命令可以放在程序中的任何位置;③在程序中凡是以“#”號開始的語句行都是預處理命令行。
50.C解析:本題中定義了一個全局變量a和局部變量a。在主函數(shù)中定義一個整型變量s并賦初值為0,接著定義了一個局部變量a并賦值為5,由于該局部變量的和全局變量a同名,全局變量在復合語句中將不起作用,然后調用函數(shù)f(&a)(該函數(shù)的作用是返回存儲變量a中的值,并讓該值加1,分析程序可知返回值為5,并讓a值加1變?yōu)?),并將返回值加到s中。此時s的值為5,再執(zhí)行該復合語句外的其他語句,同樣調用函數(shù)f(&a),傳遞的參數(shù)是全局變量a,故其返回值為2,加到s中后s的值變?yōu)?,最后輸出的s值為7,所以,4個選項中選項C符合題意。
51.BB?!窘馕觥繑?shù)據(jù)的存儲結構分為順序結構和鏈式結構,一個數(shù)據(jù)的邏輯結構可以有多種存儲結構。順序結構中數(shù)據(jù)元素所占的存儲空間是連續(xù)的,而鏈式存儲結構中,數(shù)據(jù)元素所占的存儲空間不一定是連續(xù)的。數(shù)據(jù)的存儲結構與數(shù)據(jù)的處理效率密切相關。
52.C解析:本題首先定義了一個4行5列的數(shù)組s,又定義了一個指向由5個元素組成的一維數(shù)組的指針變量ps,通過賦值讓ps指向了數(shù)組s的首地址。此時數(shù)組元素s[i][j]的地址為“*(ps+1)+j”,數(shù)組元素s[i][j]可表示為*(*(ps+1)+j)。選項B表示的是數(shù)組元素a[3][0]的地址;選項D表示的是數(shù)組元素s[1][3]的地址;選項A中“ps+1”為指向下一行(第二行)的地址;選項c中ps[0][2]無條件等價于“*(ps[0]+2)”又無條件等價于”(*(ps+0)+2)”,即是數(shù)組元素s[0][2]。所以,4個選項中C為所選。
53.D解析:選項A是一個合法的賦值表達式,但結尾沒加分號,所以它不是一個賦值語句:選項B是一個逗號表達式,也因為結尾沒有加分號而不是合法的賦值語句;選項C是一個算術表達式,雖然有分號,但這個表達式沒有賦值操作,因此,也不是一條賦值語句。
54.D解析:本題主要考查for循環(huán)語句的嵌套。外層主循環(huán)執(zhí)行了3次,嵌套的循環(huán)語句每輪執(zhí)行2次,每次輸出i+j的值,推出嵌套循環(huán)語句后換行。
55.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負責數(shù)據(jù)庫的建立、使用和維護的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔著數(shù)據(jù)庫的安全保護工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
56.C本題中,首先將0賦給k,表達式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語句。解答本題的關鍵是掌握while語句。
57.D解析:本題考查自增運算符“++”、邏輯與運算符“&&”和邏輯或運算符“‖”。自增運算符“++”,出現(xiàn)在變量之前(如題中的中++n),表示先使變量的值加1,再使用變量的值進行運算:出現(xiàn)在變量之后(如題中的n++),表示先使用變量的值進行運算,再使變量的值加1。當邏輯與運算符“&&”兩邊的運算對象都為真時,邏輯表達式的值才為真;當邏輯或運算符“‖”左邊的運算對象為真時,其值就為真,不用計算其右邊的運算對象的值.所以根據(jù)運算符的優(yōu)先級,題中應先計算內層括號中的值。++j是先自加后運算,因此運算時j的值等于3,所以表達式++j=3成立,即表達式的值為1;由于1與任何數(shù)都為進行或(‖)運算,結果都為1,因此k=3;最后計算“&&”之前的表達式,i++是先運算后自加,因此運算時i為1,所以i++=1成立,自加1后i=2。if語句的條件為真即“1”,所以輸出i、j、k的值分別是2,3,3。
58.B解析:在C語言中,大寫字母和小寫字母被認為是兩個不同的字符,因此,“hello!”和“Hello!”是兩個不同的字符串。
59.AC語言規(guī)定case后面跟的必須是整型常量表達式。進入case后,如果沒有遇到break語句就會一直往下執(zhí)行,后面其他case或default分支的語句也會被執(zhí)行到,直到遇到break,或者執(zhí)行到整個switch語句塊的末尾。題目中給出了三個case語句:case0、case1、case2。當x為1時,從case1語句開始執(zhí)行,因為沒有break語句,將一直執(zhí)行到函數(shù)末尾結束,即執(zhí)行case1、case2兩條語句。執(zhí)行完case1時,a=1,b=0;執(zhí)行完case2時,a=2,b=1。
60.B解析:本題考查if語句。scanf函數(shù)通過鍵盤讀入a、b的值,a=1,b=2。第一個if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,則s=b=2,s=s*s=4。
61.C
62.Da[2]%2即14%2=0,此時跳出while循環(huán),因此j=11+13=24。
63.D本題考查邏輯運算符的使用。當“&&”的兩個運算對象都是邏輯1時,表達式返回值才是1;“||”的兩個運算對象至少有一個是邏輯1時,表達式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。
64.C當有序線性表為順序存儲時才能用二分法查找??梢宰C明的是,對于長度為n的有序線性表,在最壞情況下,二分法查找只需要比較log2n次,而順序查找需要比較n次,因此本題答案為C)。
65.C數(shù)據(jù)管理發(fā)展至今已經歷了三個階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中最后一個階段結構簡單,使用方便邏輯性強物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領域的主導地位,所以選擇C)。
66.B
67.B選擇,連接,投影是專門的關系運算,選擇是選擇滿足條件的元組,而投影是選擇滿足條件的屬性或者說列。并是傳統(tǒng)的關系運算,是將兩個關系中的元組合并在一起再去掉重復的部分。選擇,投影,并三個運算得到的結果屬性數(shù)并沒有改變或者說還有減少,而連接時將兩個關系進行笛卡爾積運算,在挑選滿足條件的項。其屬性個數(shù)一般會多于原來關系中的屬性數(shù)。
68.C從for循環(huán)可知pt是指向行的首地址的指針變量,因此由指針的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。
69.D要想使程序輸出25,則j-40=25,j=65,而j初值是50,所以填入for循環(huán)的語句,使引用的數(shù)組元素累加65-50=15即可,D選項中,i下標從0開始,i=2指向第3個數(shù)50+a[2]=50+10=60,繼續(xù)循環(huán)60+a[3]=60+5=65,此時i=4跳出,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年數(shù)據(jù)結構與算法軟件開發(fā)基礎與應用題庫
- 2026年法律職業(yè)資格考試中的案例分析題
- 2026年會計電算化操作員初級預測模擬試題
- 2026年政府大數(shù)據(jù)治理中公共數(shù)據(jù)資源開發(fā)利用試題
- 2026年游戲開發(fā)者游戲法規(guī)與網(wǎng)絡安全試題
- 2026年英語四級考試聽力與口語技能訓練題庫
- 2026年商業(yè)地產開發(fā)項目的風險管理與應對策略題庫
- 2026年管理學基礎知識全題型考試題目
- 2026年電子商務考試題集及答案詳解
- 2026年數(shù)字醫(yī)院管理體系中的IT設備安全檢測試題
- 粉塵職業(yè)?。▔m肺病、皮膚病)危害應急預案
- 2026年江蘇蘇北四市高三一模高考英語試卷試題(答案詳解)
- 實驗室安全培訓P53
- 2026年安徽省江淮糧倉融資擔保有限公司(籌)招聘考試參考試題及答案解析
- 廣東省廣州市海珠區(qū)2026年九年級上學期期末物理試題附答案
- 2026中好建造(安徽)科技有限公司招聘45人筆試備考試題及答案解析
- 2025年輔警面試考試復習題庫目及解析答案
- 北師大版三年級數(shù)學(上)期末家長會-三載深耕學有所成【課件】
- 風機安全鏈課件
- 2025年企業(yè)設備故障處理手冊
- 維修班組安全培訓課件
評論
0/150
提交評論