![2021-2022年云南省麗江市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第1頁](http://file4.renrendoc.com/view/122bb58a0f668994b1f109804c704611/122bb58a0f668994b1f109804c7046111.gif)
![2021-2022年云南省麗江市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第2頁](http://file4.renrendoc.com/view/122bb58a0f668994b1f109804c704611/122bb58a0f668994b1f109804c7046112.gif)
![2021-2022年云南省麗江市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第3頁](http://file4.renrendoc.com/view/122bb58a0f668994b1f109804c704611/122bb58a0f668994b1f109804c7046113.gif)
![2021-2022年云南省麗江市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第4頁](http://file4.renrendoc.com/view/122bb58a0f668994b1f109804c704611/122bb58a0f668994b1f109804c7046114.gif)
![2021-2022年云南省麗江市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)_第5頁](http://file4.renrendoc.com/view/122bb58a0f668994b1f109804c704611/122bb58a0f668994b1f109804c7046115.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年云南省麗江市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.鏈表不具備的特點(diǎn)是()。
A.可隨機(jī)訪問任一結(jié)點(diǎn)B.插入刪除不需要移動元素C.不必事先估計(jì)存儲空間D.所需空間與其長度成正比
2.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:a+=1;
case1;
case2:a+=2;
default:a+=3;
}
}
printf("%d",a);
}
A.19B.1C.6D.8
3.算法的時間復(fù)雜度是指A.算法的執(zhí)行時間B.算法所處理的數(shù)據(jù)量C.算法程序中的語句或指令條數(shù)D.算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
4.
5.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
6.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.02B.13C.57D.12
7.以下敘述中正確的是()。
A.C語言函數(shù)可以嵌套調(diào)用,例如:fim(fun(X))
B.C語言程序是由過程和函數(shù)組成的
C.C語言函數(shù)不可以單獨(dú)編譯
D.C語言中除了main函數(shù)外,其他函數(shù)不可作為單獨(dú)文件形式存在
8.算法能正確地實(shí)現(xiàn)預(yù)定功能的特性稱為算法的()。
A.正確性B.易讀性C.健壯性D.高效率
9.在下列幾種排序方法中,空間復(fù)雜度最高的是()
A.歸并排序B.快速排序C.插入排序D.選擇排序
10.若有定義“intx=12,y=8,z;”,在其后執(zhí)行語句“z=0.9+x/y;”,則z的值為()。
A.1B.1.9C.2D.2.4
11.
12.一個有n個頂點(diǎn)的連通無向圖至少有()條邊。
A.n-1B.nC.n+1D.n+2
13.排序方法中,將整個無序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為______。
A.希爾排序B.冒泡排序C.插入排序D.選擇排序
14.下列程序的輸出結(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
15.有以下程序: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ù)組右上半三角1234678111216則在程序下劃線處應(yīng)填入的是()。A.i-1B.iC.i+1D.4一i
16.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時編譯器提示錯誤信息,你認(rèn)為出錯的語句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;
17.
18.函數(shù)filecopy的功能是,將fin所指文件中的內(nèi)容輸出到fout所指文件中,但函數(shù)不完整:voidfilecopy(FILE*fin,FILE*fout){charch;ch=getc(fin);while(_______){putc(ch,fout);ch=getc(fin);}}其中下劃線處應(yīng)填入的是()。A.!feof(fin)B.!feof(fout)C.feof(fin)==1D.feof(fout)==1
19.
20.有以下程序voidsum(inta[]){a[0]-a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf(“%d\n”,a[2]);}程序運(yùn)行后的輸出結(jié)果是A.6B.7C.5D.8
二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
22.以下程序的輸出結(jié)果是______。
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n+1+i];a[n-1-i]=t;}
}
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d\n",s);
}
23.若輸入3、4、5,程序的輸出結(jié)果為【】。
#include"math.h"
main()
{floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);
printf("area=%7.2f\n",area);
}
24.數(shù)據(jù)庫技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。
25.下列程序執(zhí)行后輸出的結(jié)果是【】。
f(intA)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
26.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
27.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),隊(duì)列屬于______。
28.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
fun()
{staticinta=0;
a+=2;printf("%d",a);}
main()
{intcc;
for(cc=1;CC<4;CC++)fun();
printf("\n");}
29.數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)以防止【】用戶的使用造成的數(shù)據(jù)泄密和破壞。
30.以下程序從終端輸入一行字符放在s數(shù)組中,輸入以回車符作為結(jié)束,函數(shù)fun統(tǒng)計(jì)存放在s數(shù)組中每個數(shù)字字符的個數(shù)。形參ch指向s數(shù)組,形參n給出了s數(shù)組中字符的個數(shù)。在acc數(shù)組中用下標(biāo)為0的元素統(tǒng)計(jì)字符“0”的個數(shù),下標(biāo)為1的元素統(tǒng)計(jì)字符“1”的個數(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]++;}
}
31.下列程序的輸出結(jié)果是【】。
#include<stdio.h>
intfun(intx,inty)
{staticintm0,i=2;
i+=m+1;
m=i+x+y;
returnm;
}
main()
{intj=4,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j,m);printf("%d\n",k);
}
32.設(shè)有以下程序,為使之正確運(yùn)行,請?jiān)谙聞澗€中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)
【】
main()
{printf("\n");
try_me();
printf("\n");}
33.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。
#include"stdio.h"
main()
{charfun(char,int);
chara=′A′;
intb=13;
a=fun(a,b);
putchar(a);}
charfun(chara,intb)
{chark;
k=a+b;
returnk;}
34.下面程序的功能是兩個整數(shù)進(jìn)行交換,請?zhí)羁铡?/p>
sub(int*x,int*y)
{【】
z=*x;*x=*y;*y=z;
return;}
main()
{intm,n,*t1,*t2;
scanf("%d,%d",&m,&n);
t1=&m;t2=&n;
【】
printf("%d,%d\n",m,n);}
35.線性表的存儲結(jié)構(gòu)主要分為順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。隊(duì)列是一種特殊的線性表,循環(huán)隊(duì)列是隊(duì)列的【】存儲結(jié)構(gòu)。
36.數(shù)據(jù)庫系統(tǒng)在其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。
37.軟件需求規(guī)格說明書應(yīng)具有完整性、無歧義性、正確性、可驗(yàn)證性、可修復(fù)性等特性,其中最重要的是()。
38.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
39.x和y都是double型變量,x的初值為4.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為______。
40.若變量n的值為24,則print函數(shù)共輸出【】行,最后一行有【】個數(shù)。
voidprint(intn,intaa[])
{inti;
for(i=1;i<n;i++)
{printf("%6d",aa[i]);
if(!(i%5))printf("\n");
}
printf("\n");
}
三、1.選擇題(20題)41.以下合法的賦值語句是()
A.x=y=100B.d--;C.x+y;D.c=int(a+b);
42.下列工具中為需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
43.以下錯誤的定義語句是()。
A.intx[][3]={{0},{1},{1,2,3}};
B.intx[4][3]={{1,2,3},{1,2,3),{1,2,3},{1,2,3}};
C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D.intx[][3]={1,2,3,4};
44.以下敘述中錯誤的是A.算法正確的程序最終一定會結(jié)束
B.算法正確的程序可以有零個輸出
C.算法正確的程序可以有零個輸入
D.算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果
45.有以下程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
46.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價的賦值語句是()。
A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;
47.數(shù)據(jù)庫設(shè)計(jì)的四個階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和______。A.編碼設(shè)計(jì)B.測試階段C.運(yùn)行階段D.物理設(shè)計(jì)
48.有如下說明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
49.在具有n(n>1)個結(jié)點(diǎn)的完全二叉樹中,結(jié)點(diǎn)i(2i>n)的左孩子結(jié)點(diǎn)是______。
A.2iB.2i+1C.不存在D.2i-1
50.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序的易讀性
51.以下程序中的for循環(huán)執(zhí)行的次數(shù)是______。#defineN2#defineMN+1#defineNUM2*M+1main(){inti;for(i=1;i<NUM;i++)printf("%d\n",i);}
A.5B.6C.7D.8
52.若變量已正確定義并賦值,下面符合C語言的表達(dá)式是_____。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
53.在結(jié)構(gòu)化程序設(shè)計(jì)方法中,下面哪種內(nèi)聚性最弱?
A.邏輯內(nèi)聚B.時間內(nèi)聚C.偶然內(nèi)聚D.過程內(nèi)聚
54.有定義:inta=1,b=2,c=3,x;則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是()。
A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;
B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;
C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;
D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
55.有以下程序#include<stdio.h>#include<string.h>voidfun(char,*s[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]:s[j];s[j]=t;}}main(){char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);}程序的運(yùn)行結(jié)果是
A.xy,aaaaccB.aaaacc,xyC.bcc,aabccD.aabcc,bcc
56.當(dāng)說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的內(nèi)存是()。
A.各成員所需要內(nèi)存量的總和
B.結(jié)構(gòu)中第一個成員所需的內(nèi)存量
C.成員中占內(nèi)存最大者所需的容量
D.結(jié)構(gòu)中最后一個成員所需要的內(nèi)存量
57.已有定義int(*q)(),指針q可以()。
A.指向函數(shù)的入口地址B.代表函數(shù)的返回值C.表示函數(shù)的類型D.表示函數(shù)返回值的類型
58.有下列二叉樹,
對此二叉樹前序遍歷的結(jié)果為()。
A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI
59.排序方法中,將整個無序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為______。
A.希爾排序B.冒泡排序C.插入排序D.選擇排序
60.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。
A.a==1B.++i;C.a=int(i);D.a=a++=5;
四、選擇題(20題)61.對于循環(huán)隊(duì)列,下列敘述中正確的是()。
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
62.
63.計(jì)算機(jī)能直接執(zhí)行的程序是()。A.可執(zhí)行程序B.目標(biāo)程序C.匯編程序D.源程序
64.設(shè)計(jì)軟件結(jié)構(gòu)是軟件生命周期的()。
A.軟件定義期B.軟件開發(fā)期C.軟件維護(hù)期D.以上3個都不是
65.
66.以下選項(xiàng)中正確的定義語句是()。
A.double,a,b;B.doublea=b=7;C.doublea;b;D.doublea=7,b=7;
67.有以下程序:
main()
{intX,i;
for(i=1;i<=50;i++)
{x=i;
if(X%2=O)
if(x%3=O)
if(X%7=0)
printf("%d,i)";
}
}
輸出結(jié)果是()。
A.28
B.27
C.42
D.41
68.
69.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
70.
71.以下程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.4D.8
72.設(shè)有以下程序段:
要求輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯誤的輸入語句是()。
A.seanf(”%s”Ptrtitle);
B.scanf(”%s”,rec.title);
C.scanf(’’%s”,(*pu).title);
D.scanf(”%s”,ptr->title);
73.下列選擇中,不能用做標(biāo)識符的是()。
A.1234B._1_2C.int_2_D.2_int_
74.
75.有三個關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為()。A.選擇B.投影C.交D.并
76.
77.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
78.
79.下列敘述中正確的是()。
A.棧是“先進(jìn)先出”的線性表
B.隊(duì)列是“先進(jìn)后出”的線性表
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
80.已知:intx,y;doublez;則以下語句中錯誤的函數(shù)調(diào)用是()。A.A.scanf("%d,%1x,%1e",&x,&y,&z);
B.scanf("%1d*%d&1f",&x,&y,&z);
C.scanf("%x%*d%o",&x,&y);
D.scanf("%x%o%6.2f",&x,&y,&z);
五、程序改錯題(1題)81.已知一個數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過形參傳人。例如,當(dāng)n-20時,程序的輸出結(jié)果應(yīng)為42762.000000。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.某學(xué)生的記錄由學(xué)號、8門課程成績和平均分組成,學(xué)號和8門課程的成績已在主函數(shù)中給出,請編寫函數(shù)fun,其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。
例如,學(xué)生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fIm的花括號中填入你編寫的若干語句。
參考答案
1.A
2.A
\n本題考查switch語句。當(dāng)i一1時,執(zhí)行case1,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,“a=a+2=2,a=a+3=5”;當(dāng)i=2時,執(zhí)行case2,因?yàn)闆]有遇到break語句,所以依次往下執(zhí)行,“a=a+2=7,a=a+3=10”;當(dāng)i=3時,執(zhí)行case3,a=a+1=11,因?yàn)闆]有遇到break語句,所以依次往下運(yùn)行,a—a+2—13,a—a+3一l6:當(dāng)i=4時,執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。
3.DD?!窘馕觥克惴ǖ臅r間復(fù)雜度是指算法需要消耗的時間資源。一般來說,計(jì)算機(jī)算法是問題規(guī)模。09函數(shù)fin),算法的時間復(fù)雜度也因此記做T(n)=O(f(n))。因此,問題的規(guī)模n越大,算法執(zhí)行的時間的增長率與f(n)的增長率正相關(guān),稱作漸進(jìn)時間復(fù)雜度(AsymptoticTimeComplexity)。簡單來說就是算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)。
4.C
5.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
6.D本題考查邏輯運(yùn)算符的”短路”現(xiàn)象,由于k的值為0,表達(dá)式首先去求k++的值,因?yàn)楸磉_(dá)式k++的值為0,系統(tǒng)完全可以確定邏輯表達(dá)式的運(yùn)算結(jié)果總是為0,因此將跳過n++>2,不再對它進(jìn)行求值,即k的值加1,n的值不變。
7.AC語言程序是由函數(shù)組成的,所以B選項(xiàng)錯誤。C語言函數(shù)可以單獨(dú)進(jìn)行編譯,所以C選項(xiàng)錯誤。每個C語言程序必須包含一個main函數(shù),但不是每個C語言程序文件都必須有一個main函數(shù),用戶單獨(dú)編寫的某個函數(shù)也可以存儲為一個C語言程序文件,所以D選項(xiàng)錯誤。故本題答案為A選項(xiàng)。
8.A
9.A
10.A在表達(dá)式“z=0.9+x/y”中,先計(jì)算“3.6-2”,結(jié)果為1;再計(jì)算“0.9+1”,結(jié)果為1.9。因?yàn)樽兞縵為整型,所以z的值為1。故本題答案為A選項(xiàng)。
11.A
12.A
13.A解析:希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進(jìn)行插入排序。
14.C當(dāng)執(zhí)行fun函數(shù)時,因?yàn)閰?shù)傳遞時是地址傳遞,因此形參值的改變會影響實(shí)參中的數(shù),在執(zhí)行fun函數(shù)時先輸出12,接著把*X賦3,*y賦4,此時帶回主函數(shù)中,輸出的值為34。
15.B本題中要求輸出右上半角的數(shù),對角線上的數(shù)的下標(biāo)相同,所以j=i。
16.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對指針進(jìn)行賦值時沒有錯誤。a=/*p+m賦值,在c語言中"/*"表示的注釋,所以答案選擇A。
17.B
18.Afilecopy函數(shù)每次從fin文件指針調(diào)用getc函數(shù)讀取一個字符存放到ch中,再通過while循環(huán)調(diào)用putc函數(shù)將ch寫入fout,直到fin指向文件尾部為止。所以while的循環(huán)條件是判斷fin是否到文件尾部。這里使用feof函數(shù)判斷:feof返回值為真時,表示fin指向了文件尾部,否則表示fin未到文件尾部。所以while循環(huán)條件為!feof(fin)。故本題答案為A選項(xiàng)。
19.A
20.A本題考查的是數(shù)組和函數(shù)。sum()函數(shù)接收一個int型數(shù)組作參數(shù),也可以把它看作是一個int型指針,語句a[0]=a[*1)+a(比的意思就是將參數(shù)指針指向內(nèi)容的前一個元素和后一個元素的值相加放到指針?biāo)傅奈恢茫虼耍骱瘮?shù)中調(diào)用sum(&a[2]);的意思就是讓a[2]=a[1]+a[3];,所以最后輸出的結(jié)果是6。應(yīng)該選擇A。
21.852852解析:循環(huán)前,變量y的值為9,其中,循環(huán)語句在y大于0情況下循環(huán),每次循環(huán)后y的值都減1。循環(huán)體是當(dāng)y能被3整除時輸出表達(dá)式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán),所以程序輸出852。
22.在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]…b[9]的值相加,結(jié)果為盟。\r\n\r\n
23.a=3.00b=4.00c=5.00s=6.00area=6.00
24.共享性共享性解析:數(shù)據(jù)庫技術(shù)的主要特點(diǎn)有以下幾個方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。
25.77解析:在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。
26.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術(shù)運(yùn)算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進(jìn)制整數(shù)和字符形式輸出a和b的值為:67G。
27.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:隊(duì)列有且只有一個根結(jié)點(diǎn),而且每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件,滿足線性結(jié)構(gòu)的條件,所以屬于線性結(jié)構(gòu)。
28.246246解析:本題考查了for循環(huán)語句的使用,同時靜態(tài)局部變量的存儲和生存其特性也要注意。第一次執(zhí)行fun()函數(shù)時,a=0,所以a+=2=2;第二次執(zhí)行fun()函數(shù)時,a保留著上次制形式的結(jié)果2,所以a+=2=4;同理第三次執(zhí)行fun()函數(shù)時,a=6,所以輸出結(jié)果為246。
29.(非法)不合法(非法)不合法
30.i++accsi0ch[i]-'0'
31.817
32.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲分類的概念。如果沒有特別說明,函數(shù)的存儲范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個函數(shù),需要用#include文件包含命令將定義函數(shù)的文件包含進(jìn)來。
33.NN解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符'A'的ASCII碼值上加上一個常數(shù),使之變成另一個ASCII碼值,從而輸出字符。
34.intz;sub(t1t2);
35.順序順序解析:線性表的存儲結(jié)構(gòu)主要分為順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。當(dāng)隊(duì)列用鏈?zhǔn)酱鎯Y(jié)構(gòu)實(shí)現(xiàn)時,就稱為鏈隊(duì)列;當(dāng)隊(duì)列用順序存儲結(jié)構(gòu)實(shí)現(xiàn)時,就稱為循環(huán)表。因此,本題劃線處應(yīng)填入“順序”。
36.內(nèi)模式內(nèi)模式解析:內(nèi)模式又稱為物理模式,它給出?數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。
37.正確性正確性解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,通過建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計(jì)約束的說明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對目標(biāo)軟件的各種需求。軟件需求規(guī)格說明書的特點(diǎn):①正確性;②無歧義性;③完整性;④可驗(yàn)證性;⑤一致性;⑥可理解性;⑦可追蹤性。其中最重要的是正確性。
38.33解析:本題考查do…while語句形式:
do循環(huán)體
while表達(dá)式
首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時再判斷循環(huán)條件不滿足,退出循環(huán)。
39.1616解析:函數(shù)運(yùn)算不改變數(shù)據(jù)類型,所以結(jié)果也是double型,fabs(x)是對x取絕對值,pow(y,fabs(x))是y的labs(x)次冪,即2.04。0=16.000000(注意;結(jié)果為double型)。
40.5454解析:語句if(!(i%5))printf('\\n');實(shí)現(xiàn)每5個數(shù)輸出一行,因?yàn)閚的值為24,所以共輸出5行,最后一行有4個數(shù)。
41.B解析:選項(xiàng)A的結(jié)尾沒用‘;’,所以不是一條語句:選項(xiàng)C中的表達(dá)式不會改變?nèi)魏巫兞康膬?nèi)容,也不是合法的賦值語句;選項(xiàng)D有語法錯誤,int應(yīng)該加上括號。所以,4個選項(xiàng)中只有選項(xiàng)B符合題意,運(yùn)行后d的內(nèi)容被減一。
42.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。
43.C解析:若在定義二維數(shù)組的同時對數(shù)組進(jìn)行初始化,可以不指定一維長度.但二維長度不能省略,因此選項(xiàng)C是錯誤的。如果數(shù)據(jù)不足,系統(tǒng)將自動給后面的元素自動補(bǔ)初值0。
44.B(45)B)解析:算法應(yīng)該具有下列五個特性:
①有窮性:一個算法必須在執(zhí)行有窮步之后結(jié)束。
②確定性:算法中的每一步,必須有確切的含義,在他人理解時不會產(chǎn)生二義性。
③動態(tài)性:算法中描述的每一步操作都可以通過已有的基本操作執(zhí)行有限次實(shí)現(xiàn)。
④輸入:一個算法應(yīng)該有零個或多個輸入。
⑤輸出:一個算法應(yīng)該有一個或多個輸出。這里所說的輸出是指與輸入有某種特定關(guān)系的量。
45.D解析:為了使程序不陷入死循環(huán),則while的條件不能一直為真。t的初值為1,循環(huán)體中語句t=t-2使t變?yōu)樨?fù)奇數(shù)-1、-3、-5…,而while的循環(huán)條件是t不等于n,若從鍵盤輸入的數(shù)據(jù)為A、B、C三項(xiàng)時,則t永遠(yuǎn)不等于n,即循環(huán)條件一直為真,程序陷入死循環(huán)。只有輸入負(fù)奇數(shù)時,t會在某個時候等于n,使得while條件不成立,終止循環(huán)。
46.B解析:本題考核的知識點(diǎn)是for循環(huán)次數(shù)的計(jì)算.本程序中for循環(huán)的次數(shù)為c-1+1共循環(huán)了c次,而每循環(huán)一次s的值加1,所以s的值為s+c.而最開始s的值為a,故4個選項(xiàng)中選項(xiàng)B符合題意.
47.DD)【解析】數(shù)據(jù)庫設(shè)計(jì)目前一段采用生命周期法.即將整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開分解成目標(biāo)獨(dú)立的若干階段,它們是:需要分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測試階段、運(yùn)行階段、進(jìn)一步修改階段。在數(shù)據(jù)庫設(shè)計(jì)中采用上面幾個階段中的前四個階段,并且重點(diǎn)以數(shù)據(jù)結(jié)構(gòu)和模型設(shè)計(jì)為主線。
48.B解析:在C語言的數(shù)組元素的引用方法,我們在前面已經(jīng)講過了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來引用,對于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對此地址使用“間接訪問運(yùn)算符”:*(p+1)就代表存儲單元a[1],注意:一對圓括號不可少。同樣,對于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來引用…,對于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時,若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來表示。
49.C解析:完全二叉樹中葉子結(jié)點(diǎn)一定在最后一層或兩層。n個結(jié)點(diǎn)的完全二叉樹中,其層數(shù)最多為log2n+1。結(jié)點(diǎn)i與雙親的關(guān)系是i≠1時,i的雙親是trunc(i/2)。結(jié)點(diǎn)i與子女的關(guān)系是:若2i≤n,則i的左孩子是標(biāo)號2i的結(jié)點(diǎn),若2i>n,則不存在左孩子;若2i+1≤n,則i的右孩子是標(biāo)號2i+1的結(jié)點(diǎn),若2i+1>n,則該結(jié)點(diǎn)不存在右孩子。
50.D解析:程序不僅是編寫完就結(jié)束了,為了測試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。
51.B解析:宏替換是先替換再運(yùn)算返回結(jié)果,因此N的值為2,M的值為3,NUM的值=2*M+1=2*N+1+1=6,而不是:2*M+1=2*(N+1)+1=7。因此該循環(huán)只執(zhí)行6次。
52.B解析:選項(xiàng)A和C一望而知其錯;對于表達(dá)式a=a+7=c+b(答案D),是先執(zhí)行賦值表達(dá)式a+7=c+b,再把這個表達(dá)式的值賦給a,顯然,表達(dá)式a+7=c+b非法,因?yàn)橘x值表達(dá)式的左側(cè)不能為常量或表達(dá)式。
53.C解析:內(nèi)聚有很多種類,其中內(nèi)聚性由弱到強(qiáng)的順序?yàn)椋号既粌?nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚。
54.C解析:選項(xiàng)A),因?yàn)榍懊鎯蓚€條件都不滿足,所以執(zhí)行x=3。選項(xiàng)B),a<3成立,執(zhí)行x=3。選項(xiàng)C),a<3成立,執(zhí)行x=3;a<2成立,執(zhí)行x=2;a<1不成立,不執(zhí)行x=1,所以執(zhí)行此段程序后x=2。選項(xiàng)D),a<b成立,執(zhí)行x=b,此時x=2;b<c成立,執(zhí)行x=c,此時x=3;c<a不成立,不執(zhí)行x=a,所以執(zhí)行此段程序后x=3。
55.A解析:函數(shù)fun(char,s[],intn)的功能是對字符串?dāng)?shù)組的元素按照字符串的長度從小到大排序。在主函數(shù)中執(zhí)行fun(ss,5)語句后,*ss[]={'xy','bcc','bbcc','aabcc','aaaacc'},ss[0],ss[4]的輸出結(jié)果為xy,aaaacc。
56.A解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個成員相互獨(dú)立。
57.A解析:本題考查的是指向函數(shù)的指針。函數(shù)指針的定義方式是:類型標(biāo)識符(*指針變量名)()。其中,“類型標(biāo)識符”為函數(shù)返回值的類型;“指針”指向函數(shù)的入口地址。
58.C解析:對二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時,先訪問根結(jié)點(diǎn),再依次訪問其左、右子樹。
59.A解析:希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進(jìn)行插入排序。
60.B解析:C語言中的語句都以“;”結(jié)尾,因此選項(xiàng)A不是合法語句。強(qiáng)制類型轉(zhuǎn)換運(yùn)算符應(yīng)為“(類型名)”,選項(xiàng)C中的int(i)不符合規(guī)定;如將int(i)看成函數(shù)調(diào)用也是不正確的,int是C語言的關(guān)鍵字,不能作為用戶定義的標(biāo)識符當(dāng)函數(shù)名使用。賦值表達(dá)式的左側(cè)應(yīng)為變量名,而選項(xiàng)D中的a++=5不符合規(guī)定。
61.D循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著入隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu),所以隊(duì)頭指針有時可能大于隊(duì)尾指針,有時也可能小于隊(duì)尾指針。
62.B
63.A計(jì)算機(jī)能直接執(zhí)行的程序是二進(jìn)制的可執(zhí)行程序,其他的不能直接執(zhí)行。
64.B本題是對軟件設(shè)計(jì)結(jié)構(gòu)的考查。設(shè)計(jì)軟件結(jié)構(gòu)是軟件概要設(shè)計(jì)階段進(jìn)行的,而概要設(shè)計(jì)屬于軟件開發(fā)期。
65.C
66.DA
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級道德與法治上冊第二單元 友誼的天空第四課友誼與成長同行第2框深深淺淺話友誼聽課評課記錄(新人教版)
- 湘教版數(shù)學(xué)九年級上冊《小結(jié)練習(xí)》聽評課記錄
- 小學(xué)二年級上冊數(shù)學(xué)口算檢測試卷
- 五年級下學(xué)期班主任班級工作總結(jié)
- 蘇教版小學(xué)四年級上冊數(shù)學(xué)口算題
- 蘇教版五年級數(shù)學(xué)上冊期末復(fù)習(xí)口算練習(xí)題一
- 云南省食用菌產(chǎn)品買賣合同范本
- 湘教版數(shù)學(xué)七年級上冊第3章小結(jié)與復(fù)習(xí)聽評課記錄
- 店長聘用協(xié)議書范本
- 深圳房地產(chǎn)出租合同范本
- 《榜樣9》觀后感心得體會二
- 《西安交通大學(xué)》課件
- 天津市部分區(qū)2024-2025學(xué)年九年級(上)期末物理試卷(含答案)
- 小學(xué)二年級數(shù)學(xué)計(jì)算題共4165題
- 一氧化碳中毒培訓(xùn)
- 初二上冊好的數(shù)學(xué)試卷
- 保潔服務(wù)質(zhì)量與服務(wù)意識的培訓(xùn)
- 廣東省潮州市2024-2025學(xué)年九年級上學(xué)期期末道德與法治試卷(含答案)
- 突發(fā)公共衛(wèi)生事件衛(wèi)生應(yīng)急
- 部編版2024-2025學(xué)年三年級上冊語文期末測試卷(含答案)
- 《景觀設(shè)計(jì)》課件
評論
0/150
提交評論