




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年湖南省張家界市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下面關(guān)于求關(guān)鍵路徑的說法不正確的是()。
A.求關(guān)鍵路徑是以拓?fù)渑判驗(yàn)榛A(chǔ)的
B.一個(gè)事件的最早開始時(shí)間同以該事件為尾的弧的活動(dòng)最早開始時(shí)間相同
C.一個(gè)事件的最遲開始時(shí)間為以該事件為尾的弧的活動(dòng)最遲開始時(shí)間與該活動(dòng)的持續(xù)時(shí)間的差
D.關(guān)鍵活動(dòng)一定位于關(guān)鍵路徑上
2.以下程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3,1,5,9,
B.1,3,5,1,3,5,
C.1,3,5,0,d,8,
D.1,3,5,-1,3,7,
3.下列關(guān)于函數(shù)的敘述中正確的是()。A.A.每個(gè)函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))
B.每個(gè)函數(shù)都可以被單獨(dú)編譯
C.每個(gè)函數(shù)都可以單獨(dú)運(yùn)行
D.在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)
4.歐幾里得的《幾何原本》描述了解最大公約數(shù)的算法,針對(duì)兩個(gè)整型a,b(a>b>0),其偽代碼如下,請(qǐng)估算該算法的復(fù)雜度
A.O(lgb)B.O(a*b)C.O(a*a)D.O(b*b)
5.
6.有以下定義和語句:structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s;};structworkersw,*pw;pw=&w;能給w中year成員賦1980的語句是()。
A.pw->year=1980;
B.w.year=1980;
C.w.s.year=1980;
D.*pw.year=1980;
7.下列定義數(shù)組的語句中正確的是()。
A.#defmeN10intx[N];
B.intN=10;intx[N];
C.intx[0..10];
D.intx[];
8.串是一種特殊的線性表,其特殊性體現(xiàn)在()。
A.可以順序存儲(chǔ)B.數(shù)據(jù)元素是一個(gè)字符C.可以鏈?zhǔn)酱鎯?chǔ)D.數(shù)據(jù)元素可以是多個(gè)字符
9.在一個(gè)無向圖中,所有頂點(diǎn)的度數(shù)之和等于所有邊數(shù)的()倍。
A.1/2B.1C.2D.4
10.假設(shè)把整數(shù)關(guān)鍵碼K散列到有N個(gè)槽的散列表,以下哪些散列函數(shù)是好的散列函數(shù)()
A.h(K)=KmodN
B.h(K)=1
C.h(K)=K/N
D.h(K)=(K+rand(N))modN,rand(N)返回一個(gè)0到N-1的整數(shù)
11.若有以下定義:floatx;inta,b,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");case1+2:printf("**\n");}
D.switch(a+B){case1:printf("*\n");casec:printf("**\n");}
12.針對(duì)簡單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是()。
A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔
B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔
C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試
D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔
13.有以下程序(函數(shù)fun只對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行操作):#include<stdio.h>voidfun(int*n){inti,j,k,t;for(i=0;i<n-1;i+=2){k=i;for(j=i;j<n;j+=2)if(a[j]>a[k])k=j;t[a[i];a[i]=a[k];a[k]=t;}}main{intaa[lO]=[1,2,3,4,5,6,7],a;fun(aa,7);for(i=0;i<7;i++)printf("%d,",aa[i]);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
14.有以下定義和語句
StructWorkers
{intnum;charname[20];charc;
struct
{intday;intmonth;intyear;}s;
};
StructWorkersW,*pe;
PW=&W;
能給W中yeaR成員賦1980的語句是A.*pW.yeaR=1980;
B.W.yeaR=1980;
C.pW->yeaR=1980;
D.W.s.yeaR=1980;
15.
16.以下說法錯(cuò)誤的是()。
A.散列法存儲(chǔ)的思想是由關(guān)鍵字值決定數(shù)據(jù)的存儲(chǔ)地址
B.散列表的結(jié)點(diǎn)中只包含數(shù)據(jù)元素自身的信息,不包含指針
C.負(fù)載因子是散列表的一個(gè)重要參數(shù),它反映了散列表的飽滿程度
D.散列表的查找效率主要取決于散列表構(gòu)造時(shí)選取的散列函數(shù)和處理沖突的方法
17.以下符號(hào)中不能作為標(biāo)識(shí)符的是()。A.256B.voidC.vanfD.4Struct
18.要解決散列引起的沖突問題,最常用的方法是()
A.數(shù)字分析法、除留余數(shù)法、平方取中法
B.除留余數(shù)法、線性探測(cè)法、平方取中法
C.線性探測(cè)法、二次探測(cè)法、鏈地址法
D.除留余數(shù)法、線性探測(cè)法、二次探測(cè)法
19.數(shù)據(jù)的獨(dú)立性是指______。
A.數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立
B.DBMS和DB相互獨(dú)立
C.用戶應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)相互獨(dú)立
D.用戶應(yīng)用程序與DBMS相互獨(dú)立
20.下面不正確的字符賦值或賦初值的方式為()。
A.chars[10]=”hello!”
B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}
C.chars[10];s=”hello”
D.char[]=”hello!”
二、2.填空題(20題)21.按數(shù)據(jù)流的類型,結(jié)構(gòu)化設(shè)計(jì)方法有兩種設(shè)計(jì)策略,它們是變換分析設(shè)計(jì)和______。
22.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135,則輸出531,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{intn,s;
printf("Enteranumber:");scanf("%d",&n);
printf("Output:");
do
{s=n%10;printf("%d",s);();}
while(n!=0);
printf("\n");
}
23.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
24.一棵二叉樹第6層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)最多為______個(gè)。
25.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱為______。
26.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
27.在兩種基本測(cè)試方法中,【】測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。
28.在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。
29.在數(shù)據(jù)庫系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
30.若有如下結(jié)構(gòu)體說明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。
【】t[20]
31.以下程序的運(yùn)行結(jié)果是()。#defineA4#defineB(x)A*x/2main(){floatc,a=8.0;c=B(A;printf("%f\n",C);}
32.數(shù)據(jù)庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。
33.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{inta=3,b=4,c=5,t=99;
i[(b<a&&a<C)t=a;a=c;c=t;
if(a<c&&b<C)t=b;b=a;a=t;
printf("%d%d%d\n",a,b,c);
}
34.軟件是程序、數(shù)據(jù)和【】的集合。
35.下列程序的輸出結(jié)果是【】。
main()
{inti;
for(i=1;i+1;i++)
{if(i>4)
{printf("%d\n",i);
break;}
printf("%d\n",i++);}}
36.在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類的實(shí)例稱為______。
37.執(zhí)行以下for語句后,變量i的值是【】。
for(i=1;i++<=5;);
38.下面程序的運(yùn)行結(jié)果是:【】。
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
elseif(n>=2){m=fun(t,n-1);returnm;}
}
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
}
39.以下程序運(yùn)行后的輸出結(jié)果是______。
#defineS(x)4*X*x+1
main()
{inti=6,j=8;
printf("%d\n",S(i+i));
}
40.下列的for語句的循環(huán)次數(shù)為______。
for(x=1,y=0;(y!=19)&&(x<7);x++);
三、1.選擇題(20題)41.有定義語句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語句是
A.sets(&s[0]);
B.scarf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
42.有以下程序unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a,u.z=6;a.k=0;printf("%d\n",a.u.x);}程序運(yùn)行后的輸出結(jié)果是()
A.4B.5C.6D.0
43.下列程序語句中,不正確的是______。
A.maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}intadd(floatx,floaty){……}
B.main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}
C.floatadd()maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}
D.floatadd(floatx,floaty){……}main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}
44.下列選項(xiàng)中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
45.以下程序的輸出結(jié)果是
#include<stdio.h>
inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main()
{p=(int*)malloc(sizeof(int));
f(p,a);
printf("%d\n",*p);
free(p);}
f(int*s,intp[][3])
{*s=p[1][1];}
A.1B.4C.7D.5
46.可以在C語言程序中用做用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。
A.void123BBNB.aaabccasC.as+b3-123IfD.6fDoSIG
47.有以下程序:#include<stdio.h>main(){charc[6];inti=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;i++)putchar(c[i];printf("\n");}如果從鍵盤上輸入:ab<回車>c<回車>def<回車>則輸出結(jié)果為______。
A.abcdefB.abcdC.abcdD.abcdef
48.設(shè)有以下定義和語句inta[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];則*(p[0]+1)所代表的數(shù)組元素是
A.a[0][1]B.a[1][0]C.a[1][1]D.a[1][2]
49.C語言的基本單位是()。
A.函數(shù)B.過程C.子程序D.子函數(shù)
50.下列定義變量的語句中錯(cuò)誤的是()。
A.int_int;B.doubleint_;C.charfor;D.floatUS$
51.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}
A.650B.1470C.5430D.輸出值不定
52.下列描述錯(cuò)誤的是()。
A.繼承分為多重繼承和單繼承
B.對(duì)象之間的通信靠傳遞消息來實(shí)現(xiàn)
C.在外面看不到對(duì)象的內(nèi)部特征是基于對(duì)象的“模塊獨(dú)立性好”這個(gè)特征
D.類是具有共同屬性、共同方法的對(duì)象的集合
53.有以下程序:mian(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}程序運(yùn)行后的輸出結(jié)果是()。
A.1*1=11*2=21*3=3
B.1*1=11*2=21*3=32*1=22*2=42*2=42*3=63*1=33*3=9
C.1*1=1
D.1*1=11*2=22*2=42*1=22*2=41*3=32*3=63*3=93*1=33*2=63*3=9
54.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同特點(diǎn)
55.下列不是合法的C語言語句是()。
A.a=5B.{inti;i++;}C.;D.{;}
56.設(shè)x=2.5、a=7、y=4.7,算術(shù)表達(dá)式x+a%3*(int)(x+y)%2/4的值為______。
A.2.5B.7C.4.7D.2.75
57.設(shè)x的值為5,則表達(dá)式(++x)+(++x)+(++x)的值是()
A.24B.20C.15D.25
58.C語言結(jié)構(gòu)體類型變量在程序運(yùn)行期間
A.TC環(huán)境在內(nèi)存中僅僅開辟一個(gè)存放結(jié)構(gòu)體變量地址的單元
B.所有的成員一直駐留在內(nèi)存中
C.只有最開始的成員駐留在內(nèi)存中
D.部分成員駐留在內(nèi)存中
59.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n")}從第一列開始輸入以下數(shù)據(jù)<CR>代表一個(gè)回車符。2743<CR>程序的輸出結(jié)果是
A.66877B.668966C.6677877D.6688766
60.軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及()。
A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確
四、選擇題(20題)61.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,0B.0,1C.0,0D.1,1
62.
63.一間宿舍可住多名學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多
64.有以下程序:
#include<stdio.h>
structSTU{charname[9];charsex;intscore[2];};
voidf(structSTUa[])
{structSTUb={"Zhao",m,85,90);
a[1]=b;
}
main()
{structSTUc[2]={{"Qian",f,95,92},{"Sun",m98,99}};
f(c);
printf(”%s,%c,%d,%d,¨,c[o].name,c[o].sex,c[o].score[o],c[o].score[1]);
printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[o],c[1].score
[1]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.Zhao,m,85,90,Sun,m,98,99
B.Zhao,m,85,90,Qian,f,95,92
C.Qian,f,95,92,Sun,m,98,99
D.Qian,f,95,92,Zhao,m,85,90
65.
66.結(jié)構(gòu)化程序設(shè)計(jì)的三種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
67.在計(jì)算機(jī)中,算法是指()
A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法
68.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是()。
A.一對(duì)一B.一對(duì)多C.多對(duì)多D.多對(duì)一
69.下列字符串不屬于標(biāo)識(shí)符的是()
A.sumB.averageC.day_nightD.M,D.JOHN
70.有以下程序:
#definef(x)(x*x)main
{
inti1,i2;
i1=f(8)/(4);i2=f(4+4)/f(2+2);
printf("%d,%d\n",i1,i2);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.64,28B.4,4C.4,3D.64,64
71.
72.以下敘述中錯(cuò)誤的是
A.C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序
B.C程序經(jīng)過編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件
C.用C語言編寫的程序稱為源程序,它以ASCII碼形式存放在一個(gè)文本文件中
D.C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
73.對(duì)長度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。
A.125B.n/2C.nD.n+1
74.
75.若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結(jié)點(diǎn)訪問順序是()。
A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca
76.
下列程序的輸出結(jié)果是()。
#includedstdi0.h>
#includedstring.h>
voidfun(intb[])
{staticinti=0;
do
{b[i]+=b[i+1];
}while(++i<2);
}
main
{intk,a[5]={1,3,5,4,9};
fun(a);
for(k=0;k<5;k++)printf("%d",a[k]);
}
A.13579B.48579C.48549D.48999
77.main(intargc,char*argv[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}假定以上程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入PROGABCDEFGHIJKL,則輸出結(jié)果為______。
A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH
78.下列敘述中正確的是()。
A.break語句只能用于switch語句體中
B.continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
D.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
79.下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?)。A.對(duì)象B.繼承C.類D.過程調(diào)用
80.下面不屬于需求分析階段任務(wù)的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測(cè)試計(jì)劃D.需求規(guī)格說明書評(píng)審
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。設(shè)例如,當(dāng)k為20時(shí),函數(shù)的值應(yīng)為1.551759。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)fun(),其功能是計(jì)算:
s作為函數(shù)值返回。
在C語言中可調(diào)用log(n)函數(shù)求1n(n)。log函數(shù)的引
用說明為:doublelog(doublex)。
例如,若m的值為20,則fun()函數(shù)值為6.506583。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。
試題程序:
參考答案
1.C
2.Dmain函數(shù)中,fun(fun(t))嵌套調(diào)用fun函數(shù)。第一次調(diào)用為fun(1),調(diào)用后,a[3]={1,3,5},輸出1,3,5,返回a[1]=3。第二次調(diào)用為fun(3),調(diào)用后,a[3]={一1,3,7},輸出一l,3,7。
3.B在C語言中,函數(shù)定義是平行的,函數(shù)不能嵌套定義,即函數(shù)之間沒有從屬關(guān)系。雖然函數(shù)之間可以相互調(diào)用,但main函數(shù)不能被調(diào)用,選項(xiàng)A)錯(cuò)誤;C程序從main函數(shù)開始執(zhí)行,當(dāng)main數(shù)執(zhí)行完畢時(shí),整個(gè)程序就結(jié)束了。C程序的執(zhí)行必須從main函數(shù)開始,選項(xiàng)C)選項(xiàng)錯(cuò)誤;函數(shù)不能嵌套定義,選項(xiàng)D)錯(cuò)誤。
4.A
5.B
6.C題目中定義了一個(gè)結(jié)構(gòu)體,結(jié)構(gòu)體中成員又是一個(gè)結(jié)構(gòu)體,w為結(jié)構(gòu)體workers的變量。如果給內(nèi)層結(jié)構(gòu)體成員賦值,先要得到內(nèi)層結(jié)構(gòu)體變量,即“w.s”。若要給year賦值,表示為“w.s.year”即可。故本題答案為C選項(xiàng)。
7.A數(shù)組定義的一般形式為:類型說明符數(shù)組名[常量表達(dá)式]。B選項(xiàng)中N是變量,不能用變量定義數(shù)組長度。C選項(xiàng)中數(shù)組長度是一串非法的數(shù)字。定義數(shù)組時(shí)必須為其指明長度,D選項(xiàng)中的數(shù)組長度為空,所以非法。故本題答案為A選項(xiàng)。
8.B
9.C
10.A
11.C
12.A\nC語言中程序中的步驟實(shí)現(xiàn)為:先確定程序中的算法和數(shù)據(jù)結(jié)構(gòu),然后進(jìn)行程序的編碼,再進(jìn)行對(duì)程序的調(diào)試,最后進(jìn)行文檔的整理和記錄。使用這種步驟可以方便程序的編寫以及在完成后提高代碼的重用性。
\n
13.A對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行降序排序,下標(biāo)為奇數(shù)元素保持不變。
14.D解析:結(jié)構(gòu)體structureworkers中的成員s是結(jié)構(gòu)體類型,給w中成員year賦值的語句是w.s.year=1980,故選D。
15.A
16.B
17.B
18.C
19.C解析:修改數(shù)據(jù)庫的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過兩級(jí)映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。
20.C
21.事務(wù)分析設(shè)計(jì)事務(wù)分析設(shè)計(jì)解析:典型的數(shù)據(jù)流圖有兩種,即變換型和事務(wù)型。按照這兩種類型把設(shè)計(jì)方法分為兩類,即變換分析設(shè)計(jì)和事務(wù)分析設(shè)計(jì)。
22.n/=10n/=10解析:正整數(shù)按逆序輸出,即從低位到高位順序取出該正整數(shù)個(gè)數(shù)位的值輸出?!皊=n%10”為除10取余,第一次循環(huán)取出該正整數(shù)小數(shù)位,為順序移位,該空應(yīng)為n/=10。
23.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
24.3232解析:二叉樹第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。第6層的結(jié)點(diǎn)數(shù)最多是26-1=32。注意區(qū)別“二叉樹的結(jié)點(diǎn)最多數(shù)”和“某一層的結(jié)點(diǎn)最多數(shù)”。前者的計(jì)算是深度為m的二叉樹最多有2m-1個(gè)結(jié)點(diǎn)。
25.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)稱為扇入,一個(gè)模塊直接調(diào)用的其他模塊個(gè)數(shù)稱為扇出。
26.前后件關(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)系,是通過存儲(chǔ)空間的位置來實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來說,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。
27.白盒或白箱或白盒子或WhiteBox白盒或白箱或白盒子或WhiteBox解析:本題考查軟件工程的測(cè)試。測(cè)試一般有兩種方法:黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試不考慮程序的內(nèi)部邏輯結(jié)構(gòu)和處理過程,只著眼于程序的外部特性。用黑盒測(cè)試來發(fā)現(xiàn)程序中的錯(cuò)誤,必須用所有可能的輸入數(shù)據(jù)來檢查程序能否都能產(chǎn)生正確的輸出。白盒測(cè)試是在了解程序內(nèi)部結(jié)構(gòu)和處理過程的基礎(chǔ)上,對(duì)程序的所有路徑進(jìn)行測(cè)試,檢查路徑是否都能按預(yù)定要求正確工作。因此,劃線處應(yīng)填入“白盒(箱)”或“WhiteBox”。
28.數(shù)據(jù)字典數(shù)據(jù)字典解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。
29.數(shù)據(jù)庫管理系統(tǒng)或DBMS數(shù)據(jù)庫管理系統(tǒng)或DBMS解析:數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫,簡稱DBMS。它對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過DBMS進(jìn)行數(shù)據(jù)庫的維護(hù)工作。它提供多種功能,可使多個(gè)應(yīng)用程序和用戶用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢問數(shù)據(jù)庫。因此,數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫管理系統(tǒng)是實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件。本題的答案是數(shù)據(jù)庫管理系統(tǒng)或DBMS。
30.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結(jié)構(gòu)體類型的定義:
struct結(jié)構(gòu)體類型名
{
成員項(xiàng)表;
};
定義結(jié)構(gòu)體變量的的形式為:
struct結(jié)構(gòu)體類型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
31.16.0
32.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫的應(yīng)用程序的集合。因此,數(shù)據(jù)庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務(wù)。
33.45994599解析:本題是一個(gè)陷阱題,以書寫格式來考查考生對(duì)if語句的理解.if語句只對(duì)緊跟其后的一條語句或語句塊產(chǎn)生作用。因此,題目中兩條if語句只有t=a;和t=b是if的子句。第1條if語句中b<a為假,所以跳過語句t=a;,執(zhí)行a=c;c=t;后,a=5、b=4、c=99。第2條if語句的判斷條件a<c&&b<c為真,所以后面三條語句都被執(zhí)行,這三條語句構(gòu)成一次a和b的內(nèi)容交換。所以最后輸出的結(jié)果是:4599。
34.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
35.1351\r\n3\r\n5解析:本題考查了for循環(huán)語句的使用,break語句用在本題中是結(jié)束for循環(huán)直接跳出循環(huán)體外。當(dāng)i=1時(shí),因?yàn)閕f語句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出1,同時(shí)i自加1;執(zhí)行第二次for循環(huán)時(shí),i=3;同樣的if語句條件不滿足,所以直接執(zhí)行printf('%d\\n',i++);輸出3,同時(shí)i自加1;執(zhí)行第三次for循環(huán)時(shí),i=5,if語句條件滿足,所以執(zhí)行printf('%d\\n',i),輸出5,然后break語句跳出了for循環(huán)。
36.對(duì)象對(duì)象解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,類是具有相同的屬性或方法的對(duì)象的抽象,對(duì)象是類的實(shí)例。
37.7
38.1111解析:此題涉及函數(shù)的調(diào)用和if語句。程序先執(zhí)行第二個(gè)if語句,然后再執(zhí)行第一個(gè)if語句,最后用return返回?cái)?shù)值。
39.8181解析:,解此類題一定要注意宏替換與函數(shù)調(diào)用的區(qū)別。宏替換是字面上的,在編譯期間就完成了,它只是將實(shí)參字符串替換蚌宏中形參出現(xiàn)的位置,得到的新串來替換掉宏調(diào)用.。而函數(shù)是將實(shí)參先計(jì)算好,然后將值賦給形參,再執(zhí)行函數(shù)體,整個(gè)過程在程序運(yùn)行時(shí)發(fā)生。所以本題的宏調(diào)用s(1+1)將被替換成表達(dá)式4*i+j*i+j+1等于4*6+8*6+8+1=24+48+8+1=81。所以本題輸出81。
40.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。
41.D解析:在格式輸入中,要求給出的是變量的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。
42.D
43.B
44.B水平制表符中,'\t'表示的是橫向跳若干格;選項(xiàng)B中,'\039'錯(cuò)誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號(hào);選項(xiàng)D中,'\n'表示的是換行。
45.D解析:本題考查了二維數(shù)組元素引用的方法。題中用動(dòng)態(tài)存儲(chǔ)分配函數(shù)malloc分配了一個(gè)int型數(shù)據(jù)長度大小的內(nèi)存,然后指針p指向了這段內(nèi)存,函數(shù)f()中對(duì)p所指向的數(shù)據(jù)進(jìn)行了賦值,p[1][1]為二維數(shù)組第二行第二列的元素,對(duì)應(yīng)于實(shí)參a的元素5,所以輸出結(jié)果為5。
46.B解析:C語言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下畫線組成,并且它的第一個(gè)字符必須是字母或者下畫線。
47.C解析:getchar():此函數(shù)的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入—個(gè)字符。
2.putchar():此函數(shù)的作用是向終端輸出—個(gè)字符,也可以輸出控制字符。
本題在輸入字符時(shí),ab和c后面的回車符分別賦給了c[2]和c[4],所以,正確答案為C。
48.C解析:本題中首先定義了一個(gè)3行2列的數(shù)組a,一個(gè)長度為3的指針數(shù)組p,接著把地址a[1]賦給p[0]此時(shí)p[0]為a[1][0]的地址,p[0]+1為a[1][1]的地址,故*(P[0]+1)代表的元素為a[1][1]。
49.AA?!窘馕觥緾語言是函數(shù)式的語言。它的基本組成單位是函數(shù),在C語言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。
50.D解析:$不能用做變量名,合法的標(biāo)識(shí)符由字母、數(shù)字和下畫線組成。
51.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。
52.C解析:對(duì)象的封裝性是指從外面看只能看到對(duì)象的外部特性;而對(duì)象的內(nèi)部,其處理能力的實(shí)行和內(nèi)部狀態(tài)對(duì)外是不可見的,是隱蔽的。
53.B解析:在一個(gè)循環(huán)體內(nèi)又完整地包含了另一個(gè)循環(huán)體的,稱為循環(huán)嵌套,外循環(huán)的i值分別為1、2、3,當(dāng)i=1時(shí),內(nèi)循環(huán)j=1時(shí),輸出1*1=1;當(dāng)內(nèi)循環(huán)j=2時(shí),輸出1*2=2;當(dāng)內(nèi)循環(huán)j=3時(shí),輸出1*3=3;當(dāng)i=2時(shí),內(nèi)循環(huán)j=2時(shí),輸出2*2=4;當(dāng)內(nèi)循環(huán)j=3時(shí),輸出2*3=6;當(dāng)i=1,內(nèi)循環(huán)j=3時(shí),輸出3*3=9。
54.C解析:棧和隊(duì)列都是操作受限制的線性表,只允許在端點(diǎn)插入和刪除。不同點(diǎn)是:棧只允許在表的一端進(jìn)行插入和刪除操作,而隊(duì)列允許在表的一端進(jìn)行插入操作,而在另一端進(jìn)行刪除操作。
55.A解析:選項(xiàng)A)是一個(gè)表達(dá)式,它后面沒有分號(hào)結(jié)尾(C語言中規(guī)定語句必須以分號(hào)結(jié)束),所以它不是語句;選項(xiàng)B)用一個(gè)花括號(hào)把幾條語句括起來了,這是一個(gè)復(fù)合語句;選項(xiàng)C)中只有一個(gè)分號(hào),是一個(gè)空語句;選項(xiàng)D)是個(gè)復(fù)合語句,也是一個(gè)空語句。
56.A解析:取模運(yùn)算只能在整型數(shù)據(jù)之間進(jìn)行,a為整型變量。因?yàn)?、*、/這三個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,而類型轉(zhuǎn)換符優(yōu)先于*和/運(yùn)算符。a的值為7,7%3=1,所以(int)(2.5+4.7)=7,1*7=7,7%2=1,1/4=0,所以表達(dá)式x+a%3*(int)(x+y)%2/4=x+0=2.5。
57.A
58.B解析:結(jié)構(gòu)體類型的變量在程序運(yùn)行期間要作為一個(gè)整體占用連續(xù)的內(nèi)存單元。
59.A解析:本題主要考查了字符輸入輸出函數(shù)getchar和putchar的使用。getchar函數(shù)用來從標(biāo)準(zhǔn)輸入設(shè)備上讀入一個(gè)字符,putchar(c)函數(shù)是將字符變量c中的字符輸出到標(biāo)準(zhǔn)輸出設(shè)備上。并且字符可以看作整數(shù)參與運(yùn)算。
60.B解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段??梢愿爬?個(gè)方面:①需求獲??;②需求分析;⑧編寫需求規(guī)格說明書;④需求評(píng)審。
61.An=b>a,n=1,判斷到此,邏輯或?yàn)檎妫竺娴腏=a<b不再執(zhí)行。因此i=1,j=0。
62.D
63.B因?yàn)橐婚g宿舍可以住多名學(xué)生即多名學(xué)生住在一間宿舍中,但,名學(xué)生只能住一間宿舍,所以實(shí)體宿舍和學(xué)生之間是一對(duì)多的關(guān)系,因此本題答案為B)。
64.D\nF函數(shù)是為結(jié)構(gòu)體數(shù)組的第二個(gè)數(shù)賦值,數(shù)組的第一個(gè)數(shù)沒有變化,所以正確答案應(yīng)選D。
\n
65.A
66.D結(jié)構(gòu)化程序設(shè)計(jì)以模塊化設(shè)計(jì)為中心,采用自頂向下、逐步求精的程序設(shè)計(jì)方法。任何算法功能都可以通過由程序模塊組成的三種基本程序結(jié)構(gòu)的組合:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。
67.B在計(jì)算機(jī)中,算法被定義為對(duì)一個(gè)問題求解步驟的一種描述,是求解問題的方法,它是指令的有限序列,其中每條指令表示一個(gè)或者多個(gè)操作。算法具有有窮性、確定性、可行性、輸入和輸出五大特點(diǎn)。
在本題中,選項(xiàng)A、C、D的說法明顯偏離了算法的定義,因此正確答案選B。
68.C因?yàn)橐粋€(gè)人可以操作多個(gè)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)又可以被多個(gè)人使用,所以兩個(gè)實(shí)體之間是多對(duì)多的關(guān)系。
69.D
70.C本題考套的是宏定義。對(duì)帶參數(shù)的宏的
展開只是將語句中宏名后面括號(hào)內(nèi)的實(shí)參字符串代替#define命令行中的形參。本題中“i1=f(8)/f(4)”用"#definef(x)(x*x)"代替得i1=(8*8)/(4*4),結(jié)果為4;
"i2=f(4+4)/f(2+2)"用“#definef(x)(x*x)”代替得i2=(4+4+4+4)/(2+2+2+2),求得結(jié)果為3。故本題輸出的值為4,3
71.A
72.D由C語言編寫而成的程序稱為C源程序,C源程序經(jīng)過C語言編譯程序編譯之后生成一個(gè)后綴為.OBJ的二進(jìn)制文件(稱為目標(biāo)文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個(gè)后綴為.EXE的可執(zhí)行文件。
由于C語言編寫程序采用的是西文字符,而西文字符一般都是以ASCII碼編碼的。因此,C語言的源程序是以ASCII碼形式存放在一個(gè)文本文件中的。
C語言程序中主要包含程序部分和注釋部分,其中程序部分最終將轉(zhuǎn)化為二進(jìn)制的機(jī)器指令,而注釋部分沒有。因此,選項(xiàng)D的說法不正確。
73.CC?!窘馕觥繉?duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 荔枝園土地承包合同
- 裝修木工合同
- 股權(quán)投資項(xiàng)目保密合同范本(版)
- 糖果店創(chuàng)業(yè)計(jì)劃書
- 房地產(chǎn)開發(fā)商預(yù)售合同標(biāo)準(zhǔn)模板
- 房地產(chǎn)買賣合同模板示例
- 未成年人監(jiān)護(hù)合同協(xié)議書
- 建筑設(shè)備采購合同
- 肺部叩診操作標(biāo)準(zhǔn)
- 物業(yè)公司股權(quán)轉(zhuǎn)讓及合作協(xié)議
- 配電間巡檢記錄表
- ISO 31000-2018 風(fēng)險(xiǎn)管理標(biāo)準(zhǔn)-中文版
- 雙人法成生命支持評(píng)分表
- DBJ61_T 179-2021 房屋建筑與市政基礎(chǔ)設(shè)施工程專業(yè)人員配備標(biāo)準(zhǔn)
- 畢業(yè)設(shè)計(jì)三交河煤礦2煤層開采初步設(shè)計(jì)
- 預(yù)應(yīng)力錨索施工全套表格模板
- 食品流通許可證食品經(jīng)營操作流程圖
- CA6132普通車床使用說明書
- 風(fēng)電場(chǎng)工作安全培訓(xùn)
- 壓縮機(jī)課程設(shè)計(jì)(共28頁)
- 四方公司機(jī)組扭振監(jiān)測(cè)、控制和保護(hù)新技術(shù)---1105 17
評(píng)論
0/150
提交評(píng)論