版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年江蘇省徐州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
2.下面不正確的字符賦值或賦初值的方式為()。
A.chars[10]=”hello!”
B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}
C.chars[10];s=”hello”
D.char[]=”hello!”
3.
4.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達(dá)式的值為()。(float)(a+b)/2+(int)x%(int)y;
A.5.5B.55C.5.500000D.55.00000
5.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
6.若有定義語(yǔ)句“char*s1=“OK”,*s2=“ok”;”,以下選項(xiàng)中,能夠輸出“OK”的語(yǔ)句是()。
A.if(strcmp(s1,s2)!=0)puts(s2);
B.if(strcmp(s1,s2)!=0)puts(s1);
C.if(strcmp(s1,s2)==1)puts(s1);
D.if(strcmp(s1,s2)==0)puts(s1);
7.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()。A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段
8.
9.深度為5的二叉樹(shù)至多有C個(gè)結(jié)點(diǎn)。
A.16B.32C.31D.10
10.算法分析的目的是()。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改進(jìn)D.分析算法的易讀性和文檔性
11.以下敘述中錯(cuò)誤的是______。A.C程序必須由—個(gè)或—個(gè)以上的函數(shù)組成
B.函數(shù)調(diào)用可以作為—個(gè)獨(dú)立的語(yǔ)句存在
C.若函數(shù)有返回值,必須通過(guò)return語(yǔ)句返回
D.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參
12.算法的時(shí)間復(fù)雜度是指()A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法程序中的指令條數(shù)D.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
13.下列說(shuō)法正確的是()。
A.在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組
B.在c語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)
C.在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類(lèi)型可以不一致
D.在C語(yǔ)言中,定義一個(gè)數(shù)組后.就確定了它所容納的元素的個(gè)數(shù)
14.
15.在C語(yǔ)言中,函數(shù)隱含的類(lèi)型是()
A.autoB.staticC.intD.void
16.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta=0,b=1,c=2;if(++a>0‖++b>0)++c;printf("%d,%d,%d",a,b,c);}
A.0,1,2B.1,2,3C.1,1,3D.1,2,2
17.
18.一個(gè)隊(duì)列的入隊(duì)序列是a,b,c,d,則出隊(duì)序列是()。
A.a,b,c,dB.a,c,b,dC.d,c,b,aD.a,c,b,d
19.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.10B.40C.32D.8
20.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3;charflag;flag=b>=2&&c<=3;switch(a){ case1:switch(flag) { case0:printf(“**”);break; case1:printf(“%%”);break; } case0:switch(c) { case1:printf(“$$”);break; case2:printf(“&&”);break; default:printf(“##”); }}printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。
A.**$$B.%##C.%&&D.**##
二、2.填空題(20題)21.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9;【】)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);
printf("\n");
}
22.若有下列定義和語(yǔ)句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結(jié)果為_(kāi)_____。
23.在計(jì)算機(jī)軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫(kù)管理系統(tǒng)位于用戶(hù)和【】之間。
24.在軟件開(kāi)發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是【】方法。
25.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱(chēng)為算法的【】。
26.下列程序的循環(huán)次數(shù)是______。
x=2;
do
{x=x*x;}
while(!x);
27.下列程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{unionEXAMPLE
{struct
{intx;inty;}in;
inta;
intb;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d,%d\n",e.in.x,e.in.y);
}
28.最簡(jiǎn)單的交換排序方法是______。
29.軟件生命周期包括8個(gè)階段。為了使各時(shí)期的任務(wù)更明確,又可分為3個(gè)時(shí)期:軟件定義期、軟件開(kāi)發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。
30.棧的3種基本運(yùn)算是:入棧、退棧和______。
31.以下程序用來(lái)輸出結(jié)構(gòu)體變量student所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
structst
{charname[20];doublescore;
};
main()
{structststudent;
printf("studentsize:%d\n",sizeof(【】));
}
32.以下程序的輸出結(jié)果是【】。
intfun(int*x,intn)
{if(n==0)returnx[0];
elsereturnx[0]+fun(x+1,n-1);
}
main()
{inta[]={1,2,3,4,5,6,7};
printf("%d\n",fun(a,3));}
33.設(shè)一棵完全二叉樹(shù)共有700個(gè)結(jié)點(diǎn),則在該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
34.算法的復(fù)雜度主要包括空間復(fù)雜度和______復(fù)雜度。
35.在樹(shù)形結(jié)構(gòu)中,沒(méi)有前件的結(jié)點(diǎn)是()。
36.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?/p>
voiddele(char*s)
{
intn=0,i;
for(i=0,s[i];i++)
if(【】)
s[n++]=s[i];
s[n]=【】;
}
37.以下程序運(yùn)行后的輸出結(jié)果是【】。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]=(1,2,3,4,5),s;
s=f(aa,5);printf("%d\n",s);
}
38.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
39.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。
40.以下程序的輸出結(jié)果是【】。
#include<stdlib.h>
main()
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;*s2=20;m=*s1+*s2;
printf("%d\n",m);
}
三、1.選擇題(20題)41.若有說(shuō)明inti,j=2,*p=&i;,則能完成i=j賦值功能的語(yǔ)句是()
A.i=*p;B.*p=*&jC.i=&jD.i=**p;
42.設(shè)有定義:#defineSTR"12345";,則以下敘述中正確的是()
A.宏名STR代替的是數(shù)值常量12345
B.宏定義以分號(hào)結(jié)束,編譯時(shí)一定會(huì)產(chǎn)生錯(cuò)誤信息
C.宏名STR代替的是字符串"12345";
D.宏名STR代替的是字符串常量"12345"
43.可在C程序中用作用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是
A.andB.DateC.HiD.case_2007y-m-dDr.TomBigl
44.若有定義語(yǔ)句:intx=3,y=2,z=1;,表達(dá)式:2*=(x>y?++x:y+)的值是
A.4B.0C.1D.3
45.以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是
A.k=n,n=n+1B.n=n+l,k=nC.k=++nD.k+=n+1
46.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
47.已定義以下函數(shù)
fun(int*p)
{return*p;}
該函數(shù)的返回值是()
A.不確定的值
B.形參p中存放的值
C.形參p所指存儲(chǔ)單元中的值
D.形參p的地址值
48.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
49.設(shè)a、b,c為int型變量,若從鍵盤(pán)給a、b,c輸入數(shù)據(jù),則正確的輸入語(yǔ)句是()
A.scanf("%d%d%d",a,b,c);
B.put("%d%d%d",a,b,c);
C.input("%d%d%d",a,b,c);
D.scanf("%d%d%d",&a,&b,&c);
50.不能把字符串"Hello!"賦給數(shù)組b的語(yǔ)句是______。
A.charb[10]={'H','e','l','l','o','!'};
B.charb[10]={'h','e','l','l','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.charb[10]="Hello!";
51.有以下程序
#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
52.以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prt(&a,&b,&c);}
A.11,42,3112,22,41
B.11,41,2012,42,20
C.11,21,4011,21,21
D.11,41,21.12,42,22
53.設(shè)x=2.5、a=7、y=4.7,算術(shù)表達(dá)式x+a%3*(int)(x+y)%2/4的值為_(kāi)_____。
A.2.5B.7C.4.7D.2.75
54.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無(wú)限次
55.以下正確的程序段是
A.charstr1[]="12345",str2[]="abcdef";
B.charstr[10],*st="abcde";strcat(str,st);
C.charstr[10]=""。*st="abcde";strcat(str,st);
D.char*st1="12345",*st2="abcde";strcat(st1,st2);
56.執(zhí)行以下程序后,y的值是()main(){inta[]={2,4,6,8,10);inty=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}
A.17B.18C.19D.20
57.有以下程序:#iaclude<stdio.h>main(){intp[8]:{11,12,13,14,15,16,17,18},i=0,j:0;while(i++<7)if(p[i]%2)j+=p[i];printf("%'d\n",j);}程序運(yùn)行后的輸出結(jié)果是()。
A.42B.45C.56D.60
58.在下列選項(xiàng)中,______不是一個(gè)算法一般應(yīng)該具有的基本特征。
A.確定性B.可行性C.無(wú)窮性D.擁有足夠的情報(bào)
59.若有如下定義:unionaa{intn;charc[9];floatx;}a,b,c;則下列敘述中不正確的是()
A.unionaa是定義的共用體類(lèi)型
B.a,b,c是定義的共用體類(lèi)型名
C.n、c[9]和x是共用體的成員名
D.a,b,c是定義的共用體變量名
60.下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是A.內(nèi)模式B.外模式C.概念模式D.邏輯模式
四、選擇題(20題)61.有以下程序:
main()
{
chara[7]="a0\OaO\0";inti,j;
i=sizeof(a);j=strlen(a);
printf("%d%d\n",i,j);
}
程序運(yùn)行后的輸出結(jié)果是()。
A)22B)76
C)75D)62
62.在E—R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是()。
A.橢圓形B.矩形C.菱形D.三角形
63.
64.有以下程序:
i
程序運(yùn)行后的輸出結(jié)果是()。。,
A.3,4B.4,1C.2,3D.1,2
65.
66.
67.
68.以下不能正確表示代數(shù)式4cd/ab的C語(yǔ)言表達(dá)式縣().
A.4*c*d/a/bB.c*d/a/b*4C.c/a/b*d*4D.4*c*d/a*b
69.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
70.在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)椋ǎ?/p>
A.由具體定義位置和extem說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
71.
有以下程序:
viodfun(inta,intb,intc)
{a=456:b=567;c=678;}
main
{intx=10,y=20,z=30;
fun(x,y,z):
printf("%d,%d,%d\n",x,y,z);
}
輸出的結(jié)果是()。
A.30,20,10B.10,20,30C.456,567,678D.678,567,456
72.
73.
74.若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是
main()
{intk=8;
switch(k)
{case9:k+=1;
case10:k+=1;
default:k+=1;
case11:k+=1;break;
}
printf("%d\n",k);
}
A.12B.1
C.10D.9
75.
76.
77.有以下程序:
#include<stdio.h>
structord
{intX,y;)dt[2]={1,2,3,4};
main()
{
structord*p=dt;
printf("%d,",++(p->x));printf("%d\n",++(p->y));
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2
B.4,1
C.3,4
D.2,3
78.
79.if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。A.可以是任意合法的數(shù)值B.必須是整數(shù)值C.必須是正數(shù)D.必須是邏輯值
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符
串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤(pán)輸入,輸出其中最大的一個(gè)數(shù)。
參考答案
1.D解析:棧是僅在表頭和表尾進(jìn)行插入和刪除元素操作的線性表,其特點(diǎn)是“先進(jìn)后出”。本題中,進(jìn)棧的過(guò)程中可以出棧。選項(xiàng)D中,如果第一個(gè)出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因?yàn)閑1先入棧,故e1應(yīng)在e2后出棧,所以選項(xiàng)D是不可能的出棧順序。
2.C
3.B
4.C在計(jì)算(float)(a4-b)/2時(shí),由于通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計(jì)算,得4.500000。在計(jì)算(int)x%(int)y時(shí),先將x和y通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,結(jié)果為1。又因?yàn)?.500000是float型,所以將1和它相加時(shí),先將1換成float型,再計(jì)算,得到5.500000。類(lèi)型轉(zhuǎn)換的一般規(guī)則是:低級(jí)類(lèi)型從高級(jí)類(lèi)型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類(lèi)型的級(jí)別由低到高的排序表示為:char→int→unsigned→log→float→double。
5.C
6.B“strcmp(S1,S2)”是字符串比較函數(shù),比較規(guī)則是兩個(gè)字符串自左向右逐個(gè)字符相比較(按照ASCII值大?。?。因?yàn)椤癘K”<“ok”,所以“strcmp(S1,S2)”為負(fù)值。故本題答案為B選項(xiàng)。
7.CE-R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來(lái)的聯(lián)系反映到數(shù)據(jù)庫(kù)中,即設(shè)計(jì)出表,所以屬于邏輯設(shè)計(jì)階段。
8.C
9.C
10.C
11.D解析:在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞紿形參,調(diào)用結(jié)束后,形參單元彼釋放,實(shí)參單元仍保留并維持原值。因此,在執(zhí)行—個(gè)被調(diào)用函數(shù)時(shí),形參的值如果發(fā)生改變,并不會(huì)改變主調(diào)函數(shù)的實(shí)參的值,也就是說(shuō)形參的值是不傳回紿對(duì)應(yīng)的實(shí)參的。
12.D解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫(xiě)算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算工具以及程序員的水平無(wú)關(guān)。
選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤。因?yàn)樗惴ㄋ帉?xiě)的程序長(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫(xiě)出的程序其長(zhǎng)度可能會(huì)大不相同。
選項(xiàng)C錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序程序中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。
所以,本題的正確答案為D。
13.D在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)是確定的,不允許隨機(jī)變動(dòng),數(shù)組定義好后,它所能容納的元素的個(gè)數(shù)也就確定了,并且同一個(gè)數(shù)組中所有元素都是同一類(lèi)型。
14.B
15.C
16.C解析:本題考查if語(yǔ)句。先判斷if語(yǔ)句的條件是否成立,++a=1>0,此條件成立,又因?yàn)槭沁M(jìn)行邏輯或運(yùn)算,在已知其中一個(gè)運(yùn)算對(duì)象為真的情況下,不必判斷另外一個(gè)運(yùn)算符的真假,即不進(jìn)行++b操作,就可以直接得出整個(gè)表達(dá)式的值為邏輯1,執(zhí)行下列的++c。
17.D
18.A
19.D整型變量ch使用八進(jìn)制數(shù)020初始化,二進(jìn)制數(shù)為10000,右移一位結(jié)果為1000,使用%d輸出十進(jìn)制數(shù)為8。本題答案為D選項(xiàng)。
20.Bmain函數(shù)中,根據(jù)“b=2,c=3”可知表達(dá)式“b>=2&&c<=3”為真,flag值為1。由“a=1”和外層switch語(yǔ)句的case標(biāo)號(hào)沒(méi)有break語(yǔ)句,可知外層switch語(yǔ)句執(zhí)行case1,case0。對(duì)于外層case1:嵌套的switch語(yǔ)句根據(jù)“flag=1”執(zhí)行case1,執(zhí)行“printf(“%%”);”,輸出“%”,接著執(zhí)行break語(yǔ)句,結(jié)束內(nèi)層switch執(zhí)行外層;對(duì)于外層case0:嵌套的switch語(yǔ)句根據(jù)“c=3”執(zhí)行default語(yǔ)句,執(zhí)行“printf(“##”);”,輸出“##”。故本題答案為B選項(xiàng)。
21.j++a[i]>a[j]或a[j]<a[i]j++\r\na[i]>a[j]或a[j]<a[i]解析:題目要求排序的元素是下標(biāo)值為偶數(shù)的元素,外循環(huán)循環(huán)4次,i的值分別為0、2、4、6,所以?xún)?nèi)循環(huán)也循環(huán)4次,i的值就應(yīng)為2、4、6、8,在循環(huán)體中已經(jīng)有了對(duì)j加1的操作,因此for后括號(hào)中的語(yǔ)句應(yīng)再對(duì)j加1,保證下標(biāo)為偶數(shù)。if語(yǔ)句的功能是如果后一個(gè)數(shù)比前一個(gè)數(shù)小則交換位置。
22.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。
23.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)。位于用戶(hù)和操作系統(tǒng)之間。
24.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:在軟件開(kāi)發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是結(jié)構(gòu)化設(shè)計(jì)方法。
25.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。
26.11解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán);do…while語(yǔ)句的特點(diǎn)是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。
27.484,8解析:C語(yǔ)言規(guī)定,共用體中各個(gè)成員變量在內(nèi)存中占用同一段內(nèi)存單元,即e.in.x、e.a、e.b占用同一段內(nèi)存單元。執(zhí)行語(yǔ)句e.b=2;后,e.in.x=e.a=e.b=2;執(zhí)行語(yǔ)句e.in.x=e.a*e.b;時(shí),e.a的值為2,e.b的值為2,所以運(yùn)算得出e.in.x的值為4;執(zhí)行語(yǔ)句e.in.y=e.a+e.b時(shí),由于e.in.x和e.a、e.b占用的是同一段內(nèi)存單元,所以此時(shí)的e.a、e.b的值為4,因此運(yùn)算得出e.in.y的值為4+4=8。程序最后的輸出結(jié)果為4,8。
28.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡(jiǎn)單的交換排序方法,它是通過(guò)相鄰元素之間的相互交換逐步將線性表變成有序。
29.軟件開(kāi)發(fā)軟件開(kāi)發(fā)解析:軟件生命周期可以分為3個(gè)時(shí)期:軟件定義期,包括問(wèn)題定義、可行性研究和需求分析3個(gè)階段;軟件開(kāi)發(fā)期,包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;軟件維護(hù)期,即運(yùn)行維護(hù)階段。編碼和測(cè)試屬于軟件開(kāi)發(fā)階段。
30.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。
31.structst或studentstructst或student
32.1010解析:題目中的fun()函數(shù)直接調(diào)用了自身,所以它是遞歸函數(shù)。函數(shù)中只有一條if語(yǔ)句,意思是:若n為0,則返回x所指內(nèi)容(x[0]等價(jià)于*x),否則返回x所指內(nèi)容加上fun(x+1,n-1)。即,當(dāng)n>0時(shí),fun(x,n)=x[0]+fun(x+1,n-1)=x[0]+x[1]+fun(x+2,n-2)=…=x[0]+x[1]+…+x[n];當(dāng)n=0時(shí),fun(x,n)=x[0];當(dāng)n<0時(shí),函數(shù)將無(wú)限循環(huán)遞歸調(diào)用下去,因?yàn)閚-1下去永遠(yuǎn)也不會(huì)等于0。所以本題中fun(a,3)=a[0]+a[1]+a[2]+a[3]=12+3+4=10。故應(yīng)該填10。
33.350350解析:在任意一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹(shù)的定義,在一棵完全二叉樹(shù)中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹(shù)具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹(shù)中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹(shù)中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒(méi)有度為1的結(jié)點(diǎn)。本題中,完全二叉樹(shù)共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹(shù)中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。
34.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。
35.根結(jié)點(diǎn)根結(jié)點(diǎn)
36.s[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigis[i]<'0'||s[i]>'9'或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))或isdigit(s[i])==0或s[i]>'9'||s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'||*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'或!(*(s+i)<='9'&&*(s+i)>='0'或isdigi解析:從一個(gè)字符串中刪除某字符的力‘法是從字符串的第一個(gè)字符開(kāi)始一一判斷該字符是否是要被刪除,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個(gè)空應(yīng)判斷s[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'||s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標(biāo)志\\0。
37.1515解析:s=f(aa,5)=f(aa,4)+a[4]=f(aa,3)+a[3]+a[4]=f(aa,2)+a[2]+a[3]+a[4]
=f(aa,1)+a[1]+a[2]+a[3]|a[4]=0+a[0]+a[1]+a[2]+a[3]+a[4]=15。
38.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
39.數(shù)據(jù)模型數(shù)據(jù)模型
40.4040解析:本題中指針s1和s2都指向同一個(gè)內(nèi)存中的地址。因此語(yǔ)句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。
41.B
42.C
43.A解析:在C語(yǔ)言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線。C語(yǔ)言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶(hù)標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語(yǔ)言關(guān)鍵字。
44.A解析:本題考查了條件表達(dá)式和自加運(yùn)算。首先判斷x>y這個(gè)關(guān)系表達(dá)式的值,通過(guò)計(jì)算知其值為真,所以關(guān)系表達(dá)式的值為++x(為4),最后執(zhí)行z*=4,z的值為4。
45.A解析:在本題中k=n++,為后綴運(yùn)算。根據(jù)其運(yùn)算規(guī)則,首先n先加一,但n++表達(dá)式的值依然n原來(lái)的值,即k的值沒(méi)有改變。選項(xiàng)A中先給k賦值為n,然后n再加1,k值沒(méi)有變化,所以這個(gè)表達(dá)式和本題中表達(dá)式等價(jià);選項(xiàng)B中先n加1,然后將n加1后的值賦給k,k變化了比原來(lái)的值大1,所以這個(gè)表達(dá)式和本題中表達(dá)式不等價(jià);選項(xiàng)C中先計(jì)算表達(dá)式左邊的表達(dá)式++n的值,執(zhí)行++n后,左邊的表達(dá)式的值為n的值加1,然后將n+1后的值賦給k,所以這個(gè)表達(dá)式和本題中的表達(dá)式不等價(jià);選項(xiàng)D中表達(dá)式展開(kāi)為k=k/(n+1),k的值發(fā)生了變化,所以這個(gè)表達(dá)式和本題中的表達(dá)式不等價(jià).所以4個(gè)選項(xiàng)中A正確。
46.C解析:p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。
47.C解析:本題考核的知識(shí)點(diǎn)是函數(shù)的返回值.函數(shù)的返回值應(yīng)該為return后面的表達(dá)式的值,在本題中的表達(dá)式為*p,*p指的是形參p所指存儲(chǔ)單元中的值,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
48.B數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的邏輯設(shè)計(jì)包括數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)事務(wù)概要設(shè)計(jì)和應(yīng)用程序概要設(shè)計(jì)三方面。數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對(duì)初始關(guān)系模式進(jìn)行優(yōu)化,檢查關(guān)系表對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計(jì)基于關(guān)系模式的用戶(hù)視圖。
49.D
50.B解析:在C語(yǔ)言中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是兩個(gè)不同的字符,因此,“hello!”和“Hello!”是兩個(gè)不同的字符串。
51.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}。
52.B解析:盡管C語(yǔ)言以傳值方式進(jìn)行函數(shù)調(diào)用,但也可以通過(guò)傳遞指針的值(變量的地址)來(lái)達(dá)到修改實(shí)參變量值的目的,這是此題主要說(shuō)明的問(wèn)題。其次,應(yīng)注意表達(dá)式。(z++)的值是*z,其后的z++在程序中無(wú)實(shí)際作用。函數(shù)調(diào)用時(shí),由于x,y和z分指向a,b和c,因此,*x,*y和*z就是a,b和c。第一次調(diào)用函數(shù)時(shí),*x=a=10,*y=b=40,*z=c=20輸出結(jié)果為11,41,20,至此,已經(jīng)可以肯定選項(xiàng)B)是正確的。在第一次輸出后,a=11,b=41,c=20,第二次輸出為:12,42,20。注意:指針作為參數(shù)的函數(shù)調(diào)用的執(zhí)行過(guò)程。
53.A解析:取模運(yùn)算只能在整型數(shù)據(jù)之間進(jìn)行,a為整型變量。因?yàn)?、*、/這三個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,而類(lèi)型轉(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。
54.B解析:本題考查while語(yǔ)句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。
55.C解析:本題考查了一維字符數(shù)組的定義和初始化。選項(xiàng)C中str[10]初始化為空,可以不必進(jìn)行類(lèi)似''的空賦值,字符數(shù)組若沒(méi)有進(jìn)行初始化賦值,默認(rèn)的字符為空,并且定義完str數(shù)組后,應(yīng)該用“,”分隔而不是“?!保赃x項(xiàng)C錯(cuò)誤。
56.C
57.B解析:程序執(zhí)行過(guò)程如下:
i=0:i++<7為真,p[i]%2即為p[1]%2,值為0,不執(zhí)行j+=p[i];j=0;
i=1:i++<7為真,P[i]%2即為p[2]%2,值為1,執(zhí)行j+=p[i];j=13;
i=2:i++<7為真,p[i]%2即為P[3]%2,值為0,不執(zhí)行j+=p[i];j=13;
i=3:i++<7為真,p[i]%2即為P[4]%2,值為1,執(zhí)行j+=p[i]];j=13+15=28;
i=4:i++<7為真,p[i]%2即為p[5]%2,值為0,不執(zhí)行j+=P[i];j=28;
i=5:i++<7為真,P[i]%2即為P[6]%2,值為1,執(zhí)行j+=P[i];j=28+17=45;
i=6:i++<7為真,P[i]%2即為p[7]%2,值為0,不執(zhí)行j+=p[i];j=45;
i=7:i++<7為假,結(jié)束循環(huán),輸出j的值45。
可見(jiàn),程序的功能是求除p[0]外的其他奇數(shù)的和。
58.C解析:作為一個(gè)算法,一般應(yīng)具有以下幾個(gè)基本特征。①可行性②確定性③有窮性④擁有足夠的情報(bào)
59.B
60.A數(shù)據(jù)庫(kù)管理系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。
外模式,或子模式,或用戶(hù)模式,是指數(shù)據(jù)庫(kù)用戶(hù)所看到的數(shù)據(jù)結(jié)構(gòu),是用戶(hù)看到的數(shù)據(jù)視圖。模式,或邏輯模式,是數(shù)據(jù)庫(kù)中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶(hù)所見(jiàn)到的數(shù)據(jù)視圖的總和。外模式是模式的一一部分。內(nèi)模式,或存儲(chǔ)模式,或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)的存儲(chǔ)介質(zhì)上的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。
61.C數(shù)組a中有5個(gè)元素a,0,0,a,0占7個(gè)字節(jié)的內(nèi)容。最后一個(gè)\\0為結(jié)束符。
62.CC?!窘馕觥縀—R圖也即實(shí)體~聯(lián)系圖(EntityRelationshipDiagram),提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型,構(gòu)成E—R圖的基本要素是實(shí)體型、屬性和聯(lián)系,其表示方法為:實(shí)體型(Entity):用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名;屬性(Attribute):用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);聯(lián)系(Relationship):用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型(1:1,1:n或m:n)。
63.B
64.C本題考查結(jié)構(gòu)體數(shù)組的相關(guān)操作,dt為結(jié)構(gòu)體數(shù)組,那么指針P指向了結(jié)構(gòu)體數(shù)組的一個(gè)元素,所以P一>x為1,P一>Y為2,結(jié)果為2,3。選項(xiàng)C正確。
65.A
66.C
67.C
68.Dc語(yǔ)言中算術(shù)運(yùn)算符的結(jié)合性均為自左向右。選項(xiàng)D中表達(dá)式計(jì)算結(jié)果是4cdb/a,和題目要求的代數(shù)式不一致,因此選項(xiàng)D不能正確表示題目所給代數(shù)式的內(nèi)容。
69.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
70.A全局變量的作用域是從聲明處到文件的結(jié)束。所以選擇A)。
71.B
\n本題考查實(shí)參與形參調(diào)用,從實(shí)參傳遞到形參時(shí),只是數(shù)值的傳遞,調(diào)用函數(shù)中值的改變不會(huì)影響主函數(shù)中的值,因此原樣輸出。
\n
72.D
73.B
74.C在本題中,程序首先定義了一個(gè)整型變量k,并賦初值8,然后執(zhí)行switch選擇結(jié)構(gòu)。由于k的初值為8,與程序中給出的選擇結(jié)構(gòu)不匹配,那么只能執(zhí)行default結(jié)構(gòu),即執(zhí)行k+=1,將變量k的值變?yōu)?,執(zhí)行完后,由于沒(méi)有break語(yǔ)句,程序接著往下執(zhí)行,執(zhí)行case11結(jié)構(gòu),將變量k的值再加1,然后執(zhí)行break語(yǔ)句,跳出switch選擇結(jié)構(gòu)。此時(shí)變量k的值為10,然后執(zhí)行輸出語(yǔ)句輸出k的值。因此,本題程序的最后輸出結(jié)果為10,答案選C。\r\n\r\n\r\n
75.C
76.D
77.D\np一>x的值為1,++(p->x)作用是取p->x的值加1作為表達(dá)式的值即值為2,同理++(p->y)的值為3。所以選D。
\n
78.C
79.A
80.A
81.
82.\n\tmain
\n{inta,b,c;
\nprintf(“請(qǐng)輸入三個(gè)整數(shù):”);
\nscanf(“%d,%d,%d”,&a,&b,&c);
\nif(aif(belseprintf(“max=%d\\n”,b);
\nelseif(aelseprintf(“max=%d\\n”,a);}
\n2021年江蘇省徐州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
2.下面不正確的字符賦值或賦初值的方式為()。
A.chars[10]=”hello!”
B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}
C.chars[10];s=”hello”
D.char[]=”hello!”
3.
4.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達(dá)式的值為()。(float)(a+b)/2+(int)x%(int)y;
A.5.5B.55C.5.500000D.55.00000
5.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
6.若有定義語(yǔ)句“char*s1=“OK”,*s2=“ok”;”,以下選項(xiàng)中,能夠輸出“OK”的語(yǔ)句是()。
A.if(strcmp(s1,s2)!=0)puts(s2);
B.if(strcmp(s1,s2)!=0)puts(s1);
C.if(strcmp(s1,s2)==1)puts(s1);
D.if(strcmp(s1,s2)==0)puts(s1);
7.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()。A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段
8.
9.深度為5的二叉樹(shù)至多有C個(gè)結(jié)點(diǎn)。
A.16B.32C.31D.10
10.算法分析的目的是()。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.研究算法中的輸入和輸出的關(guān)系C.分析算法的效率以求改進(jìn)D.分析算法的易讀性和文檔性
11.以下敘述中錯(cuò)誤的是______。A.C程序必須由—個(gè)或—個(gè)以上的函數(shù)組成
B.函數(shù)調(diào)用可以作為—個(gè)獨(dú)立的語(yǔ)句存在
C.若函數(shù)有返回值,必須通過(guò)return語(yǔ)句返回
D.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參
12.算法的時(shí)間復(fù)雜度是指()A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法程序中的指令條數(shù)D.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
13.下列說(shuō)法正確的是()。
A.在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組
B.在c語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)
C.在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類(lèi)型可以不一致
D.在C語(yǔ)言中,定義一個(gè)數(shù)組后.就確定了它所容納的元素的個(gè)數(shù)
14.
15.在C語(yǔ)言中,函數(shù)隱含的類(lèi)型是()
A.autoB.staticC.intD.void
16.下列程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta=0,b=1,c=2;if(++a>0‖++b>0)++c;printf("%d,%d,%d",a,b,c);}
A.0,1,2B.1,2,3C.1,1,3D.1,2,2
17.
18.一個(gè)隊(duì)列的入隊(duì)序列是a,b,c,d,則出隊(duì)序列是()。
A.a,b,c,dB.a,c,b,dC.d,c,b,aD.a,c,b,d
19.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.10B.40C.32D.8
20.有以下程序:#include<stdio.h>main(){inta=1,b=2,c=3;charflag;flag=b>=2&&c<=3;switch(a){ case1:switch(flag) { case0:printf(“**”);break; case1:printf(“%%”);break; } case0:switch(c) { case1:printf(“$$”);break; case2:printf(“&&”);break; default:printf(“##”); }}printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。
A.**$$B.%##C.%&&D.**##
二、2.填空題(20題)21.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9;【】)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);
printf("\n");
}
22.若有下列定義和語(yǔ)句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結(jié)果為_(kāi)_____。
23.在計(jì)算機(jī)軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫(kù)管理系統(tǒng)位于用戶(hù)和【】之間。
24.在軟件開(kāi)發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是【】方法。
25.實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少和算法的工作量大小分別稱(chēng)為算法的【】。
26.下列程序的循環(huán)次數(shù)是______。
x=2;
do
{x=x*x;}
while(!x);
27.下列程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{unionEXAMPLE
{struct
{intx;inty;}in;
inta;
intb;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d,%d\n",e.in.x,e.in.y);
}
28.最簡(jiǎn)單的交換排序方法是______。
29.軟件生命周期包括8個(gè)階段。為了使各時(shí)期的任務(wù)更明確,又可分為3個(gè)時(shí)期:軟件定義期、軟件開(kāi)發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。
30.棧的3種基本運(yùn)算是:入棧、退棧和______。
31.以下程序用來(lái)輸出結(jié)構(gòu)體變量student所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
structst
{charname[20];doublescore;
};
main()
{structststudent;
printf("studentsize:%d\n",sizeof(【】));
}
32.以下程序的輸出結(jié)果是【】。
intfun(int*x,intn)
{if(n==0)returnx[0];
elsereturnx[0]+fun(x+1,n-1);
}
main()
{inta[]={1,2,3,4,5,6,7};
printf("%d\n",fun(a,3));}
33.設(shè)一棵完全二叉樹(shù)共有700個(gè)結(jié)點(diǎn),則在該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
34.算法的復(fù)雜度主要包括空間復(fù)雜度和______復(fù)雜度。
35.在樹(shù)形結(jié)構(gòu)中,沒(méi)有前件的結(jié)點(diǎn)是()。
36.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請(qǐng)?zhí)羁铡?/p>
voiddele(char*s)
{
intn=0,i;
for(i=0,s[i];i++)
if(【】)
s[n++]=s[i];
s[n]=【】;
}
37.以下程序運(yùn)行后的輸出結(jié)果是【】。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]=(1,2,3,4,5),s;
s=f(aa,5);printf("%d\n",s);
}
38.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
39.【】是數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。
40.以下程序的輸出結(jié)果是【】。
#include<stdlib.h>
main()
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;*s2=20;m=*s1+*s2;
printf("%d\n",m);
}
三、1.選擇題(20題)41.若有說(shuō)明inti,j=2,*p=&i;,則能完成i=j賦值功能的語(yǔ)句是()
A.i=*p;B.*p=*&jC.i=&jD.i=**p;
42.設(shè)有定義:#defineSTR"12345";,則以下敘述中正確的是()
A.宏名STR代替的是數(shù)值常量12345
B.宏定義以分號(hào)結(jié)束,編譯時(shí)一定會(huì)產(chǎn)生錯(cuò)誤信息
C.宏名STR代替的是字符串"12345";
D.宏名STR代替的是字符串常量"12345"
43.可在C程序中用作用戶(hù)標(biāo)識(shí)符的一組標(biāo)識(shí)符是
A.andB.DateC.HiD.case_2007y-m-dDr.TomBigl
44.若有定義語(yǔ)句:intx=3,y=2,z=1;,表達(dá)式:2*=(x>y?++x:y+)的值是
A.4B.0C.1D.3
45.以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是
A.k=n,n=n+1B.n=n+l,k=nC.k=++nD.k+=n+1
46.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
47.已定義以下函數(shù)
fun(int*p)
{return*p;}
該函數(shù)的返回值是()
A.不確定的值
B.形參p中存放的值
C.形參p所指存儲(chǔ)單元中的值
D.形參p的地址值
48.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
49.設(shè)a、b,c為int型變量,若從鍵盤(pán)給a、b,c輸入數(shù)據(jù),則正確的輸入語(yǔ)句是()
A.scanf("%d%d%d",a,b,c);
B.put("%d%d%d",a,b,c);
C.input("%d%d%d",a,b,c);
D.scanf("%d%d%d",&a,&b,&c);
50.不能把字符串"Hello!"賦給數(shù)組b的語(yǔ)句是______。
A.charb[10]={'H','e','l','l','o','!'};
B.charb[10]={'h','e','l','l','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.charb[10]="Hello!";
51.有以下程序
#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
52.以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prt(&a,&b,&c);}
A.11,42,3112,22,41
B.11,41,2012,42,20
C.11,21,4011,21,21
D.11,41,21.12,42,22
53.設(shè)x=2.5、a=7、y=4.7,算術(shù)表達(dá)式x+a%3*(int)(x+y)%2/4的值為_(kāi)_____。
A.2.5B.7C.4.7D.2.75
54.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無(wú)限次
55.以下正確的程序段是
A.charstr1[]="12345",str2[]="abcdef";
B.charstr[10],*st="abcde";strcat(str,st);
C.charstr[10]=""。*st="abcde";strcat(str,st);
D.char*st1="12345",*st2="abcde";strcat(st1,st2);
56.執(zhí)行以下程序后,y的值是()main(){inta[]={2,4,6,8,10);inty=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}
A.17B.18C.19D.20
57.有以下程序:#iaclude<stdio.h>main(){intp[8]:{11,12,13,14,15,16,17,18},i=0,j:0;while(i++<7)if(p[i]%2)j+=p[i];printf("%'d\n",j);}程序運(yùn)行后的輸出結(jié)果是()。
A.42B.45C.56D.60
58.在下列選項(xiàng)中,______不是一個(gè)算法一般應(yīng)該具有的基本特征。
A.確定性B.可行性C.無(wú)窮性D.擁有足夠的情報(bào)
59.若有如下定義:unionaa{intn;charc[9];floatx;}a,b,c;則下列敘述中不正確的是()
A.unionaa是定義的共用體類(lèi)型
B.a,b,c是定義的共用體類(lèi)型名
C.n、c[9]和x是共用體的成員名
D.a,b,c是定義的共用體變量名
60.下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是A.內(nèi)模式B.外模式C.概念模式D.邏輯模式
四、選擇題(20題)61.有以下程序:
main()
{
chara[7]="a0\OaO\0";inti,j;
i=sizeof(a);j=strlen(a);
printf("%d%d\n",i,j);
}
程序運(yùn)行后的輸出結(jié)果是()。
A)22B)76
C)75D)62
62.在E—R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是()。
A.橢圓形B.矩形C.菱形D.三角形
63.
64.有以下程序:
i
程序運(yùn)行后的輸出結(jié)果是()。。,
A.3,4B.4,1C.2,3D.1,2
65.
66.
67.
68.以下不能正確表示代數(shù)式4cd/ab的C語(yǔ)言表達(dá)式縣().
A.4*c*d/a/bB.c*d/a/b*4C.c/a/b*d*4D.4*c*d/a*b
69.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
70.在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)椋ǎ?/p>
A.由具體定義位置和extem說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
71.
有以下程序:
viodfun(inta,intb,intc)
{a=456:b=567;c=678;}
main
{intx=10,y=20,z=30;
fun(x,y,z):
printf("%d,%d,%d\n",x,y,z);
}
輸出的結(jié)果是()。
A.30,20,10B.10,20,30C.456,567,678D.678,567,456
72.
73.
74.若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是
main()
{intk=8;
switch(k)
{case9:k+=1;
case10:k+=1;
default:k+=1;
case11:k+=1;break;
}
printf("%d\n",k);
}
A.12B.1
C.10D.9
75.
76.
77.有以下程序:
#include<stdio.h>
structord
{intX,y;)dt[2]={1,2,3,4};
main()
{
structord*p=dt;
printf("%d,",++(p->x));printf("%d\n",++(p->y));
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2
B.4,1
C.3,4
D.2,3
78.
79.if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。A.可以是任意合法的數(shù)值B.必須是整數(shù)值C.必須是正數(shù)D.必須是邏輯值
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符
串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤(pán)輸入,輸出其中最大的一個(gè)數(shù)。
參考答案
1.D解析:棧是僅在表頭和表尾進(jìn)行插入和刪除元素操作的線性表,其特點(diǎn)是“先進(jìn)后出”。本題中,進(jìn)棧的過(guò)程中可以出棧。選項(xiàng)D中,如果第一個(gè)出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因?yàn)閑1先入棧,故e1應(yīng)在e2后出棧,所以選項(xiàng)D是不可能的出棧順序。
2.C
3.B
4.C在計(jì)算(float)(a4-b)/2時(shí),由于通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計(jì)算,得4.500000。在計(jì)算(int)x%(int)y時(shí),先將x和y通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,結(jié)果為1。又因?yàn)?.500000是float型,所以將1和它相加時(shí),先將1換成float型,再計(jì)算,得到5.500000。類(lèi)型轉(zhuǎn)換的一般規(guī)則是:低級(jí)類(lèi)型從高級(jí)類(lèi)型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類(lèi)型的級(jí)別由低到高的排序表示為:char→int→unsigned→log→float→double。
5.C
6.B“strcmp(S1,S2)”是字符串比較函數(shù),比較規(guī)則是兩個(gè)字符串自左向右逐個(gè)字符相比較(按照ASCII值大?。?。因?yàn)椤癘K”<“ok”,所以“strcmp(S1,S2)”為負(fù)值。故本題答案為B選項(xiàng)。
7.CE-R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來(lái)的聯(lián)系反映到數(shù)據(jù)庫(kù)中,即設(shè)計(jì)出表,所以屬于邏輯設(shè)計(jì)階段。
8.C
9.C
10.C
11.D解析:在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞紿形參,調(diào)用結(jié)束后,形參單元彼釋放,實(shí)參單元仍保留并維持原值。因此,在執(zhí)行—個(gè)被調(diào)用函數(shù)時(shí),形參的值如果發(fā)生改變,并不會(huì)改變主調(diào)函數(shù)的實(shí)參的值,也就是說(shuō)形參的值是不傳回紿對(duì)應(yīng)的實(shí)參的。
12.D解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫(xiě)算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算工具以及程序員的水平無(wú)關(guān)。
選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤。因?yàn)樗惴ㄋ帉?xiě)的程序長(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫(xiě)出的程序其長(zhǎng)度可能會(huì)大不相同。
選項(xiàng)C錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序程序中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。
所以,本題的正確答案為D。
13.D在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)是確定的,不允許隨機(jī)變動(dòng),數(shù)組定義好后,它所能容納的元素的個(gè)數(shù)也就確定了,并且同一個(gè)數(shù)組中所有元素都是同一類(lèi)型。
14.B
15.C
16.C解析:本題考查if語(yǔ)句。先判斷if語(yǔ)句的條件是否成立,++a=1>0,此條件成立,又因?yàn)槭沁M(jìn)行邏輯或運(yùn)算,在已知其中一個(gè)運(yùn)算對(duì)象為真的情況下,不必判斷另外一個(gè)運(yùn)算符的真假,即不進(jìn)行++b操作,就可以直接得出整個(gè)表達(dá)式的值為邏輯1,執(zhí)行下列的++c。
17.D
18.A
19.D整型變量ch使用八進(jìn)制數(shù)020初始化,二進(jìn)制數(shù)為10000,右移一位結(jié)果為1000,使用%d輸出十進(jìn)制數(shù)為8。本題答案為D選項(xiàng)。
20.Bmain函數(shù)中,根據(jù)“b=2,c=3”可知表達(dá)式“b>=2&&c<=3”為真,flag值為1。由“a=1”和外層switch語(yǔ)句的case標(biāo)號(hào)沒(méi)有break語(yǔ)句,可知外層switch語(yǔ)句執(zhí)行case1,case0。對(duì)于外層case1:嵌套的switch語(yǔ)句根據(jù)“flag=1”執(zhí)行case1,執(zhí)行“printf(“%%”);”,輸出“%”,接著執(zhí)行break語(yǔ)句,結(jié)束內(nèi)層switch執(zhí)行外層;對(duì)于外層case0:嵌套的switch語(yǔ)句根據(jù)“c=3”執(zhí)行default語(yǔ)句,執(zhí)行“printf(“##”);”,輸出“##”。故本題答案為B選項(xiàng)。
21.j++a[i]>a[j]或a[j]<a[i]j++\r\na[i]>a[j]或a[j]<a[i]解析:題目要求排序的元素是下標(biāo)值為偶數(shù)的元素,外循環(huán)循環(huán)4次,i的值分別為0、2、4、6,所以?xún)?nèi)循環(huán)也循環(huán)4次,i的值就應(yīng)為2、4、6、8,在循環(huán)體中已經(jīng)有了對(duì)j加1的操作,因此for后括號(hào)中的語(yǔ)句應(yīng)再對(duì)j加1,保證下標(biāo)為偶數(shù)。if語(yǔ)句的功能是如果后一個(gè)數(shù)比前一個(gè)數(shù)小則交換位置。
22.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。
23.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)。位于用戶(hù)和操作系統(tǒng)之間。
24.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:在軟件開(kāi)發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是結(jié)構(gòu)化設(shè)計(jì)方法。
25.空間復(fù)雜度和時(shí)間復(fù)雜度算法的復(fù)雜性是指對(duì)一個(gè)在有限步驟內(nèi)終止算法和所需存儲(chǔ)空間大小的估計(jì)。算法所需存儲(chǔ)空間大小是算法的空間復(fù)雜性,算法的計(jì)算量是算法的時(shí)間復(fù)雜性。
26.11解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán);do…while語(yǔ)句的特點(diǎn)是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。
27.484,8解析:C語(yǔ)言規(guī)定,共用體中各個(gè)成員變量在內(nèi)存中占用同一段內(nèi)存單元,即e.in.x、e.a、e.b占用同一段內(nèi)存單元。執(zhí)行語(yǔ)句e.b=2;后,e.in.x=e.a=e.b=2;執(zhí)行語(yǔ)句e.in.x=e.a*e.b;時(shí),e.a的值為2,e.b的值為2,所以運(yùn)算得出e.in.x的值為4;執(zhí)行語(yǔ)句e.in.y=e.a+e.b時(shí),由于e.in.x和e.a、e.b占用的是同一段內(nèi)存單元,所以此時(shí)的e.a、e.b的值為4,因此運(yùn)算得出e.in.y的值為4+4=8。程序最后的輸出結(jié)果為4,8。
28.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡(jiǎn)單的交換排序方法,它是通過(guò)相鄰元素之間的相互交換逐步將線性表變成有序。
29.軟件開(kāi)發(fā)軟件開(kāi)發(fā)解析:軟件生命周期可以分為3個(gè)時(shí)期:軟件定義期,包括問(wèn)題定義、可行性研究和需求分析3個(gè)階段;軟件開(kāi)發(fā)期,包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;軟件維護(hù)期,即運(yùn)行維護(hù)階段。編碼和測(cè)試屬于軟件開(kāi)發(fā)階段。
30.讀棧頂元素讀棧頂元素解析:棧的基本運(yùn)算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個(gè)新的元素;退棧是指取出棧頂元素并賦值給一個(gè)變量;讀棧頂元素是將棧頂元素賦值給一個(gè)指定的變量,不刪除棧頂元素。
31.structst或studentstructst或student
32.1010解析:題目中的fun()函數(shù)直接調(diào)用了自身,所以它是遞歸函數(shù)。函數(shù)中只有一條if語(yǔ)句,意思是:若n為0,則返回x所指內(nèi)容(x[0]等價(jià)于*x),否則返回x所指內(nèi)容加上fun(x+1,n-1)。即,當(dāng)n>0時(shí),fun(x,n)=x[0]+fun(x+1,n-1)=x[0]+x[1]+fun(x+2,n-2)=…=x[0]+x[1]+…+x[n];當(dāng)n=0時(shí),fun(x,n)=x[0];當(dāng)n<0時(shí),函數(shù)將無(wú)限循環(huán)遞歸調(diào)用下去,因?yàn)閚-1下去永遠(yuǎn)也不會(huì)等于0。所以本題中fun(a,3)=a[0]+a[1]+a[2]+a[3]=12+3+4=10。故應(yīng)該填10。
33.350350解析:在任意一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹(shù)的定義,在一棵完全二叉樹(shù)中,最
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/Z 6113.405-2026無(wú)線電騷擾和抗擾度測(cè)量設(shè)備和測(cè)量方法規(guī)范第4-5部分:不確定度、統(tǒng)計(jì)學(xué)和限值建模替換試驗(yàn)方法的使用條件
- 流程工業(yè)智能制造技術(shù)理論及應(yīng)用 課件 第五章-流程工業(yè)過(guò)程實(shí)時(shí)優(yōu)化
- 感恩活動(dòng)策劃方案流程(3篇)
- 江門(mén)地產(chǎn)活動(dòng)策劃方案(3篇)
- 活動(dòng)策劃方案賺錢(qián)文案(3篇)
- 跨年歡聚活動(dòng)策劃方案(3篇)
- 配送企業(yè)人員管理制度范本(3篇)
- 高速道路救援管理制度范本(3篇)
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)投資保險(xiǎn)行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 養(yǎng)老院活動(dòng)策劃制度
- 2025屆新疆烏魯木齊市高三下學(xué)期三模英語(yǔ)試題(解析版)
- DB3210T1036-2019 補(bǔ)充耕地快速培肥技術(shù)規(guī)程
- 混動(dòng)能量管理與電池?zé)峁芾淼膮f(xié)同優(yōu)化-洞察闡釋
- T-CPI 11029-2024 核桃殼濾料標(biāo)準(zhǔn)規(guī)范
- 統(tǒng)編版語(yǔ)文三年級(jí)下冊(cè)整本書(shū)閱讀《中國(guó)古代寓言》推進(jìn)課公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 《顧客感知價(jià)值對(duì)綠色酒店消費(fèi)意愿的影響實(shí)證研究-以三亞S酒店為例(附問(wèn)卷)15000字(論文)》
- 勞動(dòng)仲裁申請(qǐng)書(shū)電子版模板
- 趙然尊:胸痛中心時(shí)鐘統(tǒng)一、時(shí)間節(jié)點(diǎn)定義與時(shí)間管理
- 家用燃?xì)庠罱Y(jié)構(gòu)、工作原理、配件介紹、常見(jiàn)故障處理
- ZD(J)9-型電動(dòng)轉(zhuǎn)轍機(jī)
- DB21T 3414-2021 遼寧省防汛物資儲(chǔ)備定額編制規(guī)程
評(píng)論
0/150
提交評(píng)論