版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年廣東省湛江市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>#defineN8voidfun(int*x,inti){*x=*(x+i);)main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<N/2;i++){printf(“%d”,a[i]);}printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。A.1313B.2234C.3234D.1234
2.有以下程序:fun(intx){intP;if(x==0||x==l)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}程序執(zhí)行后的輸出結(jié)果是()。A.7B.3C.2D.0
3.
4.數(shù)據(jù)字典(DD)所定義的對(duì)象都包含于()。
A.軟件結(jié)構(gòu)圖B.方框圖C.數(shù)據(jù)流圖(DFD圖)D.程序流程圖
5.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。
A.while((ch=getchar())!='N')printf("%c",ch);
B.while(ch=getchar()!='N')printf("%c",ch);
C.while(ch=getchar()=='N')printf("%c",ch);
D.while((ch=getchar())=='N')printf("%c",ch);
6.下列關(guān)于棧的描述中錯(cuò)誤的是()。A.棧是先進(jìn)后出的線(xiàn)性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針
7.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。
A.4,3,2,1B.l,4,3,2C.1,2,3,4D.3,2,4,1
8.有以下程序
#defineN15
fun(inta[],intn,intm)
{inti,j;
for(i=m;i>=n;i--)
a[i+1]=a[i];
}
main()
{inti,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,3,7);
for(i=3;i<8;i++)
printf("%d",a[i]);
}
程序的運(yùn)行結(jié)果是A.A.45678
B.44567
C.45567
D.45677
9.有以下程序#includevoidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序運(yùn)行后,文件t1.dat中的內(nèi)容是______。
A.startB.endC.startendD.endrt
10.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510
11.常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。
A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線(xiàn)性存儲(chǔ)結(jié)構(gòu)和非線(xiàn)性存儲(chǔ)結(jié)構(gòu)
12.有以下程序:#include<stdi0.h>main(){inta=1,b=2;for(;a<8;a++){b+=a;a+=2;)printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.9,18B.8,11C.7,11D.10,14
13.可以用帶表頭結(jié)點(diǎn)的鏈表表示線(xiàn)性表,也可用不帶表頭結(jié)點(diǎn)的鏈表表示線(xiàn)性表,前者最主要的好處是()。
A.可以加快對(duì)表的遍歷B.使空表和非空表的處理統(tǒng)一C.節(jié)省存儲(chǔ)空間D.可以提高存取表元素的速度
14.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī).,則表SC的關(guān)鍵字(鍵或碼)為()
A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)
15.下面程序的輸出是()。A.17B.18C.23D.24
16.若某二叉樹(shù)的前序遍歷訪(fǎng)問(wèn)順序是abdgcefh,中序遍歷訪(fǎng)問(wèn)順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪(fǎng)問(wèn)順序是()。
A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca
17.
18.下列不屬于軟件調(diào)試技術(shù)的是______。A.強(qiáng)行排錯(cuò)法B.集成測(cè)試法C.回溯法D.原因排除法
19.以下選項(xiàng)中不屬于c語(yǔ)言的類(lèi)型的是()。
A.unsignedlongint
B.longshort
C.unsignedint
D.signedshortint
20.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。
A.&.B.^C.||D.~
二、2.填空題(20題)21.數(shù)據(jù)庫(kù)管理系統(tǒng)常見(jiàn)的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
22.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inti;
for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
23.下面程序的功能:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanquage",t;
inti,j,k;
k=strlen(A);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<k;j+=2)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(A);
printf("\n");
}
24.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{ints[]={1,2,3,4},i;
intx=0;
for(i=0;i<4;i++)
{x=sb(s,x);
printf("%d",x);}
printf("\n");}
sb(s1,y)
int*s1,y;
{staticinti1=3;
y=s1[i1];
i1--;
return(y);}
25.下列程序的輸出結(jié)果是______。
main()
{inta+,b=2,C=3,t=0;
ifa<B){t=a;a=b;b=t;}
ifa<C){t=a;a=c;c=t;}
printf("%d,%d,%dln",a,b,C);
}
26.下列程序的輸出結(jié)果是______。
main()
{inta[]={31,27,20,12,6,1},*p=a;
p++;
printf("%d\n",*(p+2));
}
27.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
28.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管叫‘管理多個(gè)項(xiàng)目,則實(shí)體“主管”與實(shí)體“”的聯(lián)系屬于______。
29.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3),{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<30++)
______;
}
}
30.注釋說(shuō)明了程序的功能,它分為【】注釋和功能性注釋。
31.數(shù)據(jù)結(jié)構(gòu)分為線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu),線(xiàn)性表、棧和隊(duì)列都屬于【】。
32.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。
33.下面程序的運(yùn)行結(jié)果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}
34.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長(zhǎng)時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿(mǎn)足三個(gè)條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(【】)printf("YES\n");/*abc能構(gòu)成三角形*/
elseprintf("NO\n");/*abc不能構(gòu)成三角形*/
}
35.將代數(shù)式轉(zhuǎn)換成程序設(shè)計(jì)中的表達(dá)式為【】。
36.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
37.以下程序用來(lái)輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
structst
{charname[20];doublescore;};
main()
{structstex;
pfintf("exsize:%d\n",sizeof(______));}
38.若要使指針p指向一個(gè)double類(lèi)型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>
p=【】malloc(sizeof(double));
39.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。
40.下列程序執(zhí)行輸出的結(jié)果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(a);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%dh",k);
}
三、1.選擇題(20題)41.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)
42.下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{iuta=2,b=3,p;
p=f(a,B)
printf("%d",p);
}
intf(a,b)
{intc;
if(a>B)c=1;
e1Seif(a==B)c=0;
else(3=-1;
return(C);
}
A.-1B.0C.1D.2
43.以下程序的輸出結(jié)果是main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;printf(“%d\n”,d;}
A.1B.0C.非0的數(shù)D.-1
44.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系
45.閱讀下面程序,則執(zhí)行后的結(jié)果是#include"stdio.h"main(){charstr[]="tomeetme",*p;for(p=str;p<str+7;p+=2)putchar(*p);printf("\n");}.
A.tomeetmeB.tmemC.oeteD.tome
46.當(dāng)a=4,b=5,c=7,d=6時(shí),執(zhí)行下面一段程序:if(a<B)if(c<D)x=1;elseif(a<C)if(b<C)x=2:elsex=3;elsex=4;elsex=5;程序執(zhí)行后,x的值為()。
A.1B.2C.3D.4
47.
執(zhí)行下列程序中的輸出語(yǔ)句后,a的值是()。
main
{inta;
printf("%d\n",(a=2*3,a*5,a+7));
}
A.17B.37C.6D.13
48.以下程序的輸出結(jié)果是f(intb[],intm,intn){inti,s=0;for(i=m;i<n;i=i+2)s=s+b[i];returns;}main(){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf(“%d\n”,x);}
A.10B.18C.8D.15
49.關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)及更新操作必須遵循______等完整性規(guī)則。
A.實(shí)體完整性和參照完整性
B.參照完整性和用戶(hù)定義的完整性
C.實(shí)體完整性和用戶(hù)定義的完整性
D.實(shí)體完整性、參照完整性和用戶(hù)定義的完整性
50.C語(yǔ)言的基本單位是()。
A.函數(shù)B.過(guò)程C.子程序D.子函數(shù)
51.下列關(guān)于switch語(yǔ)句和break語(yǔ)句的結(jié)論中,正確的是
A.break語(yǔ)句是switch語(yǔ)句中的一部分
B.在switch語(yǔ)句中可以根據(jù)需要使用或不使用break句
C.在switch語(yǔ)句中必須使用break語(yǔ)句
D.以上三個(gè)結(jié)論中有兩個(gè)是正確的
52.設(shè)有intx=11:表達(dá)式(x++*1/3)的值是()。
A.3B.4C.11D.12
53.下列描述中,不是線(xiàn)性表順序存儲(chǔ)結(jié)構(gòu)特征的是
A.不便于插入和刪除B.需要連續(xù)的存儲(chǔ)空間C.可隨機(jī)訪(fǎng)問(wèn)D.需另外開(kāi)辟空間來(lái)保存元素之間的關(guān)系
54.設(shè)有如下程序:#include'string.h"main(){staticchars1[20],s2[20];scanf("%s",s1);scanf("%s",s2);if(strcmp(s1,s2))printf("@");elseprintf("$");printf("%d\n",strlen(strcat(s1,s2)));}如果從鍵盤(pán)上輸入name1<回車(chē)>name2<回車(chē)>,則程序運(yùn)行后的輸出結(jié)果是()。
A.$9B.@11C.$10D.@10
55.在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。A.概要設(shè)計(jì)B.詳細(xì)設(shè)計(jì)C.可行性分析D.需求分析
56.需求分析階段的任務(wù)是()
A.軟件開(kāi)發(fā)方法B.軟件開(kāi)發(fā)工具C.軟件開(kāi)發(fā)費(fèi)用D.軟件系統(tǒng)功能
57.下圖所示的二叉樹(shù)的先序遍歷序列是()。
A.ABDGCEHIFB.DGBAHEICFC.GDBHIEFCAD.ABCDEFGHl
58.下面對(duì)對(duì)象概念描述錯(cuò)誤的是()。
A.任何對(duì)象都必須有繼承性B.對(duì)象是屬性和方法的封裝體C.對(duì)象間的通訊靠消息傳遞D.操作是對(duì)象的動(dòng)態(tài)性屬性
59.若已定義x和y為double類(lèi)型,則表達(dá)式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5
60.已知字母A的ASCII碼值是65,字母a的ASCII碼值是97,以下程序______。main(){chara='A';intb=20;pxintf("%d,%o",(a=a+a,a+b,b),a+'a'-'A',b);}
A.表達(dá)式非法,輸出零或不確定值
B.因輸出項(xiàng)過(guò)多,無(wú)輸出或輸出不確定值
C.輸出結(jié)果為20,141
D.輸出結(jié)果為20,141,20
四、選擇題(20題)61.
62.
63.設(shè)在C語(yǔ)言中,float類(lèi)型數(shù)據(jù)占4個(gè)字節(jié),則double類(lèi)型數(shù)據(jù)占()個(gè)字節(jié)。A.A.1B.2C.8D.4
64.
65.若有如下定義,則__________是對(duì)數(shù)組元素的正確的引用。.
inta[10],*p;p=a;
A.*&a[10]B.a[11]C.*(p+11)D.*p*p*p
66.以下選項(xiàng)中關(guān)于C語(yǔ)言常量的敘述錯(cuò)誤的是()。
A.經(jīng)常被使用的變量可以定義成常量
B.常量分為整型常量、實(shí)型常量、字符常量和字符串常量
C.常量可分為數(shù)值型常量和非數(shù)值型常量.
D.所謂常量,是指在程序運(yùn)行過(guò)程中,其值不能被改變的量
67.在一個(gè)C源程序文件中所定義的全局變量。其作用域?yàn)?)。A.由具體定義位置和extern說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
68.
69.
70.有兩個(gè)關(guān)系R和T如下:
則由關(guān)系R得到關(guān)系T的操作是()。A.選擇B.投影C.交D.并
71.
72.
73.若x=5,y=3則y*=x+5;y的值為_(kāi)__________.
A.10B.20C.15D.30
74.
75.有以下程序
main()
{inti=010,j=0X10;
pirntf("%d,%d\n",i,j);
}
該程序的輸出結(jié)果是
A.10,10B.8,10
C.8,16D.10,16
76.有下列程序:、
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
77.
78.下列程序的輸出結(jié)果是()。voidfun(int*X,inty){printf("%d%d",*x,*y);*x=3;*y=1;}main{intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A.2143B.1212C.1234D.2112
79.設(shè)已有定義:floatx;,則以下對(duì)指針變量P進(jìn)行定義且賦初值的語(yǔ)句中正確的是()。
A.int*p=(float)x;
B.float*p=&x;
C.floatp=&x;
D.float=1024;
80.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的一般度量標(biāo)準(zhǔn)是
A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用冒泡法對(duì)6個(gè)字符串按由小到大的順序進(jìn)行排序。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫(xiě)函數(shù)fun,其功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不要使用庫(kù)函數(shù)strcat),即把p2所指的字符串連接到
pl所指的字符串的后面。
例如,分別輸入下面兩個(gè)字符串:
程序輸出:
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。
參考答案
1.C本題考查了宏定義與局部變量的區(qū)別,宏定義的作用范圍為整個(gè)程序,而變量的作用范圍只在定義它的函數(shù)體的部分,因此,主函數(shù)中定義的i與fun中的i互不相干。
2.C在函數(shù)funlintx)中,有個(gè)if語(yǔ)句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢(shì)中調(diào)用fun(7)時(shí),其過(guò)程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。
3.C
4.C數(shù)據(jù)字典(DD)是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明。
5.A解析:while循環(huán)的執(zhí)行過(guò)程如下:(1)計(jì)算while后面圓括號(hào)中表達(dá)式的值.當(dāng)值為非0時(shí),執(zhí)行步驟(2);當(dāng)值為0時(shí),執(zhí)行步驟(4)。(2)執(zhí)行循環(huán)體一次。(3)轉(zhuǎn)去執(zhí)行步驟(1)。(4)退出循環(huán)。在選項(xiàng)A)中,表達(dá)式(ch=getchar())!='N'表示輸入的字符不等于N,如果這個(gè)條件表達(dá)式成立,則執(zhí)行循環(huán)體,打印輸出輸入的字符。如果這個(gè)條件表達(dá)式不成立,即輸入的字符等于N,則退出循環(huán).所以選項(xiàng)A)為正確答案。
6.B棧是限定只能在表的一端進(jìn)行插入和刪除操作的線(xiàn)性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。棧可以采用順序存儲(chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。
7.C
8.B題目中的程序包括主程序main和fun函數(shù)。主程序中定義了一個(gè)數(shù)組a,并賦給了初值。通過(guò)調(diào)用fun函數(shù),對(duì)數(shù)組a中的值進(jìn)行更改操作,最后要求的結(jié)果是輸出數(shù)組a中a[3]~a[7]的值。解決本題的關(guān)鍵在于清楚地理解fun函數(shù)的功能。fun函數(shù)有3個(gè)形參,包括1個(gè)整型數(shù)組a[],2個(gè)整型變量n和m。fun函數(shù)的功能是將數(shù)組a[i+1]的值等于a[i]的值,i的初始值大小為m,依次減1,直到數(shù)值等于n。主函數(shù)調(diào)用fun函數(shù)時(shí),輸入的實(shí)參為(a,3,7),即fun函數(shù)要將數(shù)組a[i+1]的值等于a[i]的值,i的取值范圍從7到3,如a[8]=a[7]。fun函數(shù)執(zhí)行完畢,數(shù)組a中的值變?yōu)?,2,3,4,4,5,6,7,9,10。輸出a[3]~a[7]的值為4,4,5,6,7。
9.B
10.C解析:本題中第一行代碼對(duì)指針P進(jìn)行了初始化,其指向數(shù)組a的第6個(gè)元素,在其后的操作中p的值也沒(méi)有改變過(guò),所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對(duì)q指向的值進(jìn)行賦值,等價(jià)于*q=a[10]=11,所以輸出結(jié)果*q為11。
11.AA。【解析】線(xiàn)性表的存儲(chǔ)通常分為兩種存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
\n
12.D第一次執(zhí)行循環(huán)前,a=1,滿(mǎn)足a<8,執(zhí)行循環(huán)后,b=3,a=3。執(zhí)行完a++操作后,a=4。由于a<8,執(zhí)行第二次循環(huán)后,b=7,a=6,執(zhí)行完a++操作后,a=7。由于a<8,執(zhí)行第三次循環(huán)后,b=14,a=9,執(zhí)行完a++操作后a=10。此時(shí)不滿(mǎn)足a<8,跳出循環(huán)。
13.B
14.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。
15.B
16.D解析:中序遍歷的遞歸算法定義:①遍歷左子樹(shù);②訪(fǎng)問(wèn)根結(jié)點(diǎn);③遍歷右子樹(shù)。前序遍歷的遞歸算法定義:①訪(fǎng)問(wèn)根結(jié)點(diǎn);②遍歷左子樹(shù);③遍歷右子樹(shù)。后序遍歷的遞歸算法定義:①遍歷左子樹(shù);②遍歷右子樹(shù);③訪(fǎng)問(wèn)根結(jié)點(diǎn)。根據(jù)前序遍歷的結(jié)果可知,a是根結(jié)點(diǎn)。由中序遍歷的結(jié)果dgbaechf可知,d、g、b是左子樹(shù)的結(jié)點(diǎn),e、c、h、f是右子樹(shù)的結(jié)點(diǎn)。再由前序遍歷的結(jié)果bdg可知,b是a左邊子樹(shù)的根,由cefh可知,c是a右邊子樹(shù)的根。再由中序遍歷的結(jié)果dgb可知,d、g是b左邊子樹(shù)的結(jié)點(diǎn),b右邊子樹(shù)無(wú)結(jié)點(diǎn)。再由前序遍歷結(jié)果dg可知,d為b左子樹(shù)的根,g是以d為根的子樹(shù)的右結(jié)點(diǎn)。至此,a的左子樹(shù)已完全弄清楚了。同樣的道理,可以弄清楚以c為根的子樹(shù)的結(jié)點(diǎn)位置。所以可知后序遍歷的結(jié)果是D。
17.C
18.B解析:我們嚴(yán)格區(qū)分調(diào)試與測(cè)試,調(diào)試是已知有錯(cuò)誤而來(lái)找錯(cuò)誤,是被動(dòng)的;測(cè)試有很多種,比如未發(fā)現(xiàn)錯(cuò)誤但不能保證程序沒(méi)錯(cuò)而來(lái)找BUG,還比如我們運(yùn)行測(cè)試程序是否符合用戶(hù)的要求,是主動(dòng)的。所以答案是選項(xiàng)B。A、C、D都是具體的程序調(diào)試方法,而B(niǎo)是宏觀的程序測(cè)試方法。測(cè)試有單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試、系統(tǒng)測(cè)試。比如我們?cè)谶M(jìn)行單元測(cè)試時(shí),發(fā)現(xiàn)程序有錯(cuò)誤,我們?cè)倏梢愿鶕?jù)A、C、D的方法來(lái)找錯(cuò)誤。
19.Bc語(yǔ)言中整型變量分為4種,基本型int,短整型shortint,長(zhǎng)整型longint和無(wú)符號(hào)型(unsignedint、un-signedshort、unsignedlong)。因此B)選項(xiàng)不屬于c語(yǔ)言的類(lèi)型。
20.B按邏輯位運(yùn)算特點(diǎn):①用按位與運(yùn)算將特定位清為0或保留特定位;②用按位或運(yùn)算將特定的位置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。
21.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶(hù)與數(shù)據(jù)庫(kù)之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
22.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為“a”,執(zhí)行一次循環(huán)后變?yōu)椤癱”,之后再變成“e”,當(dāng)其變?yōu)椤癵”時(shí),循環(huán)條件若不滿(mǎn)足,循環(huán)終止,故本題共輸出3個(gè)字符。表達(dá)式“i-'a'+'A'”即表示輸出i對(duì)應(yīng)的大寫(xiě)字母,結(jié)果為ACE。
23.a[j]<a[i]a[j]<a[i]解析:本題考查排序算法,題目中通過(guò)雙循環(huán)嵌套來(lái)實(shí)現(xiàn),外層循環(huán)跳出待排序的元素,內(nèi)層循環(huán)具體實(shí)現(xiàn)a[i]到a[k-2]之間偶數(shù)下標(biāo)元素的排序,每次將最小的放在a[i]中。所以空中填a[j]<a[i]。
24.43214321解析:靜態(tài)存儲(chǔ)類(lèi)的局部變量其生存期為整個(gè)程序的運(yùn)行期間,作用域卻只是定義它的函數(shù)或局部范圍。注意:局部變量和全局變量的作用域。
25.3123,1,2解析:分析程序,第一個(gè)if句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語(yǔ)句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。
26.1212解析:本題簽考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個(gè)指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過(guò)p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3)的值12。
27.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
28.一對(duì)多一對(duì)多解析:由于一個(gè)項(xiàng)目主管可以管理多個(gè)項(xiàng)目,而一個(gè)項(xiàng)目只能有一個(gè)項(xiàng)目主管,“項(xiàng)目主管”這個(gè)實(shí)體與“項(xiàng)目”這個(gè)實(shí)體的管理關(guān)系囑于一對(duì)多。
29.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
30.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。
31.線(xiàn)性結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類(lèi)似,隊(duì)列也是線(xiàn)性表,可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),所以帶鏈的隊(duì)列屬于線(xiàn)性結(jié)構(gòu)。
32.88解析:fabs函數(shù)功能是求x的絕對(duì)值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。
33.11
34.(a+b>c)&&(a+c>b)&&(b+c>a)(a+b>c)&&(a+c>b)&&(b+c>a)解析:三角形形式的條件是兩邊之和大于第三邊。要用'&&'指令連接三個(gè)條件,表示三個(gè)條件都要滿(mǎn)足。
35.SQRT(x2+y2)/(a+b)
36.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過(guò)存儲(chǔ)空間的位置來(lái)實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來(lái)說(shuō),數(shù)據(jù)元素之間的前后件關(guān)系是通過(guò)指針來(lái)實(shí)現(xiàn)的。
37.
38.(double*)(double*)解析:一般用malloc函數(shù)為變量分配存儲(chǔ)單元時(shí),要在前面用強(qiáng)制類(lèi)型轉(zhuǎn)換符說(shuō)明該存儲(chǔ)單元中數(shù)據(jù)的類(lèi)型。本題要為指向雙精度浮點(diǎn)型數(shù)據(jù)的指針變量p分配存儲(chǔ)單元,因此用(double*)說(shuō)明。
39.類(lèi)類(lèi)解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱(chēng)為類(lèi),類(lèi)是對(duì)象的抽象,對(duì)象是類(lèi)的實(shí)例。
40.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類(lèi)型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++8,所以k=8。
41.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿(mǎn)意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。
42.A解析:本題考查ifelse語(yǔ)句。在intf(a,B)中:第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a>b條件不成立,則執(zhí)行與其配對(duì)的else語(yǔ)句:第二個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a==b條件不成立,則執(zhí)行與其配對(duì)的else語(yǔ)句,c=-1。
43.A解析:由于單目運(yùn)算符優(yōu)先級(jí)高于“&&”和“||”運(yùn)算,所以先計(jì)算!a、!b和!c分別為“假”、“假”、“真”,然后是&&運(yùn)算和“||”運(yùn)算,原表達(dá)式就等價(jià)于“假”&&“假”||“真”又由于“&&”的優(yōu)先級(jí)高于“||”運(yùn)算符,所以先計(jì)算“假”&&“假”,還是為假,最后是“假”||“真”為真。因此最后d被賦值為1,故最后輸出為1。
44.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶(hù)或應(yīng)用程序提供訪(fǎng)問(wèn)DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。
45.B解析:存放字符串的字符數(shù)組的名字就是這個(gè)字符串的首地址。本題的功能是對(duì)于字符串“tomeetme”進(jìn)行選擇式輸出,從第一個(gè)字母開(kāi)始,每輸出一個(gè)字符即跳過(guò)一個(gè)。
46.B
47.C解析:本題考查逗號(hào)表達(dá)式。本題的返回值是a+7,a=2*3=6,a+7=13(注意:本題問(wèn)的是a的值,而不是程序的輸出值)。
48.A解析:在main()函數(shù)中定義了一個(gè)變量x,以及一個(gè)有9個(gè)元素的數(shù)組a,并且每個(gè)元素分別賦初值為1、2、3、4、5、6、7、8和9。執(zhí)行函數(shù)調(diào)用f(a,3,7),把a(bǔ)的首地址賦給形參b,把3和7分別賦給形參m和n。在f()函數(shù)中,for循環(huán)執(zhí)行了2次:第一次,i的值為3,相當(dāng)于執(zhí)行了語(yǔ)句“s=s+b[3],b[3]的值就是a[3]的值4,故s的值變?yōu)?;第二次,i值為5,相當(dāng)于執(zhí)行了語(yǔ)句“s=s+b[5];”,b[5]的值6,故s的值變?yōu)?0。把s作為函數(shù)值返回并賦值給x。
49.D解析:關(guān)系模型中包括關(guān)系的數(shù)據(jù)結(jié)構(gòu)、關(guān)系的操縱和關(guān)系中的數(shù)據(jù)約束。關(guān)系完整性約束即數(shù)據(jù)完整性,包括實(shí)體完整性、參照完整性和用戶(hù)自定義完整性。
50.AA。【解析】C語(yǔ)言是函數(shù)式的語(yǔ)言。它的基本組成單位是函數(shù),在C語(yǔ)言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。
51.B解析:break語(yǔ)句可以用在switch和循環(huán)語(yǔ)句中,作用是跳出switch或循環(huán)結(jié)構(gòu),但并不要求switch結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中必須有break語(yǔ)句,所以選項(xiàng)B)的說(shuō)法是正確的。注意:break、continue語(yǔ)句在循環(huán)語(yǔ)句中的使用。
52.A解析:自增運(yùn)算的優(yōu)先級(jí)高于其他雙目算術(shù)運(yùn)算符,同級(jí)算術(shù)運(yùn)算符結(jié)合性為自左向右。所以表達(dá)式(x++*1/3)等價(jià)于(x++)*1/3=11*1/3=3。
53.D解析:線(xiàn)性表的順序存儲(chǔ)是用一片連續(xù)的空間來(lái)存放數(shù)據(jù)元素,其特點(diǎn)是邏輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素之間邏輯上的先后關(guān)系自動(dòng)隱含在物理位置的相鄰元素之中,因此,不需要另外開(kāi)辟空間來(lái)保存元素之間的關(guān)系。
54.D解析:本題首先定義了兩個(gè)字符數(shù)組,然后從鍵盤(pán)讀入兩個(gè)字符串'name1'和'name2'分別賦給它們,接下來(lái)使用strcmp()函數(shù)比較兩個(gè)字符串是否相等,若不相等就輸出一個(gè)‘@’字符,否則輸出一個(gè)‘$’字符,所以本題先輸出一個(gè)‘@’字符。最后使用strcat()函數(shù)將兩個(gè)字符串連成一個(gè),然后使用strlen()函數(shù)求連接后的字符串長(zhǎng)度,所以接下來(lái)又輸出一個(gè)10。故本題的正確答案為D。
55.D通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱(chēng)為軟件生命周期。也就是說(shuō):軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。
軟件生命周期的主要活動(dòng)階段為:
①可行性研究和計(jì)劃制定。確定待開(kāi)發(fā)軟件系統(tǒng)的開(kāi)發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。
②需求分析。對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫(xiě)軟件,規(guī)格說(shuō)明書(shū)及初步的用戶(hù)手冊(cè),提交評(píng)審。
③軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。
④軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫(xiě)用戶(hù)手冊(cè)、操作手冊(cè)等面向用戶(hù)的文檔,編寫(xiě)單元測(cè)試計(jì)劃。
⑤軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。編寫(xiě)測(cè)試分析報(bào)告。
⑥運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。
56.DD)【解析】需求分析是軟件定義時(shí)期的最后一個(gè)階
\n段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解原系統(tǒng)的工作概況,明確用戶(hù)的各種需求,然后在這些基礎(chǔ)上確定新系統(tǒng)的功能。
57.A解析:先序遍歷順序應(yīng)該為:訪(fǎng)問(wèn)根結(jié)點(diǎn)→先序遍歷左子樹(shù)→先序遍歷右子樹(shù)。按照定義,先序遍歷序列是ABDGCEHIF。
58.A解析:對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接的對(duì)應(yīng)關(guān)系。對(duì)象之間通過(guò)傳遞消息互相聯(lián)系,以模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系。
59.C解析:這是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值1,在沒(méi)有進(jìn)行類(lèi)型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。
60.C解析:本題中首先輸出逗號(hào)表達(dá)式“a=a+a,a+b,b”的值,即20。然后以八進(jìn)制的形式輸出a+'a'-'A'的值為97對(duì)應(yīng)的八進(jìn)制數(shù)141,由于最后—個(gè)表達(dá)式b沒(méi)有對(duì)應(yīng)輸出格式的輸出項(xiàng)表列就不
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度演出活動(dòng)贊助商權(quán)益及免責(zé)合同
- 各部門(mén)領(lǐng)導(dǎo)干部安全生產(chǎn)
- MHT5024-2009民用機(jī)場(chǎng)道面評(píng)價(jià)管理技術(shù)規(guī)范-附錄A
- 川芎的臨床應(yīng)用
- 房產(chǎn)委托書(shū)可以貸款
- 可行性研究報(bào)告行業(yè)碼
- 2025抵押貸款裝修合同
- 2025網(wǎng)站設(shè)計(jì)制作合同范文
- 2025借款合同的寫(xiě)法范文
- 2025標(biāo)準(zhǔn)配送服務(wù)合同范本
- 中考英語(yǔ)688高頻詞大綱詞頻表
- 九年級(jí)初三中考物理綜合復(fù)習(xí)測(cè)試卷3套(含答案)
- (完整版)中職數(shù)學(xué)習(xí)題及答案
- 高中語(yǔ)文 蘇軾導(dǎo)讀 課件
- 府谷縣恒陽(yáng)陽(yáng)建材有限公司-15萬(wàn)立方米-年混凝土攪拌站項(xiàng)目報(bào)告書(shū)
- 水中鋼管樁施工方案
- 上交所期權(quán)投資者綜合試卷考試及答案
- 超市日常工作檢查表
- 電纜熱穩(wěn)定校驗(yàn)計(jì)算書(shū)
- 傳熱學(xué)-第一章
- 管理制度評(píng)價(jià)表(填寫(xiě)模板)
評(píng)論
0/150
提交評(píng)論