




版權(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ì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.若有以下的說明和語句,則在執(zhí)行for語句后,’(*(pt+1)+2)表示的數(shù)組元素是()。intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
3.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.2,14,3,18,4,18
B.1,14,2,18,3,18
C.2,14,3,18,4,22
D.1,14,2,18,3,18,4,18
4.以下不構(gòu)成無限循環(huán)的語句或語句組的是()。
A.n=0;do{++n;}while(n<=0);
B.n=0;while(1){n++;}
C.n=10;while(n);{n--;}
D.for(n=0,i=1;i++)n+=i;
5.有以下程序:#include<stdio.h>main(){inta[3][3]={{1,3,5,},{7,9,11,},{13,15,17}};int(*p)[3]=a,i,j,n=0;for(i=0;i<3;i++)for(j=0;j<2;j++)n+=*(*(p+i)+j);printf(“%d\n”,n);}程序運(yùn)行后的輸出結(jié)果是()。
A.54B.60C.36D.48
6.設(shè)有定義intn=0,*p=&n,**q=&p;,則下列選項(xiàng)中正確的賦值語句是
A.p=1;B.*q=2;C.q=p;D.*p=5;
7.若有以下說明:chars1[]={"tree"},s2[]={"flower"};,則以下對(duì)數(shù)組元素或數(shù)組的輸出語句中,正確的是()。
A.printf("%s%s",s1[5],s2[7]);
B.printf("%c%c",s1,s2);
C.puts(s1);puts(s2);
D.puts(s1,s2);
8.在待排序文件已基本有序的前提下,下述排序方法中效率最高的是()。
A.直接插入排序B.直接選擇排序C.快速排序D.二路歸并排序
9.有以下程序main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}程序運(yùn)行后的輸出結(jié)果是______。A.3B.5C.-1D.-2
10.在銀行業(yè)務(wù)中,實(shí)體客戶和實(shí)體銀行之間的聯(lián)系是()。
A.—對(duì)一B.—對(duì)多C.多對(duì)一D.多對(duì)多
11.以下程序的輸出結(jié)果是()。main(){inti,a[4][4]一{{1,3,5),{2,4,6},{3,5,7}};printf("%(1%d%d%d\n".a(chǎn)[O][3],a[1][2],a[2][1],a[3][0];}A.0650B.1470C.5430D.輸出值不定
12.若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:case′A′:
case′e′:case′E′:
case′i′:case′I′:
case′o′:case′O′:
case′u′:case′U′:v1+=1;
default:v0+=1;v2+=1;}}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
13.設(shè)有定義:“inta=1,b=2,C=3;”,以下語句中執(zhí)行效果與其他三個(gè)不同的是()。
A.if(a>b)c=a,a=b,b=C;
B.if(a>b){c=a,a=b,b=C;}
C.if(a>b)c=a;a=b;b=C;
D.if(a>b){c=a;a=b.b=C;)
14.
15.要求通過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);
16.設(shè)二維數(shù)組A[1...m,1...n]按行存儲(chǔ)在數(shù)組B中,則二維數(shù)組元素A[i,j]在一維數(shù)組B中的下標(biāo)為()。A.A.n*(i-1)+jB.n*(i-1)+j-1C.i*(j-1)D.j*m+i-1
17.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
18.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.4B.34C.31D.32
19.已知A=10,B=20,下類表達(dá)式正確的是()。
A.C=(A++)*(--B)=200
B.A-=30
C.C=(A++)+(B--)=30
D.C=(++A)*(--B)=210
20.微型計(jì)算機(jī)的運(yùn)算器、控制器及內(nèi)存儲(chǔ)器組合在一起,稱之為()
A.ALUB.CPUC.MPUD.主機(jī)
二、2.填空題(20題)21.在一個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。
22.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。
23.下面程序的運(yùn)行結(jié)果是______。
typedefunionstudent
{
charname[10];
longsno;
charsex;
floatscore[4];
}STU;
main()
{
STUa[5];
printf("%d\n",sizeof(A));
}
24.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。
25.二叉樹的遍歷可以分為三種:前序遍歷、()遍歷和后序遍歷。
26.以下程序的輸出結(jié)果是______。
main()
{chars[]="abcdef";
s[3]='\0';
printf("%s\n",s);
}
27.以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:
abcl23edf456gh,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype,h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;}
d[j]='\0';
puts(d);
}
28.函數(shù)rewind的作用是
29.下列程序用來將從鍵盤上輸入的2個(gè)字符串進(jìn)行比較,然后輸出2個(gè)字符串中第1個(gè)不相同字符的ASCII碼之差。例如,輸入的2個(gè)字符串分別為abcdef和abceef,則輸出為-1。
#include
main()
{charstr[100],str2[100],c;
inti,s;
printf("\ninputstring1:\n");gest(str1);
printf("\ninputstring2:\n");gest(str2);
i=0;
while((strl[i]==str2[i]&&(strl[i]!=【】))
i++;
s=【】;
printf(.%d\n",s);
30.計(jì)算機(jī)中存儲(chǔ)容量的基本單位是字節(jié),它的英文名稱是【】。
31.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
32.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。
33.用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為【】。
34.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
35.下述函數(shù)統(tǒng)計(jì)字符串中的單詞個(gè)數(shù),單詞是指處在空格之間的字符序列,請(qǐng)?zhí)羁铡?/p>
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】=")flag=0;
elseif【】{flag=1;num++}
}
return【】;}
36.單元測(cè)試又稱模塊測(cè)試,一般采用【】測(cè)試。
37.以下程序運(yùn)行后的輸出結(jié)果是______。
main
{
inna=b=c=5:
if(c=a+b)
printf("yes\n);
else
printf("no\n);
}
38.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
39.在C語言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。
40.與二維表中的“行”的概念最接近的概念是()。
三、1.選擇題(20題)41.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
42.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是()。A.A.面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法
B.面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法
C.面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法
D.面向?qū)ο蟮姆治龇椒?/p>
43.設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為______。A.EOFB.非0值C.0D.NULL
44.一個(gè)存儲(chǔ)結(jié)點(diǎn)存放一個(gè)______。
A.數(shù)據(jù)項(xiàng)B.數(shù)據(jù)元素C.數(shù)據(jù)結(jié)構(gòu)D.數(shù)據(jù)類型
45.設(shè)有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是()。
A.scanf("%d",pa);
B.scanf("%d",a);
C.scanf("%d",&pa);
D.scanf("%d",*pa);
46.sizeof(float)是()。
A.一種函數(shù)調(diào)用B.一種函數(shù)定義C.一個(gè)浮點(diǎn)表達(dá)式D.一個(gè)整型表達(dá)式
47.有以下程序
#include<stdio.h>
voidfun(int*s,intn1,intn2)
{inti,j,t;
i=n1;j=n2;
while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}
}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3);fun(a,4,9);fun(a,0,9);
for(k=0;k<l0;k++)printf("%d",a[k]);printf("\n");
}
程序的運(yùn)行結(jié)果是
A.0987654321B.4321098765C.5678901234D.0987651234
48.數(shù)據(jù)厙系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.軟件開發(fā)C.數(shù)據(jù)庫設(shè)計(jì)D.數(shù)據(jù)庫管理系統(tǒng)
49.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是_______。
A.地址傳遞B.單向值傳遞C.由實(shí)參傳給形,再由形參傳回實(shí)參D.傳遞方式由用戶指定
50.下列二維數(shù)組的說明中,不正確的是()。
A.floata[][4]={0,1,8,5,9};
B.inta[3][4];
C.#defineN5
D.inta[2][9.5];floata[N][3];
51.以下4個(gè)選項(xiàng)中,不能看作一條語句的是
A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;
52.以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價(jià)的是()。
A.if((a>B)&&(b:>C))k=l;elsek=0;
B.if(a>B)‖(b>C)k=1;elsek=0;
C.if(a<=B)k=0;elseif(b<=e)k=1;
D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;
53.對(duì)存儲(chǔ)器按字節(jié)進(jìn)行編址,若某存儲(chǔ)器芯片共有10根地址線的引腳,則該存儲(chǔ)器芯片的存儲(chǔ)容量為()
A.512BB.1KBC.2KBD.4KB
54.下列程序的輸出結(jié)果是()。#include<8tdio.h>main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}
A.3B.3.2C.0D.3.07
55.下面程序的輸出結(jié)果()main(){unsigneda=32768;printf("a=%d\n",a);}
A.a=32768B.a=32767C.a=-32768D.a=-1
56.需求分析階段的任務(wù)是確定()
A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.軟件系統(tǒng)功能
57.假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為``
A.log2n
B.n2
C.O(n1.5)
D.n(n-1)/2
58.假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是()。a=b=c=0;x=12;if(!a)x--;elsex=5:if(c)x=3:elsex=4:A.11B.4C.12D.3
59.算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是_____。A.有窮性B.簡潔性C.可行性D.確定性
60.下列關(guān)于棧的描述中錯(cuò)誤的是()。A.棧是先進(jìn)后出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針
四、選擇題(20題)61.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
62.
63.若有定義語句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>
k1)后,kl和k2的值分別為()。
A.0和1B.0和20C.10和1D.10和20
64.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的
C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)
D.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
65.有以下程序
66.
67.閱讀下列程序,當(dāng)運(yùn)行函數(shù)時(shí),輸入abcdefgzl0,則輸出為()。
A.abcB.zl0C.abcdefgzl0abcdefgzl0D.abcdefgzl0
68.算法的有窮性是指A.算法程序的運(yùn)行時(shí)間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長度是有限的
D.算法只能被有限的用戶使用
69.以下敘述中正確的是
A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入
C.用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出
70.有如下程序:
main
{inta=2,b=-1.c=2;
if(a<b)if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
該程序的輸出結(jié)果是()。A.A.0B.1C.2D.3
71.以下程序的輸出結(jié)果是()。
#include<stdio.h>
voidmain()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
72.
73.
74.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間,()。
A.所有成員一直駐留在內(nèi)存中B.沒有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個(gè)成員駐留在內(nèi)存中
75.以下對(duì)C語言函數(shù)的有關(guān)描述中,正確的是()。
A.C函數(shù)可以遞歸調(diào)用也可以嵌套調(diào)用
B.在C中,調(diào)用函數(shù)時(shí),只能把實(shí)參值傳給形參,形參值不能返回給實(shí)參
C.沒有返回值的函數(shù)不能被使用.
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中
76.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是()。
A.
B.
C.ab
D.a<<b
77.
78.下列關(guān)于棧的描述中錯(cuò)誤的是()。
A.棧是先進(jìn)先出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入刪除操作中,不需要改變棧底指針
79.有以下程序:
#include<stdio.h>
#include<string.h>
main()
{charstr[][20][{"One*World","One*Dream!"},*p=str[1];
prinft("%d,",strlen(p));printf("%s\n",p);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.9,0ne*World
B.9,0ne*Dream!
C.10,One*Dream!
D.10,Ome*World
80.以下符合c語言語法的實(shí)型常量是()。
A.8E一2B.3)14)159EC.E14D.2)2E0)5
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc的功能是:用選擇法對(duì)數(shù)組中的m個(gè)元素按從小到大的順序進(jìn)行排序。例如,排序前的數(shù)據(jù)為:1132-5214則排序后的數(shù)據(jù)為:-52111432請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>#defineM20voidproc(inta[],intn){inti,j,t,P;//****found****for(j=0;j<n-1;j++);{p=j;for(i=j;i<n;i++)if(a[[i]<a[p])p=i;t=a[p];a[p]=aEj3;//****found****a[p]=t;}}voidmain{intarr[M]={11,32,-5,2,14},i,m=5;printf("排序前的數(shù)據(jù):");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");proc(arr,m);printf("排序后的順序:");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");}
六、程序設(shè)計(jì)題(1題)82.程序定義了M×M的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)proc(inta[][M],intn),該函數(shù)的功能是使數(shù)組左下半三角元素中的值加上n。例如,a數(shù)組中的值為:
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。
試題程序:
參考答案
1.C
2.C從for循環(huán)可知pt是指向行的首地址的指針變量,因此由指針的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。
3.A程序定義整型變量a和i,其中a的初值為7。for循環(huán)中,循環(huán)變量i的取值為1,2,3。循環(huán)體中判斷a的取值,當(dāng)a>14時(shí),執(zhí)行break跳出循環(huán);當(dāng)a取值為奇數(shù)時(shí),a%2==1,a自增3,執(zhí)行continue繼續(xù)執(zhí)行循環(huán)體;當(dāng)a取值為偶數(shù)時(shí),a%2==0,a自增4,輸出i和a的值。i取值為1時(shí),a取值為7,自增3后a的值為10,執(zhí)行下一個(gè)循環(huán)。i取值為2時(shí),a取值為10,自增4后a的值為14,輸出2,14。i取值為3時(shí),a取值為14,自增4后a的值為18,輸出3,18。i取值為4時(shí),a取值為18,循環(huán)終止,輸出4,18。綜上,程序輸出:2,14,3,18,4,18。本題答案為A選項(xiàng)。
4.AA選項(xiàng)中do后面的語句只執(zhí)行了一次便結(jié)束了循環(huán);B選項(xiàng)中條件while(1)永遠(yuǎn)成立,所以是死循環(huán);C選項(xiàng)中n的值為10,而循環(huán)體為空語句,所以while(n)永遠(yuǎn)為真,進(jìn)入死循環(huán);D選項(xiàng)中for語句第2個(gè)表達(dá)式為空,所以沒有判斷條件,進(jìn)入死循環(huán)。故本題答案為A選項(xiàng)。
5.D題目中,for循環(huán)的作用是求數(shù)組各行前兩列的數(shù)字之和。已知“*(*(P+i)+j)=p[i][j]”,則變量n=1+3+7+9+13+15=48。故本題答案為D選項(xiàng)。
6.D解析:選項(xiàng)A),B),C)的指針賦值表達(dá)方式都不正確,*p=5表達(dá)整數(shù)5放到指針p所指向的存儲(chǔ)單元中。注意:通過指針引用一個(gè)存儲(chǔ)單。
7.C
8.C
9.D本題考核的知識(shí)點(diǎn)是運(yùn)算符的優(yōu)先級(jí)。主函數(shù)中首先定義了整型變量m、n和x,并給m和n賦初值為3和4,接著執(zhí)行兩條賦值語句,第一條x=-m++等價(jià)于x=-(m++),其值即為-3,第二條x=x+8/++n等價(jià)于X=X+8/(++n),即為x=-3+8/5=-2,因此最后輸出x的值為-2。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
10.D一個(gè)客戶可以在多家銀行辦理業(yè)務(wù),一家銀行也有多個(gè)客戶辦理業(yè)務(wù),因此,實(shí)體客戶和實(shí)體銀行之間的聯(lián)系是多對(duì)多。本題選擇D選項(xiàng)。
11.A當(dāng)所賦的值不夠其列的寬度時(shí),系統(tǒng)在其后自動(dòng)補(bǔ)0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故選擇A選項(xiàng)。
12.D解析:本題考查switch語句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語句的語法格式:
switch語句的語法格式為:
switch(表達(dá)式)
{
case常量表達(dá)式1:語句組1;
case常量表達(dá)式2:語句組2;
case常量表達(dá)式n:語句組n;
default:語句組n+1;
}
另外,以下幾點(diǎn)關(guān)于switch語句的重點(diǎn):
①系統(tǒng)在執(zhí)行時(shí)計(jì)算開關(guān)表達(dá)式的值;②根據(jù)所得的值在各個(gè)case標(biāo)號(hào)表達(dá)式中尋找匹配,直到發(fā)現(xiàn)與表達(dá)式匹配的標(biāo)號(hào)(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后執(zhí)行后面相應(yīng)的語句表,順序往下執(zhí)行;④如果無相匹配的標(biāo)號(hào),若存在default標(biāo)號(hào),則執(zhí)行該語句標(biāo)號(hào)后面的語句表n+1;當(dāng)不存在default標(biāo)號(hào)時(shí),不執(zhí)行switch中的任何一個(gè)語句表。
一般而言,在多分支結(jié)構(gòu)中總會(huì)出現(xiàn)'意外'的情況,這時(shí)均可歸入default程序段,作統(tǒng)一的處理。default標(biāo)號(hào)是可選性的,不必每次都有,視需要而定。switch語句中還可以包含switch語句,形成switch的嵌套。
13.C本題判斷結(jié)果。選項(xiàng)A中,如果(a>b),則執(zhí)行“c=a,a=b,b=c”這個(gè)語句(注意分號(hào)的位置,如果條件成立,將會(huì)執(zhí)行第一個(gè)分號(hào)前的語句),顯然if不成立,則a,b,C原樣輸出。選項(xiàng)B和選項(xiàng)D是同理,而選項(xiàng)C因?yàn)闂l件不成立,則不執(zhí)行第一條語句“c=a”,接著執(zhí)行“a=b”,將b的值賦給a,a的值為2;“b=C”,b的值為3,C的值原樣輸出,結(jié)果為2,3,3。
14.D
15.A解析:while循環(huán)的執(zhí)行過程如下:(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)為正確答案。
16.A
17.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。
18.C本題重點(diǎn)考察二維數(shù)組名作為實(shí)參進(jìn)行參數(shù)傳遞,在主函數(shù)中調(diào)用了fun函數(shù),實(shí)參為二維數(shù)組名a和兩個(gè)整數(shù)4.0,這樣對(duì)應(yīng)定義fun函數(shù)首部有三種形式,這里采用了第一種形式——行指針,這樣在fun函數(shù)對(duì)s[i][j]進(jìn)行操作實(shí)際上就是對(duì)主函數(shù)中的a[i][j]進(jìn)行操作,再分析fun函數(shù)的作用便可知,是求二維數(shù)組第0列中最大的那個(gè)元素。因此C選項(xiàng)正確。
19.C
20.D
21.3131解析:設(shè)隊(duì)列容量為m,如果:rear>front,則隊(duì)列中元素個(gè)數(shù)為rear-front;如果rear<front,則隊(duì)列中元素個(gè)數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。
22.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個(gè)表達(dá)式的值為++a的值,++a的值為7。請(qǐng)注意前綴++,--和后綴++,--的區(qū)別。
23.8080解析:本題考查的知識(shí)點(diǎn)是共用體數(shù)組變量所占內(nèi)存的長度。數(shù)組a是共用體變量,共用體類型變量所占的內(nèi)存長度為最大成員的長度,即單精度數(shù)組的長度,為4×4=16,因此,數(shù)組a所占的內(nèi)存長度為5×16=80,所以最后輸出的s的值為80。
24.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。
25.中序中序解析:二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根
26.abcabc解析:字符串的結(jié)束標(biāo)記'\\0',當(dāng)輸出一個(gè)存放在字符數(shù)組中的字符串時(shí),只需輸出到'\\0'為止,而不管其后有什么數(shù)據(jù)。本題給字符數(shù)組s的元素s[3]賦值為'\\0',故只能輸出3個(gè)字符“abc”。
27.s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]解析:字符數(shù)組的初始化,字符串的輸入和輸出的應(yīng)用。C語言沒有字符串變量,字符串不是存放在一個(gè)變量中而是存放在一個(gè)字符型數(shù)組中,因此為了存放字符串,常常在程序中定義字符型數(shù)組;字符串存放在字符數(shù)組中,但字符數(shù)組與字符串可以不等長,C語言規(guī)定以“\\0”字符作為字符串結(jié)束標(biāo)志。
本題中,chars[80],d[80];定義了兩個(gè)字符型數(shù)組,可以放入80個(gè)字符。gets函數(shù)是c語言提供的一個(gè)專門用于讀字符串的函數(shù),它讀入全部字符(包括空格),直到遇到回車為止。本題中,讀入字符串s后,開始比較s中的每個(gè)字符是否為數(shù)字字符,因?yàn)樽址麛?shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,所以只需比較相應(yīng)的ASCII碼值是否在48('0'的ASCII代碼)與57('9'的ASCII代碼)之間,或者直接與'0','9'進(jìn)行比較,如果是數(shù)字字符則將此字符存入d數(shù)組中,不是則繼續(xù)進(jìn)行下一字符的比較,直至s結(jié)束(即'0'的出現(xiàn))。將“'\\0'”字符作為字符串d結(jié)束標(biāo)志,最后調(diào)用puts函數(shù)輸出d。所以在空格處應(yīng)填入比較語句s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或&&48<=s[i]或57>=s[i]。
28.A
29.\0'strl[i]-str2[i]
30.Brte
31.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
32.非0非0解析:邏輯運(yùn)算中,非0表示邏輯“真”,用。表示邏輯“假”。
33.層次模型用樹型結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為層次模型,用有向圖結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為網(wǎng)狀模型,用二維表格結(jié)構(gòu)表示實(shí)體及其聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。
34.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
35.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在統(tǒng)計(jì)字符串單詞個(gè)數(shù)的算法中,本題的flag是為了記錄一個(gè)單詞是否結(jié)束。第13空應(yīng)填*s++;如果某個(gè)字符不是空格,則必須判斷它是否是單詞,如是,則使得flag的標(biāo)志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空恪,如果是則使得flag=0,否則判斷前一個(gè)字符是否是空格,如果是則說明這個(gè)字符是—個(gè)單詞的開始,將flag標(biāo)志為1,num的值加1,如果不是,則不必記錄。故第14空應(yīng)填flag=0或*(s-1);最后一個(gè)空格需填寫的是返回的單詞的個(gè)數(shù),即num。
36.白盒法白盒法
37.yesyes解析:if...else構(gòu)造了一種二路分支選擇,是一種最基本的選擇結(jié)構(gòu)。本題中,if后面括號(hào)里的表達(dá)式為c=a+b為真(即c=1+3=4為真);所以,執(zhí)行s1,即執(zhí)行prinff('yes\\'),最后輸出yes。
38.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
39.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面的表達(dá)式的值為非零時(shí),才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此無論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。
40.元組元組解析:在關(guān)系模型中,數(shù)據(jù)結(jié)構(gòu)用單一的二維表結(jié)構(gòu)來表示實(shí)體及實(shí)體間的聯(lián)系。一個(gè)關(guān)系對(duì)應(yīng)一個(gè)二維表。二維表中的列稱為屬性,屬性值的取值范圍稱為值域。二維表中的一行稱為一個(gè)元組。
41.A解析:在C語言中所謂函數(shù)的遞歸是指在調(diào)用一個(gè)函數(shù)的過程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用。由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是當(dāng)i<j時(shí),將數(shù)組中的元素a[i]和a[j]交換,然后再調(diào)用函數(shù)f(a,i+1,j-1),將數(shù)組中a[i+1]和a[j--]交換,這樣一直遞歸到數(shù)組下標(biāo)i=j,可見該遞歸函數(shù)的作用是使數(shù)組中首尾元素依次互換。主函數(shù)中定義了一個(gè)長度為5的數(shù)組aa并初始化,然后調(diào)用f(a,0,4),將數(shù)組a中的元素依次互換,故最后for循環(huán)輸出的數(shù)組aa中各元素的值為5、4、3、2、1,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
42.D解析:常見的需求分析方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋深?。其中結(jié)構(gòu)化分析方法又包括面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structuredanalysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod)。
43.B(27)B)解析:函數(shù)feof的功能是:測(cè)試fp所指的文件的位置是否已達(dá)到文件尾,如果達(dá)到文件尾,則函數(shù)返回非0值,否則返回0,表示文件尚未結(jié)束。
44.B
45.A解析:scanf函數(shù)是格式輸入函數(shù),用于輸入任何類型的多個(gè)數(shù)據(jù)。該函數(shù)的一般形式為:scanf(格式控制,地址列表),其中“格式控制”是用雙引號(hào)括起來的字符串,“地址列表”是由若干個(gè)地址組成的表列,可以是變量的地址,或字符串的首地址。題目中可以作為地址列表項(xiàng)的有pa和&a。所以,選項(xiàng)A)正確。
46.D解析:sizeof(float)是c語言內(nèi)部規(guī)定的用于計(jì)算單精度型變量(float)在計(jì)算機(jī)的內(nèi)存中所占用的字節(jié)數(shù)量的函數(shù),返回一個(gè)整數(shù)值。
47.C解析:函數(shù)fun(int*s,intn1,intn2)的功能是對(duì)數(shù)組s中的元素進(jìn)行首尾互相調(diào)換。所以在主函數(shù)中,當(dāng)fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5,6,7,8,9,0};再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。
48.D解析:數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心。DBMS是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。DBMS建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過DBMS。另外,DBMS還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照DBA所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
49.B解析:C語言函數(shù)中的參數(shù)傳遞方式有傳值與傳址兩種方式,傳值方式是指將實(shí)參的值復(fù)制一份傳遞給形參,而傳址方式是指將實(shí)參的變量地址傳遞給形參,也就是實(shí)參的引用。
50.D解析:C語言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第二個(gè)方括號(hào)中的常量表達(dá)式;二維數(shù)組的一般定義格式是:類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。
51.D解析:C語言的語句都用“;”結(jié)束。如果只有一個(gè)分號(hào),稱為“空語句”。用一對(duì)花括號(hào)把若干語句括起來構(gòu)成一個(gè)語句組,稱為“復(fù)合語句”,在語法上視為一條語句。因此選項(xiàng)A是一條語句。選項(xiàng)B是逗號(hào)表達(dá)式加分號(hào)構(gòu)成的語句。選項(xiàng)C是一條if語句,該語句的if子句是一條空語句。選項(xiàng)D中“if(b==0)m=1;n=2;”是兩個(gè)表達(dá)式語句。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
52.A解析:分析題目中給出的表達(dá)式可知,如果a>b和b>c同時(shí)成立,k=1,否則k=0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
53.B
54.C解析:本題中,程序先執(zhí)行語句x=1.2;根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將常量1.2轉(zhuǎn)換為整型,取整數(shù)1,并將其賦給變量x,然后執(zhí)行語句y=(x+3.8)/5.0。根據(jù)運(yùn)算符的優(yōu)先級(jí),先計(jì)算小括號(hào)內(nèi)的x+3.8,其運(yùn)算過程是:先將整型變量x的值1轉(zhuǎn)換為double型1.0,然后與3.8做加法運(yùn)算,得到中間結(jié)果4.8,接著進(jìn)行除法運(yùn)算4.8/5.0,其結(jié)果小于1.0,接著進(jìn)行賦值運(yùn)算,賦值號(hào)左邊的變量y的類型為整型,于是對(duì)這個(gè)小于1.0的中間結(jié)果進(jìn)行取整,結(jié)果為0。于是變量y的值為0,d*y的值也為0。
55.C
56.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書
評(píng)析,需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織,部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項(xiàng)A)軟件開發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù):選項(xiàng)C)軟件開發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。
57.D解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序要經(jīng)過n/2遍的從前往后的掃描和n/2遍
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理學(xué)角色理論
- 公司向個(gè)人汽車租賃合同會(huì)計(jì)專用報(bào)銷模板
- 在磁共振胰膽管造影中以深度學(xué)習(xí)模型識(shí)別膽總管結(jié)石
- 汪山土庫建筑藝術(shù)元素在“汪山故”文創(chuàng)產(chǎn)品設(shè)計(jì)中的運(yùn)用研究
- 面向雙模微能量復(fù)合的電源管理技術(shù)研究
- 蛇咬傷的護(hù)理措施
- 談判能力培訓(xùn)課件
- 智能農(nóng)業(yè)的未來前景
- 2025年石油產(chǎn)品添加劑:燃料油添加劑合作協(xié)議書
- 二零二五年度員工持股計(jì)劃協(xié)議書
- 大學(xué)物理實(shí)驗(yàn)(緒論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 不合格產(chǎn)品處置管理制度
- 《現(xiàn)代家政導(dǎo)論》電子教案 2.2模塊二項(xiàng)目二家庭制度認(rèn)知
- 商務(wù)禮儀課件教學(xué)課件
- 2024年資格考試-良好農(nóng)業(yè)規(guī)范認(rèn)證檢查員考試近5年真題集錦(頻考類試題)帶答案
- 2024年普通高等學(xué)校招生全國統(tǒng)一考試·新課標(biāo)卷(生物)附試卷分析
- 2024中國軟件供應(yīng)鏈安全分析報(bào)告-2024.08-56正式版
- 優(yōu)化熱處理工藝的機(jī)器學(xué)習(xí)
- 省屬企業(yè)陽光采購監(jiān)督管理辦法
- 2024年1月時(shí)政熱點(diǎn)題庫及答案
- 2023年山東省夏季普通高中學(xué)業(yè)水平合格考試會(huì)考生物試題及參考答案
評(píng)論
0/150
提交評(píng)論