版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年內(nèi)蒙古自治區(qū)呼和浩特市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>main(){chars[]="012xy\O8s34f4w2‘;inti;n=0;,for(i=0;s[i]!=0;i++)if(s[i]>=0s[i]<=9)n++;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.3C.7D.8
2.
3.若有說(shuō)明charc[7]={'s','t','r','i','n','g'};則對(duì)元素的非法引用是()。
A.c[0]B.c[9-6]C.c[4*2]D.c[2*3]
4.C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類(lèi)型包括()。
A.整型、實(shí)型、邏輯型B.整型、實(shí)型、字符型C.整型、字符型、邏輯型D.字符型、實(shí)型、邏輯型
5.設(shè)有一組關(guān)鍵字序列{5,8,14,20,31,55,78,81,93,97,111},使用二分(折半)法查找關(guān)鍵字93最少需要進(jìn)行多少次比較()A.2B.3C.4D.5
6.若函數(shù)中有定義語(yǔ)句:inta;,則()。
A.系統(tǒng)將自動(dòng)給a賦初值0B.這時(shí)a中的值是和隨機(jī)數(shù)C.系統(tǒng)將自動(dòng)給a賦初值-1D.這a中無(wú)任何值
7.
8.有以下程序:#include<stdio.h>main{shortC=124;C=C_;printf("%d\n",c);}若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()。A.>>2B.|248C.&0248D.<<1
9.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
10.下面判斷正確的是
A.char*a="china";等價(jià)于char*a;*a="china";
B.charstr[5]={"china"};等價(jià)于charstr[]={"china"};
C.char*s="china";等價(jià)于char*s;s="china";
D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";
11.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
12.有以下程序段:
以下選項(xiàng)中表達(dá)式的值為11的是()。
A.
B.
C.
D.
13.下面函數(shù)的功能是()intfunl(char*X){char*y=X;whar(*y++);return(y-x-1);}
A.求字符串的長(zhǎng)度B.比較兩個(gè)字符串的大小C.將字符串x復(fù)制到字符串y中D.將字符串x連接到字符串y后面
14.可以判斷一個(gè)有向圖中是否含有回路的方法為()。
A.廣度優(yōu)先遍歷B.深度優(yōu)先遍歷C.拓?fù)渑判駾.求最短路徑
15.程序中已構(gòu)成如下不帶頭節(jié)點(diǎn)的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表節(jié)點(diǎn),指針變量s總是作為指針指向鏈表的第1個(gè)節(jié)點(diǎn)。若有以下程序段:q=s;s=s->next;p=s;while(p->next)p=p->next;p->next=q;q->next=NULL;該程序段實(shí)現(xiàn)的功能是()。
A.刪除尾節(jié)點(diǎn)B.使尾節(jié)點(diǎn)成為首節(jié)點(diǎn)C.刪除首節(jié)點(diǎn)D.使首節(jié)點(diǎn)成為尾節(jié)點(diǎn)
16.程序運(yùn)行后的輸出結(jié)果是()。A.10B.11C.20D.21
17.鏈表不具有的特點(diǎn)是()。A.A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問(wèn)任意元素
C.插入、刪除不需要移動(dòng)元素
D.所需空間與線性表長(zhǎng)度成正比
18.有以下程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k--;break;defalut:n=0;k--;case2:case4:n+=2;k--;break:}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。A.235B.0235C.02356D.2356
19.下列敘述中正確的是()。
A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
20.
二、2.填空題(20題)21.在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置指針重新指向文件的開(kāi)頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】函數(shù)。
22.在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
23.軟件生命周期分為軟件定義期、軟件開(kāi)發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。
24.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{charc;intn=100;
floatf=10:doublex:
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
25.在運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。
26.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱(chēng)為一個(gè)______。
27.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?/p>
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=______;
scanf("%d%d%d",&x,&y,&z}:
big=(*f)(x,y,Z);
printf("big=%d\n",big);
}
28.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱(chēng)為【】。
29.以下程序的運(yùn)行結(jié)果是______。
intx;
main()
{inta=5,b=8;
swap(a,b);
printf("a=%d,b=%d,x=%d\n",a,b,x);
}
swap(inta,intb)
{inttemp;
temp=a;a=b;
b=temp;x=a/b;
printf("x=%d\n",x);
}
30.若有下列定義和語(yǔ)句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結(jié)果為_(kāi)_____。
31.軟件測(cè)試的方法有動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和【】13種。
32.用指針?lè)ㄇ蟪鰯?shù)組元素中最大者和最小者。
intmax,min;
voidmax_min_value(array,n)
intarray[],n;
{【】;
max=min=*array;
for(【】;p<array+n;p++)
if(*p>max)max=*p;
elseif(*p<min)min=*p;
}
main()
{inti,number[20],*p;
p=number;
printf("輸入20個(gè)數(shù)據(jù):\n");
for(i=0;i<20;i++,p++)scanf("%d",p);
【】;
max_min_value(p,10);
printf("max=%-10dmin=%d\n",max,rain);
}
33.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n",a,b,C);
}
34.以下程序的運(yùn)行結(jié)果是______。
#include<string.h>
typedefstructstudent{
charname[10];
longsno;
floatscore;
}STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},
c={"Anhua",2003,95},d,*p-&d;
d=a;
if{strcmp(a.nalne,)>0)d=b;
if(strcmp(,)>0)d=c;
printf("%ld%s\n",d.sno,p>name};
}
35.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無(wú)須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱(chēng)為對(duì)象的______。
36.以下sum函數(shù)的功能是計(jì)算下列級(jí)數(shù)之和。請(qǐng)給函數(shù)中的各變量正確賦初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
37.下列程序的輸出結(jié)果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
38.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫(xiě)適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
______(double,double);
main()
{doublex,y;
scanf("%lf%lf",&x.&y);
printf("%lf\n…,max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a=B);}
39.若對(duì)長(zhǎng)度為90的線性表進(jìn)行分塊查找,其中每塊子表長(zhǎng)度為9。如果在索引表查找過(guò)程中進(jìn)行順序查找,那么平均查找長(zhǎng)度為【】。
40.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
三、1.選擇題(20題)41.以下數(shù)組定義中不正確的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
42.以下選項(xiàng)中不能作為合法常量的是_____。A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0
43.詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的()。
A.代碼的規(guī)模B.運(yùn)行速度C.質(zhì)量D.可維護(hù)性
44.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)
45.下列程序的輸出結(jié)果是______。main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}
A.非法B.a[4]的地址C.5D.3
46.以下程序的輸出結(jié)果是______。main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}
D.1111222334
47.以下敘述中正確的是______。A.預(yù)處理命令行必須位于源文件的開(kāi)頭
B.在源文件的一行上可以有多條預(yù)處理命令
C.宏名必須用大寫(xiě)字母表示
D.宏替換不占用程序的運(yùn)行時(shí)間
48.有下列程序:
main()
{inty=20;
do{y--;}while(--y);
phntf("%d\n",y--);
}
當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。
A.-1B.1C.4D.0
49.下面程序的功能是輸出以下形式的金字塔圖案:****************main(){inti,j;for(i=1;i<=4;i++){ror(j=1;j<=4-i;j++)printf("");for(j=1;j<=______;j++)printf("*");printf("\n");}}在下劃線處應(yīng)填入的是
A.iB.2*i-1C.2*i+1D.i+2
50.若x是整型變量,pb是基本類(lèi)型為整型的指針變量,則正確的賦值語(yǔ)句是()
A.pb=&x;B.pb=x;C.*pb=&x;D.*pb=*x;
51.應(yīng)用數(shù)據(jù)庫(kù)的主要目的是為了()
A.解決數(shù)據(jù)的保密問(wèn)題B.解決數(shù)據(jù)的共享問(wèn)題C.解決數(shù)據(jù)量大的問(wèn)題D.解決數(shù)據(jù)的完整性問(wèn)題
52.有以下程序:main(){inta=0,b=0,C=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%d\n",a,b,c,D);}程序輸出()。
A.0,1,2,0B.0,0,0,3C.1,1,2,0D.編譯有錯(cuò)
53.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
54.表達(dá)式“1||2||3||4”的值是()。
A.1B.2C.3D.4
55.若有下面的說(shuō)明和定義,則sizeof(structaa)的值是______。structaa{intrl;doubler2;floatr3;uninuu{charul[5];longu2[2]}ua;}mya;
A.30B.29C.24D.22
56.以下選項(xiàng)中,值為1的表達(dá)式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0'-'0'
57.下列關(guān)于棧的描述中,正確的是()
A.在棧中只能插入元素B.在棧中只能刪除元素C.只能在一端插入或刪除元素D.只能在一端插入元素,而在另一端刪除元素
58.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){st,uctdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A.6B.8C.10D.12
59.算法中,對(duì)需要執(zhí)行的每一步操作,必須給出清楚、嚴(yán)格的規(guī)定。這屬于算法的A.正當(dāng)性B.可行性C.確定性D.有窮性
60.以下程序的輸出結(jié)果是()。main(){intx=11,y=11;printf("%d,%d\n",X--,--y);}
A.11,11B.10,10C.10,11D.11,10
四、選擇題(20題)61.
62.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
63.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1
64.
65.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.線性鏈表C.二叉鏈表D.有序線性鏈表
66.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0
67.設(shè)在C語(yǔ)言中,float類(lèi)型數(shù)據(jù)占4個(gè)字節(jié),則double類(lèi)型數(shù)據(jù)占()個(gè)字節(jié)。A.A.1B.2C.8D.4
68.以下變量x、y、z均為double類(lèi)型且已正確賦值,不能正確表示x/(y*z)的C語(yǔ)言表達(dá)式是()。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
69.
70.有以下程序:#include<stdio.h>main(){charcl=1,c2=2;cl=getchar();c2=getchar();putchar(c1);putcha:(c2);}當(dāng)程序運(yùn)行時(shí)輸入a<回車(chē)>后,下列敘述中正確的是()。A.變量c1被賦予字符a,c2被賦予回車(chē)符
B.程序?qū)⒌却脩糨斎氲?個(gè)字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無(wú)確定值
71.以下程序愛(ài)中,與語(yǔ)句:
72.下列敘述中不正確的是()。
A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B.在C的函數(shù)中,最好使用全局變量
C.外部變量可以在函數(shù)之間傳遞數(shù)據(jù)
D.自動(dòng)變量實(shí)質(zhì)上是一個(gè)函數(shù)內(nèi)部的局部變量
73.
74.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
voidp(int*x)
{printf("%d¨,++*x);
}
voidmain()
{inty=3;
p(&y);
}
A.3B.4C.2D.5
75.
76.在HTML文檔中,應(yīng)該在下列哪個(gè)部分引用外部樣式表?()A.A.文檔的末尾
B.<title>部分
C.<body>部分
D.<head>部分
77.
78.
79.
80.
五、程序改錯(cuò)題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫(xiě)(這里的“單詞”是指有空格隔開(kāi)的字符串)。
例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個(gè)字符串中。例如,若二維數(shù)組中的數(shù)據(jù)為:
WWW
SSS
HHH
III
則字符串中的內(nèi)容應(yīng)是WSHIWSHIWSHI。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。
試題程序:
參考答案
1.B考查簡(jiǎn)單的C程序數(shù)組和循環(huán)。for循環(huán)是指i=0,如果s/[3]!=0,則i自動(dòng)加1。if循環(huán)指的是s[i]中的元素大于等于0且小于等于9,則n加l,所以答案為B。
2.B
3.C
4.B解析:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,因?yàn)镃語(yǔ)言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等,所以a+7=c+b是錯(cuò)的。因此,正確答案是選項(xiàng)B),它相當(dāng)于a=(b=c+2),可分解為兩個(gè)表達(dá)式:b=c+2和a=b。
5.A
6.B本題考查變量賦值基本概念。在聲明一個(gè)變量后,如果未顯式的對(duì)其進(jìn)行賦值,則它的值是一個(gè)隨機(jī)值。
7.B
8.D124的2進(jìn)制值為1111100,要輸出為248即124*2,則2進(jìn)制值為11111000,即右移l位,所以選D。
9.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。
10.C解析:選項(xiàng)A)char*a;*a=“china”應(yīng)改為a=china;,選項(xiàng)B)應(yīng)該是charstr[6];D)項(xiàng)表述方法有錯(cuò)誤。
11.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡(jiǎn)單插入排序n(n-1)/2、希爾排序0(n1.5)、簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n)
12.C→的運(yùn)算優(yōu)先級(jí)比++高,此時(shí),pt→x=10,執(zhí)行自加運(yùn)算后為11。
13.A
14.C
15.D程序中,指針s指向了它的下一個(gè)節(jié)點(diǎn)。題目中說(shuō)明了s總是指向鏈表的第1個(gè)節(jié)點(diǎn)。然后while循環(huán)找到鏈表的最后一個(gè)元素,最后一個(gè)元素指向了之前鏈表的頭節(jié)點(diǎn),之前頭節(jié)點(diǎn)指向了空節(jié)點(diǎn)。所以本題實(shí)現(xiàn)的是使首節(jié)點(diǎn)成為尾節(jié)點(diǎn)。故本題答案為D選項(xiàng)。
16.D[解析]聲明data是結(jié)構(gòu)S數(shù)組。初始化data[0].a=10;data[O]b=100;data[1].a=20;data[]b=200.主函數(shù)中p=data[1];即p.a=data[1].a;p.b=data[1].b;執(zhí)行語(yǔ)句prit("%odn",++(pa);打印輸出時(shí)p.a先增1再打印。p.a=data\u3000\u3000[1].a=20.先增1等于21.
17.B鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,插入、刪除不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間,它是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。
18.B本題考查分支語(yǔ)句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。
19.D數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。
20.C
21.rewind或fseekrewind或fseek解析:本題考查文件的定位。在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置指針回到文件的開(kāi)頭,可以調(diào)用rewind函數(shù)或fseek函數(shù)來(lái)完成。其中,rewind函數(shù)的作用是將位置指針重新返回文件的開(kāi)頭;而fseek函數(shù)也可以實(shí)現(xiàn)文件指針的定位。
22.中序中序解析:在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左了樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù):并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然光遍歷右子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù)。
23.軟件開(kāi)發(fā)軟件開(kāi)發(fā)解析:軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期(問(wèn)題定義、可行性研究和需求分析)、軟件開(kāi)發(fā)期(系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。
24.220220解析:根據(jù)賦值運(yùn)算符“自右至左”的結(jié)合順序,程序中賦值表達(dá)式x=f*=n/=(c=50)的求解步驟為:首先計(jì)算n/=(c=50),即n=n/c=100/50=2;然后計(jì)算f*=n,即f=f*n=10*2=20.000000,由此得到x的值為20.000000。
25.循環(huán)鏈表循環(huán)鏈表解析:在鏈表的運(yùn)算過(guò)程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空表的運(yùn)算統(tǒng)一起來(lái)。循環(huán)鏈表具有兩個(gè)特點(diǎn):①在循環(huán)鏈表中增加了一個(gè)表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來(lái)設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。②循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針不是空,而是指向表頭結(jié)點(diǎn)。
26.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
27.findbigfindbig解析:本題考核的知識(shí)點(diǎn)是指向函數(shù)的指針變量的使用。本題首先定義了一個(gè)指向函數(shù)的指針變量f,如果希望讓它指向某個(gè)函數(shù),只需把函數(shù)名賦給該指針變量即可。所以說(shuō)本題的空格處應(yīng)該填入函數(shù)名findbig。
28.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫(kù)中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。
29.a=5b=8x=1。a=5,b=8,x=1。解析:本題考查形參變量值的改變并不能傳回給實(shí)參。因此主函數(shù)中最后輸出的a和b仍為原來(lái)的初值5和8。
30.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。
31.正確性測(cè)試正確性測(cè)試
32.int*pp=array+1p=numberint*p\r\np=array+1\r\np=number解析:函數(shù)max_min_value()中用到了指針變量p,顯然應(yīng)在第一個(gè)空格處填int*p。函數(shù)max_min_value()中的for循環(huán)逐一把數(shù)組中的元素與max和min的當(dāng)前值進(jìn)行比較。max和rain的初值是數(shù)組的第1個(gè)元素值,第1次比較應(yīng)與第2個(gè)元素比較,即array+1。第二個(gè)空格處應(yīng)填p=array+1。主函數(shù)main()中的指針變量p首先指向數(shù)組number的第1個(gè)元素,當(dāng)?shù)?個(gè)for循環(huán)結(jié)束時(shí),它指向數(shù)組的最后一個(gè)元素。若這時(shí)將p作為實(shí)參傳給被調(diào)用函數(shù),形參array[]數(shù)組的首址將是number口數(shù)組的最后元素的地址,而number[]數(shù)組的前n-1個(gè)元素不能參加比較,這將引起計(jì)算出錯(cuò)。因此,在調(diào)用max_min_value()函數(shù)之前,應(yīng)將指針p指向number[]數(shù)組首址,即在第三個(gè)空格應(yīng)填寫(xiě)p=umber。
33.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開(kāi),八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。
34.2002Shangxian2002Shangxian解析:本題考核的知識(shí)點(diǎn)是結(jié)構(gòu)體類(lèi)型的定義、賦初值以及字符串的比較。本題中首先定義一個(gè)結(jié)構(gòu)體類(lèi)型STU,鎮(zhèn)結(jié)構(gòu)體由一個(gè)長(zhǎng)度為10的字符型數(shù)組、一個(gè)long型變量和一個(gè)float型變量組成。接著在主函數(shù)中用STU定義了4個(gè)結(jié)構(gòu)體變量a、b、c、d,并且給a、b、c賦初值,然后定義?一個(gè)結(jié)構(gòu)體指針p,并讓它指向變量d。然后讓將變量a的值賦給變量d,接著通過(guò)兩個(gè)if語(yǔ)句比較結(jié)構(gòu)體變量a、b、c的成員name大小。第一個(gè)訂語(yǔ)句將結(jié)構(gòu)體變量和結(jié)構(gòu)體變量中較小的那個(gè)賦值給結(jié)構(gòu)體變量d,第二個(gè)if語(yǔ)句將結(jié)構(gòu)體變量和結(jié)構(gòu)體變量較大的那個(gè)賦給結(jié)構(gòu)體變量d。比較通過(guò)函數(shù)strcmp實(shí)現(xiàn)。strcmp()函數(shù)有兩個(gè)參數(shù),分別為被比較的兩個(gè)字符串。如果第一個(gè)字符串大于第二個(gè)字符串返回值大于0,若第一個(gè)小于第二個(gè)返回值小于0,相等時(shí)返回值為0。字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開(kāi)始依次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符串,如果遇到某一個(gè)字符小,該字符所在的字符串就是較小的字符串。程序中第一個(gè)if語(yǔ)句strcmp(,)>0為真,故將b的值賦給d;第二個(gè)if語(yǔ)句strcmp()>0為假,故不執(zhí)行后面的語(yǔ)句,最后d的值為b的值,因此輸出d.sn0和p->name的值為2002Shangxian
35.封裝性封裝性解析:對(duì)象具有下列5個(gè)基本特點(diǎn):①標(biāo)識(shí)惟一性;②分類(lèi)性:③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對(duì)象的外部特征,對(duì)象的內(nèi)部特征即處理能力的實(shí)行和內(nèi)部狀態(tài),對(duì)外是不可見(jiàn)的,對(duì)象的內(nèi)部狀態(tài)只能由其自身改變。
36.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1s=1或給abs賦1或1.0或1.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1,s=1或給a,b,s賦1或1.0或1.解析:sum函數(shù)的功能是求表達(dá)式s的級(jí)數(shù)之和,該函數(shù)的大致思路是:在該函數(shù)中,定義了—個(gè)整型變量i用作循環(huán)計(jì)數(shù)器,定義一個(gè)變量a用來(lái)表示各個(gè)子項(xiàng)的分子,初始為第一個(gè)子項(xiàng)的分子,故為1,定義了一個(gè)變量b用來(lái)表示各個(gè)子項(xiàng)大分母,初始為第一個(gè)子項(xiàng)的分母,故為1,定義一個(gè)變量s存放累加和,初始為第一個(gè)子項(xiàng)的值即為1,然后給各個(gè)定義的變量初始化,然后通過(guò)一個(gè)for循環(huán)將題目中的數(shù)學(xué)表達(dá)式的各個(gè)子項(xiàng)求出來(lái)并累加到s中,所以說(shuō),在該題的空格處應(yīng)該填寫(xiě)將a、b和s賦初值的語(yǔ)句,即為a=1;b=1;s=1:(說(shuō)明:語(yǔ)句的順序可任意)或a=b=s=1;(說(shuō)明:變量的順序可任意)或a=1,b=1,s=1(說(shuō)明:賦值表達(dá)式的順序可任意)給a,b,s賦1或1.0或1都可以。
37.5656解析:本題中a,b,c,d足實(shí)參,x,y,cp,dp是形參。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。
38.doublemax或externdoublemaxdoublemax或externdoublemax解析:函數(shù)聲明是對(duì)所用到的函數(shù)的特征進(jìn)行必要的聲明,編譯系統(tǒng)以函數(shù)聲明中給出的信息為依據(jù),對(duì)調(diào)用表達(dá)式進(jìn)行檢測(cè),以保證調(diào)用表達(dá)式與函數(shù)之間的參數(shù)正確傳遞.函數(shù)聲明的一般格式為:類(lèi)型標(biāo)識(shí)符函數(shù)名(類(lèi)型標(biāo)識(shí)符形參,…);這些信息就是函數(shù)定義中的第一行的內(nèi)容。本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說(shuō)明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫(xiě)doublemax(或externdoublemax)。
39.10.5
40.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
41.D解析:一維數(shù)組的定義方式為:
類(lèi)型說(shuō)明符數(shù)組名[常量表達(dá)式];
選項(xiàng)A符合此定義形式,正確;C語(yǔ)言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。
42.B解析:本題考查的是C語(yǔ)言中實(shí)型常量的指數(shù)表示法。實(shí)型常量的指數(shù)表示法是用字母e(或E)將一個(gè)實(shí)數(shù)的小數(shù)部分和指數(shù)部分分隔開(kāi)。字母e(或E)之前是小數(shù)部分,之后是指數(shù)部分,這兩部分都不能省略,且指數(shù)部分必須為整數(shù)。故選項(xiàng)B不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
43.C解析:詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),但詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體的編寫(xiě)程序,而是要設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫(xiě)出實(shí)際的程序代碼,因此,詳細(xì)設(shè)計(jì)階段的結(jié)果基本上就決定了最終的程序代碼的質(zhì)量。
44.C棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表:本題答案為C)。
45.C解析:本題中char*p=a+5;即相當(dāng)于p=&a[5],而--p,是先要減1,則printf語(yǔ)句要輸出的值就是a[4]。
46.2解析:while的執(zhí)行過(guò)程是:先計(jì)算條件表達(dá)式的值,若成立則執(zhí)行循環(huán)體,重復(fù)上述過(guò)程,直到條件表達(dá)式的值為“假”(值為零)時(shí),退出循環(huán),并轉(zhuǎn)下一語(yǔ)句去執(zhí)行。本題在輸出num的值為3之后,再判斷while的循環(huán)條件3<=2,不成立,所以不再輸出num的值,故本題的答案選B。
47.D本題主要考查宏的一些基本概念。通常,預(yù)處理命令位于源文件的開(kāi)頭,但不一定必須位于開(kāi)頭,也可以寫(xiě)在函數(shù)與函數(shù)之間;由于預(yù)處理命令的末尾不加分號(hào),不以分號(hào)來(lái)區(qū)分一條宏命令,所以,不能在一行上寫(xiě)多條預(yù)處理命令,只能寫(xiě)一條,否則,系統(tǒng)處理時(shí)就會(huì)把它當(dāng)做一條命令處理;宏名一般習(xí)慣用大寫(xiě)字母表示,以便與變量名相區(qū)別,這只是習(xí)慣用法,并不是C語(yǔ)言中有這樣的規(guī)定,宏的定義可用小寫(xiě)字母;C語(yǔ)言中,宏的替換是在程序編譯時(shí)進(jìn)行,不占用程序運(yùn)行的時(shí)間,故本題答案為D。
48.D解析:本題考查do…while循環(huán)。當(dāng)--寸是0(即y是0)時(shí)結(jié)束循環(huán),輸出y--是先輸出y的值再將y的值減1。
49.B解析:通過(guò)觀察可知圖形共4行,主函數(shù)中通過(guò)一個(gè)for循環(huán)四次,輸出4行。第一行輸出3個(gè)空格和1個(gè)“*”,第2行輸出2個(gè)空格和3個(gè)“*”,第3行輸出3個(gè)空格和5個(gè)“*”,第四行輸出7個(gè)“*”,主函數(shù)中通過(guò)第二個(gè)循環(huán)控制每行的輸出空格數(shù),第三個(gè)for循環(huán)控制輸出的“*”的個(gè)數(shù),總結(jié)規(guī)律:每行輸出的“*”的個(gè)數(shù),總比前一行的多2個(gè),且第一行的個(gè)數(shù)為1,可以斷定每行輸出的“*”的個(gè)數(shù)組成了一個(gè)公差為2的等差數(shù)列,所以每行輸出“*”的個(gè)數(shù)即該等差數(shù)列的通項(xiàng),故該空格處應(yīng)該填寫(xiě)2*i-1。
50.A
51.D
52.D解析:C語(yǔ)言規(guī)定最左邊變量所得到的新值就是賦值表達(dá)式的值,故“if(a=1)”條件表達(dá)式為真,b=1;else總是與上面最近的沒(méi)有被使用的if配對(duì),導(dǎo)致不合法的if-else結(jié)構(gòu),if語(yǔ)句后面的兩條語(yǔ)句應(yīng)用“{)”括起來(lái)。
53.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
54.A解析:C語(yǔ)言中任何非0值都表示真,所以表達(dá)式1||2||3||4就是“真||真||真||真”,結(jié)果為真。又因?yàn)镃語(yǔ)言中的真值轉(zhuǎn)換為整型就是1,故選項(xiàng)A正確。
55.D解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和,每個(gè)成員分別占有自己的內(nèi)存單元;共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。結(jié)構(gòu)體變量aa中,成員r1占2個(gè)字節(jié),r2占8個(gè)字節(jié),r3占4個(gè)字節(jié),共用體ua占8個(gè)字節(jié),所以共占用2+8+4+8=22個(gè)字節(jié)。
56.B解析:在ASCII碼中,字符串結(jié)束符'\\0'的ASCII碼為0,字符'0'的ASCII碼的值為48,字符'1'的ASCII碼的值為49。由此可見(jiàn),選項(xiàng)A的值為-47;選項(xiàng)B的值為1;選項(xiàng)C的值為49;選項(xiàng)D的值為-48。故應(yīng)該選擇B。
57.C\nC)【解析】棧實(shí)際也是線性表,只不過(guò)是一種特殊的線性表。棧是只能在表的~端進(jìn)行插入和刪除運(yùn)算的線性表,通常稱(chēng)插入、刪除的這一端為棧頂另一端為棧底。當(dāng)表中沒(méi)有元素時(shí)稱(chēng)為空棧。棧頂元素總是最后被插入的元素,從而也是最先被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。
\n
58.A解析:結(jié)構(gòu)體變量的長(zhǎng)度是其內(nèi)部成員總長(zhǎng)度之和,在本題中,structdate中包含year,month,day三個(gè)整型變量。通常一個(gè)整型變量占2個(gè)字節(jié),因此,用sizeof求得該結(jié)構(gòu)體變量的長(zhǎng)度為6個(gè)字節(jié)。
59.C解析:本題考查一個(gè)算法應(yīng)當(dāng)具有5個(gè)特性,即有窮性、確定性、可行性、有零個(gè)或多個(gè)輸入以及有一個(gè)或多個(gè)輸出。算法的確定性是指:算法中每一條指令必須有確切的含義,讀者理解時(shí)不會(huì)產(chǎn)生二義性。并且在任何條件下,算法只有唯一的一條執(zhí)行路徑,即對(duì)于相同的輸入只能得出相同的執(zhí)行結(jié)果。
60.D解析:X--是先使用x的值再對(duì)x減1,即輸出11;--y是先對(duì)y減1再使用y的值,輸出10。格式控制中的普通字符“,”原樣輸出。所以選項(xiàng)D符合題意。
61.D
62.A算法的空間復(fù)雜度是指算法在執(zhí)行過(guò)程中所需要的內(nèi)存空間。所以選擇A項(xiàng)。
63.D本題考查邏輯運(yùn)算符的使用。當(dāng)“&&”的兩個(gè)運(yùn)算對(duì)象都是邏輯1時(shí),表達(dá)式返回值才是1;“||”的兩個(gè)運(yùn)算對(duì)象至少有一個(gè)是邏輯1時(shí),表達(dá)式返回值也是1,x<y為1,!z為0,1&&0為1,0||為1,因此,!1為0。
64.D
65.A\r\n二分法又叫折半(對(duì)分)查找法,只適合于順序存儲(chǔ)的有序表(是指線性表中的元素按值非遞減排列)。二分法的基本思想是:設(shè)有序線性表的長(zhǎng)度為n,被查元素為X,則二分查找的方法如下:
將X與線性表的中間項(xiàng)進(jìn)行比較:若中間項(xiàng)的值等于x,則說(shuō)明找到,查找結(jié)束;若x小于中間項(xiàng)的值,則在線性表的前半部分(即中間項(xiàng)以前的部分)以相同的方法進(jìn)行查找;若X大于中間項(xiàng)的值,則在線性表的后半部分(即中間項(xiàng)以后的部分)以相同的方法進(jìn)行查找、這個(gè)過(guò)程-直進(jìn)行到查找成功或于表長(zhǎng)度為0,(說(shuō)明線性表中沒(méi)有這個(gè)元素為止)順序存儲(chǔ)的線性袁在計(jì)算機(jī)中-般用一個(gè)-維數(shù)組來(lái)表示,在數(shù)組中我們可以通過(guò)數(shù)組名和下標(biāo)來(lái)對(duì)數(shù)組中的任意一個(gè)元素進(jìn)行訪問(wèn),而在鏈表(不管是有序還是無(wú)序)中,要對(duì)元素進(jìn)行訪問(wèn)必須從表頭結(jié)點(diǎn)開(kāi)始,順著鏈條一個(gè)一個(gè)結(jié)點(diǎn)進(jìn)行搜索,因此選項(xiàng)A正確
66.A?B)與D)選項(xiàng)中取模運(yùn)算符%的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),所以B)、D)錯(cuò)誤。C)選項(xiàng)中不能將x+z的值賦給表達(dá)式y(tǒng)*5,所以C)錯(cuò)誤。
67.C在C語(yǔ)言中各種數(shù)據(jù)類(lèi)型在內(nèi)存中所占的字節(jié)數(shù)與機(jī)器的位數(shù)有關(guān),16位機(jī)中(也就是在標(biāo)準(zhǔn)c中),若int類(lèi)型數(shù)據(jù)占2個(gè)字節(jié),則float類(lèi)型數(shù)據(jù)占4個(gè)字節(jié),double類(lèi)型數(shù)據(jù)占8個(gè)字節(jié)。
68.A除號(hào)和乘號(hào)的優(yōu)先級(jí)別相同,所以先計(jì)算x/y,然后將結(jié)果乘以z.與題目的不符。
69.B\r\n
70.A本題考查getchar函數(shù),從終端讀入一個(gè)字符作為函數(shù)值。在輸入時(shí),空格、回車(chē)符都將作為字符讀入,而且只有在用戶敲入回車(chē)鍵時(shí),讀入才開(kāi)始執(zhí)行。所以當(dāng)輸入a<回車(chē)>后,變量c1被賦予字符a,而變量c2被賦予回車(chē)符。
71.Ak=a>b?(b>C?1:o):o;a>b并且b>C,k為1,其他情況k為o,答案為A)。
72.B解析:編譯時(shí),編譯系統(tǒng)不為局部變量分配內(nèi)存單元,而是在程序運(yùn)行中,當(dāng)局部變量所在的函數(shù)被調(diào)用時(shí),編譯系統(tǒng)根據(jù)需要要臨時(shí)分配內(nèi)存,調(diào)用結(jié)束空間釋放;全局變量一經(jīng)定義,編譯系統(tǒng)為其分配固定的內(nèi)存單元,在程序運(yùn)行的自始至終都占用固定的單元。在考慮內(nèi)存不定的情況下,最好使用全局變量。
73.D
74.B
\n本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),形參是指向?qū)崊⒌闹羔樧兞浚瑒tprintf的執(zhí)行結(jié)果為++x;x=3,則3+1=4。
\n
75.B
76.D
77.B
78.D
79.D
80.C
81.
82.
(2)錯(cuò)誤:if(*r==0)
正確:if(*r==ˊ\0ˊ)
【解析】由于后面的語(yǔ)句控制變量r是指向字符串t的指針,而不是指向字符串str的指針,因此,“r=p;”應(yīng)改為“r=t;”。while循環(huán)結(jié)束后,如果r指向字符串t的結(jié)束符,證明字符串str中包含一個(gè)t字符串,因此,“if(*r=0)”應(yīng)改為“if(*r==ˊ\0ˊ)”。
</y&&!z||1>2021年內(nèi)蒙古自治區(qū)呼和浩特市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>main(){chars[]="012xy\O8s34f4w2‘;inti;n=0;,for(i=0;s[i]!=0;i++)if(s[i]>=0s[i]<=9)n++;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.3C.7D.8
2.
3.若有說(shuō)明charc[7]={'s','t','r','i','n','g'};則對(duì)元素的非法引用是()。
A.c[0]B.c[9-6]C.c[4*2]D.c[2*3]
4.C語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類(lèi)型包括()。
A.整型、實(shí)型、邏輯型B.整型、實(shí)型、字符型C.整型、字符型、邏輯型D.字符型、實(shí)型、邏輯型
5.設(shè)有一組關(guān)鍵字序列{5,8,14,20,31,55,78,81,93,97,111},使用二分(折半)法查找關(guān)鍵字93最少需要進(jìn)行多少次比較()A.2B.3C.4D.5
6.若函數(shù)中有定義語(yǔ)句:inta;,則()。
A.系統(tǒng)將自動(dòng)給a賦初值0B.這時(shí)a中的值是和隨機(jī)數(shù)C.系統(tǒng)將自動(dòng)給a賦初值-1D.這a中無(wú)任何值
7.
8.有以下程序:#include<stdio.h>main{shortC=124;C=C_;printf("%d\n",c);}若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是()。A.>>2B.|248C.&0248D.<<1
9.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
10.下面判斷正確的是
A.char*a="china";等價(jià)于char*a;*a="china";
B.charstr[5]={"china"};等價(jià)于charstr[]={"china"};
C.char*s="china";等價(jià)于char*s;s="china";
D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";
11.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
12.有以下程序段:
以下選項(xiàng)中表達(dá)式的值為11的是()。
A.
B.
C.
D.
13.下面函數(shù)的功能是()intfunl(char*X){char*y=X;whar(*y++);return(y-x-1);}
A.求字符串的長(zhǎng)度B.比較兩個(gè)字符串的大小C.將字符串x復(fù)制到字符串y中D.將字符串x連接到字符串y后面
14.可以判斷一個(gè)有向圖中是否含有回路的方法為()。
A.廣度優(yōu)先遍歷B.深度優(yōu)先遍歷C.拓?fù)渑判駾.求最短路徑
15.程序中已構(gòu)成如下不帶頭節(jié)點(diǎn)的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表節(jié)點(diǎn),指針變量s總是作為指針指向鏈表的第1個(gè)節(jié)點(diǎn)。若有以下程序段:q=s;s=s->next;p=s;while(p->next)p=p->next;p->next=q;q->next=NULL;該程序段實(shí)現(xiàn)的功能是()。
A.刪除尾節(jié)點(diǎn)B.使尾節(jié)點(diǎn)成為首節(jié)點(diǎn)C.刪除首節(jié)點(diǎn)D.使首節(jié)點(diǎn)成為尾節(jié)點(diǎn)
16.程序運(yùn)行后的輸出結(jié)果是()。A.10B.11C.20D.21
17.鏈表不具有的特點(diǎn)是()。A.A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問(wèn)任意元素
C.插入、刪除不需要移動(dòng)元素
D.所需空間與線性表長(zhǎng)度成正比
18.有以下程序:main(){intk=5,n=0;do{switch(k){case1:case3:n+=l;k--;break;defalut:n=0;k--;case2:case4:n+=2;k--;break:}printf("%d",n);}while(k>0&&n<5);}程序運(yùn)行后的輸出結(jié)果是()。A.235B.0235C.02356D.2356
19.下列敘述中正確的是()。
A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
20.
二、2.填空題(20題)21.在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置指針重新指向文件的開(kāi)頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】函數(shù)。
22.在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
23.軟件生命周期分為軟件定義期、軟件開(kāi)發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。
24.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{charc;intn=100;
floatf=10:doublex:
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
25.在運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。
26.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱(chēng)為一個(gè)______。
27.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?/p>
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=______;
scanf("%d%d%d",&x,&y,&z}:
big=(*f)(x,y,Z);
printf("big=%d\n",big);
}
28.在關(guān)系數(shù)據(jù)庫(kù)中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱(chēng)為【】。
29.以下程序的運(yùn)行結(jié)果是______。
intx;
main()
{inta=5,b=8;
swap(a,b);
printf("a=%d,b=%d,x=%d\n",a,b,x);
}
swap(inta,intb)
{inttemp;
temp=a;a=b;
b=temp;x=a/b;
printf("x=%d\n",x);
}
30.若有下列定義和語(yǔ)句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結(jié)果為_(kāi)_____。
31.軟件測(cè)試的方法有動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和【】13種。
32.用指針?lè)ㄇ蟪鰯?shù)組元素中最大者和最小者。
intmax,min;
voidmax_min_value(array,n)
intarray[],n;
{【】;
max=min=*array;
for(【】;p<array+n;p++)
if(*p>max)max=*p;
elseif(*p<min)min=*p;
}
main()
{inti,number[20],*p;
p=number;
printf("輸入20個(gè)數(shù)據(jù):\n");
for(i=0;i<20;i++,p++)scanf("%d",p);
【】;
max_min_value(p,10);
printf("max=%-10dmin=%d\n",max,rain);
}
33.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n",a,b,C);
}
34.以下程序的運(yùn)行結(jié)果是______。
#include<string.h>
typedefstructstudent{
charname[10];
longsno;
floatscore;
}STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},
c={"Anhua",2003,95},d,*p-&d;
d=a;
if{strcmp(a.nalne,)>0)d=b;
if(strcmp(,)>0)d=c;
printf("%ld%s\n",d.sno,p>name};
}
35.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,從外面看只能看到對(duì)象有外部特征,而不知道也無(wú)須知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法,這稱(chēng)為對(duì)象的______。
36.以下sum函數(shù)的功能是計(jì)算下列級(jí)數(shù)之和。請(qǐng)給函數(shù)中的各變量正確賦初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
37.下列程序的輸出結(jié)果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
38.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫(xiě)適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
______(double,double);
main()
{doublex,y;
scanf("%lf%lf",&x.&y);
printf("%lf\n…,max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a=B);}
39.若對(duì)長(zhǎng)度為90的線性表進(jìn)行分塊查找,其中每塊子表長(zhǎng)度為9。如果在索引表查找過(guò)程中進(jìn)行順序查找,那么平均查找長(zhǎng)度為【】。
40.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
三、1.選擇題(20題)41.以下數(shù)組定義中不正確的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
42.以下選項(xiàng)中不能作為合法常量的是_____。A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0
43.詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的()。
A.代碼的規(guī)模B.運(yùn)行速度C.質(zhì)量D.可維護(hù)性
44.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)
45.下列程序的輸出結(jié)果是______。main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}
A.非法B.a[4]的地址C.5D.3
46.以下程序的輸出結(jié)果是______。main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}
D.1111222334
47.以下敘述中正確的是______。A.預(yù)處理命令行必須位于源文件的開(kāi)頭
B.在源文件的一行上可以有多條預(yù)處理命令
C.宏名必須用大寫(xiě)字母表示
D.宏替換不占用程序的運(yùn)行時(shí)間
48.有下列程序:
main()
{inty=20;
do{y--;}while(--y);
phntf("%d\n",y--);
}
當(dāng)執(zhí)行程序時(shí),輸出的結(jié)果是()。
A.-1B.1C.4D.0
49.下面程序的功能是輸出以下形式的金字塔圖案:****************main(){inti,j;for(i=1;i<=4;i++){ror(j=1;j<=4-i;j++)printf("");for(j=1;j<=______;j++)printf("*");printf("\n");}}在下劃線處應(yīng)填入的是
A.iB.2*i-1C.2*i+1D.i+2
50.若x是整型變量,pb是基本類(lèi)型為整型的指針變量,則正確的賦值語(yǔ)句是()
A.pb=&x;B.pb=x;C.*pb=&x;D.*pb=*x;
51.應(yīng)用數(shù)據(jù)庫(kù)的主要目的是為了()
A.解決數(shù)據(jù)的保密問(wèn)題B.解決數(shù)據(jù)的共享問(wèn)題C.解決數(shù)據(jù)量大的問(wèn)題D.解決數(shù)據(jù)的完整性問(wèn)題
52.有以下程序:main(){inta=0,b=0,C=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%d\n",a,b,c,D);}程序輸出()。
A.0,1,2,0B.0,0,0,3C.1,1,2,0D.編譯有錯(cuò)
53.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶,開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
54.表達(dá)式“1||2||3||4”的值是()。
A.1B.2C.3D.4
55.若有下面的說(shuō)明和定義,則sizeof(structaa)的值是______。structaa{intrl;doubler2;floatr3;uninuu{charul[5];longu2[2]}ua;}mya;
A.30B.29C.24D.22
56.以下選項(xiàng)中,值為1的表達(dá)式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0'-'0'
57.下列關(guān)于棧的描述中,正確的是()
A.在棧中只能插入元素B.在棧中只能刪除元素C.只能在一端插入或刪除元素D.只能在一端插入元素,而在另一端刪除元素
58.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){st,uctdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A.6B.8C.10D.12
59.算法中,對(duì)需要執(zhí)行的每一步操作,必須給出清楚、嚴(yán)格的規(guī)定。這屬于算法的A.正當(dāng)性B.可行性C.確定性D.有窮性
60.以下程序的輸出結(jié)果是()。main(){intx=11,y=11;printf("%d,%d\n",X--,--y);}
A.11,11B.10,10C.10,11D.11,10
四、選擇題(20題)61.
62.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語(yǔ)句或指令條數(shù)
D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
63.設(shè)x、y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是()。
A.x&&yB.x<=yC.x||++y&&y-zD.!(x<y&&!z||1
64.
65.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.線性鏈表C.二叉鏈表D.有序線性鏈表
66.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0
67.設(shè)在C語(yǔ)言中,float類(lèi)型數(shù)據(jù)占4個(gè)字節(jié),則double類(lèi)型數(shù)據(jù)占()個(gè)字節(jié)。A.A.1B.2C.8D.4
68.以下變量x、y、z均為double類(lèi)型且已正確賦值,不能正確表示x/(y*z)的C語(yǔ)言表達(dá)式是()。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
69.
70.有以下程序:#include<stdio.h>main(){charcl=1,c2=2;cl=getchar();c2=getchar();putchar(c1);putcha:(c2);}當(dāng)程序運(yùn)行時(shí)輸入a<回車(chē)>后,下列敘述中正確的是()。A.變量c1被賦予字符a,c2被賦予回車(chē)符
B.程序?qū)⒌却脩糨斎氲?個(gè)字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無(wú)確定值
71.以下程序愛(ài)中,與語(yǔ)句:
72.下列敘述中不正確的是()。
A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參
B.在C的函數(shù)中,最好使用全局變量
C.外部變量可以在函數(shù)之間傳遞數(shù)據(jù)
D.自動(dòng)變量實(shí)質(zhì)上是一個(gè)函數(shù)內(nèi)部的局部變量
73.
74.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
voidp(int*x)
{printf("%d¨,++*x);
}
voidmain()
{inty=3;
p(&y);
}
A.3B.4C.2D.5
75.
76.在HTML文檔中,應(yīng)該在下列哪個(gè)部分引用外部樣式表?()A.A.文檔的末尾
B.<title>部分
C.<body>部分
D.<head>部分
77.
78.
79.
80.
五、程序改錯(cuò)題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫(xiě)(這里的“單詞”是指有空格隔開(kāi)的字符串)。
例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個(gè)字符串中。例如,若二維數(shù)組中的數(shù)據(jù)為:
WWW
SSS
HHH
III
則字符串中的內(nèi)容應(yīng)是WSHIWSHIWSHI。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。
試題程序:
參考答案
1.B考查簡(jiǎn)單的C程序數(shù)組和循環(huán)。for循環(huán)是指i=0,如果s/[3]!=0,則i自動(dòng)加1。if循環(huán)指的是s[i]中的元素大于等于0且小于等于9,則n加l,所以答案為B。
2.B
3.C
4.B解析:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,因?yàn)镃語(yǔ)言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等,所以a+7=c+b是錯(cuò)的。因此,正確答案是選項(xiàng)B),它相當(dāng)于a=(b=c+2),可分解為兩個(gè)表達(dá)式:b=c+2和a=b。
5.A
6.B本題考查變量賦值基本概念。在聲明一個(gè)變量后,如果未顯式的對(duì)其進(jìn)行賦值,則它的值是一個(gè)隨機(jī)值。
7.B
8.D124的2進(jìn)制值為1111100,要輸出為248即124*2,則2進(jìn)制值為11111000,即右移l位,所以選D。
9.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。
10.C解析:選項(xiàng)A)char*a;*a=“china”應(yīng)改為a=china;,選項(xiàng)B)應(yīng)該是charstr[6];D)項(xiàng)表述方法有錯(cuò)誤。
11.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡(jiǎn)單插入排序n(n-1)/2、希爾排序0(n1.5)、簡(jiǎn)單選擇排序n(n-1)/2、堆排序O(nlog2n)
12.C→的運(yùn)算優(yōu)先級(jí)比++高,此時(shí),pt→x=10,執(zhí)行自加運(yùn)算后為11。
13.A
14.C
15.D程序中,指針s指向了它的下一個(gè)節(jié)點(diǎn)。題目中說(shuō)明了s總是指向鏈表的第1個(gè)節(jié)點(diǎn)。然后while循環(huán)找到鏈表的最后一個(gè)元素,最后一個(gè)元素指向了之前鏈表的頭節(jié)點(diǎn),之前頭節(jié)點(diǎn)指向了空節(jié)點(diǎn)。所以本題實(shí)現(xiàn)的是使首節(jié)點(diǎn)成為尾節(jié)點(diǎn)。故本題答案為D選項(xiàng)。
16.D[解析]聲明data是結(jié)構(gòu)S數(shù)組。初始化data[0].a=10;data[O]b=100;data[1].a=20;data[]b=200.主函數(shù)中p=data[1];即p.a=data[1].a;p.b=data[1].b;執(zhí)行語(yǔ)句prit("%odn",++(pa);打印輸出時(shí)p.a先增1再打印。p.a=data\u3000\u3000[1].a=20.先增1等于21.
17.B鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,插入、刪除不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間,它是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。
18.B本題考查分支語(yǔ)句用法加個(gè)句號(hào)因?yàn)樽兞康某跏贾捣謩e為k一5、n一0,所以程序第1次進(jìn)入循環(huán)時(shí),執(zhí)行default語(yǔ)句,輸出0,k減1;這時(shí)n=0、k=4,程序進(jìn)行第2次循環(huán),執(zhí)行case4:這個(gè)分支,結(jié)果是n=2、k=3,打印出2;這時(shí)n=2、k=3,break跳出,程序進(jìn)行第3次循環(huán),執(zhí)行case3:這個(gè)分支,結(jié)果是n=3、k=2,打印出3;這時(shí)n一3、k2,b¨ak跳出,程序然后進(jìn)行第4次循環(huán),執(zhí)行case2:case4:這個(gè)分支,結(jié)果是n=5、k=1,打印出5,break跳出,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此循環(huán)結(jié)束。
19.D數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。
20.C
21.rewind或fseekrewind或fseek解析:本題考查文件的定位。在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置指針回到文件的開(kāi)頭,可以調(diào)用rewind函數(shù)或fseek函數(shù)來(lái)完成。其中,rewind函數(shù)的作用是將位置指針重新返回文件的開(kāi)頭;而fseek函數(shù)也可以實(shí)現(xiàn)文件指針的定位。
22.中序中序解析:在先左后右的原則下,根據(jù)訪問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京民間個(gè)人借款合同書(shū)
- 居間采購(gòu)合同居間行紀(jì)
- 全新房屋買(mǎi)賣(mài)作廢合同下載
- 二手房標(biāo)準(zhǔn)買(mǎi)賣(mài)合同
- 工業(yè)機(jī)器人系統(tǒng)集成項(xiàng)目合同
- 電瓶買(mǎi)賣(mài)合同模板
- 公司駕駛員聘用合同
- 物流運(yùn)輸合同范本年
- 全新餐飲承包合同范文下載
- 二級(jí)建造師考試內(nèi)部培訓(xùn)班講義《建設(shè)工程法規(guī)及相關(guān)知識(shí)》
- 梁湘潤(rùn)《子平基礎(chǔ)概要》簡(jiǎn)體版
- 圖形的位似課件
- 調(diào)料廠工作管理制度
- 人教版《道德與法治》四年級(jí)下冊(cè)教材簡(jiǎn)要分析課件
- 2023年MRI技術(shù)操作規(guī)范
- 辦公用品、易耗品供貨服務(wù)方案
- 醫(yī)療廢物集中處置技術(shù)規(guī)范
- 媒介社會(huì)學(xué)備課
- 三相分離器原理及操作
- 新教科版五年級(jí)下冊(cè)科學(xué)全冊(cè)每節(jié)課后練習(xí)+答案(共28份)
- 葫蘆島尚楚環(huán)??萍加邢薰踞t(yī)療廢物集中處置項(xiàng)目環(huán)評(píng)報(bào)告
評(píng)論
0/150
提交評(píng)論