版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年廣東省湛江市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________一、單選題(20題)1.以下選項(xiàng)中,能表示邏輯值“假”的是()
A.1B.0.000001C.0D.100.0
2.
3.
4.在一個(gè)長(zhǎng)度為n(n>1)的單鏈表上,設(shè)有頭和尾兩個(gè)指針,執(zhí)行()操作與鏈表的長(zhǎng)度有關(guān)。
A.刪除單鏈表中的第一個(gè)元素
B.刪除單鏈表中的最后一個(gè)元素
C.在單鏈表第一個(gè)元素前插入一個(gè)新元素
D.在單鏈表最后一個(gè)元素后插入一個(gè)新元素
5.有以下程序:#include<stdio.h>voidmain(){char*s=“\ta\018bc”;for(;*s!=‘\0’;s++)printf(“*”);printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。
A.******B.*********C.*****D.*******
6.以下選項(xiàng)中能用作數(shù)據(jù)常量的是()。
A.115LB.0118C.1.5e1.5D.o115
7.設(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
8.以下敘述中正確的是()。
A.C語(yǔ)言的源程序不必通過(guò)編譯就可以直接運(yùn)行
B.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C.C源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行
D.C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
9.數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指()
A.數(shù)據(jù)與程序獨(dú)立存放
B.不同的數(shù)據(jù)被存放在不同的文件中
C.不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用
D.以上三種說(shuō)法都不對(duì)
10.某二叉樹結(jié)點(diǎn)的中序序列為A、B、C、D、E、F、G,后序序列為B、D、C、A、F、G、E,該二叉樹對(duì)應(yīng)的層次遍歷序列為()
A.E、G、F、A、C、D、B
B.E、A、C、B、D、G、F
C.E、A、G、C、F、B、D
D.E、G、A、C、D、F、B
11.某二叉樹的先序序列和后序序列正好相同,則該二叉樹可能是______的二叉樹。
A.高度大于1的左單支B.高度大于1的右單支C.最多只有一個(gè)結(jié)點(diǎn)D.既有左孩子又有右孩子
12.
13.已知一算術(shù)表達(dá)式的中綴表達(dá)式為a-(b+c/d)*e,其后綴形式為()
A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-
14.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間
15.設(shè)有以下語(yǔ)句
charchl,ch2;scanf("%c%C",&chl,&ch2);
若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。
A.A和B之間用逗號(hào)間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
16.
17.判斷有向圖是否存在回路,利用()方法最佳。
A.求關(guān)鍵路徑B.求最短路徑C.拓?fù)渑判駾.廣度優(yōu)先遍歷
18.在Internet中,域名服務(wù)器的主要功能是實(shí)現(xiàn)()的轉(zhuǎn)換。
A.IP地址到域名(主機(jī)名字)B.域名到IP地址C.主機(jī)IP地址和路由器IP地址之間D.路由器IP地址之問(wèn)
19.可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof
20.有以下程序(說(shuō)明:字母A的ASCIl碼值是65):#include<stdio.h>voidfun(char*s){while(*s){if(*s%2)printf("%C",*s);s++;}}main(){chara[]="BYTE";Fun(a);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.BYB.BTC.YTD.YE
二、2.填空題(20題)21.填空補(bǔ)充以下程序。
#define【】30
{【】;
total=numPRICE;
printf("total=%d,num=%d\n",【】);
}
22.以下程序的運(yùn)行結(jié)果是()。#defineS(x)x*xmain(){intk=1;while(k<=4){printf("%d,",S(k));k++;}
23.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
24.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%",n[i]);
}
25.函數(shù)check用來(lái)判斷字符串s是否是“回文”(順讀和倒讀都一樣的字符串為“回文”,如abeba)。是則函數(shù)返回值1,否則返回值0,請(qǐng)?zhí)羁铡?/p>
intcheck(char*s)
{
char*p1,*p2;intn;
n=strlen(s);
p1=s;
p2=【】;
while(p1<p2)
{
if(*p1!=*p2)break;
else{p1++;p2--;}
}
if(【】)return0;
elsereturn1;
}
26.funl函數(shù)的調(diào)用語(yǔ)句為funl(&a,&b,&c);。它將3個(gè)整數(shù)按由大到小的JI匣序調(diào)整后依次放入a,b,c三個(gè)變量中,a中放最大數(shù),請(qǐng)?zhí)羁铡?/p>
voidfun2(int*x,int*y)
{intt;
t=*x;*x;*y;*y=t;
}
voidfunl(int*pa,int*pb,int*pc)
{if(*pc>*pb)fun2(【】);
if(*pa<*pc)fun2(【】);
if(*pa<*pb)fun2(【】);
}
27.當(dāng)輸入19、2時(shí),下列程序的運(yùn)行結(jié)果為【】;輸入254、16時(shí),則程序的運(yùn)行結(jié)果是【】。
main()
{chardata_symbols[17]="0123456789abcdefghijklmnopqrstuvwxyz";
inti=0,t,subscript,data_converted[32];
longnumber;
while(1)
{scanf("%ld,%d",&number,&t);
if(number>=O&&t>=2&&t<=16)break;
}
do
{dataconverted[i++]=number%t;
number=number/t;
}
while(number!=0);
for(--i;i>=0;--i)
{subscript=data_converted[i];
printf("%c",data_symbols[subscript]);
}
printf("\n");
}
28.函數(shù)fun的功能是計(jì)算xn。
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)用語(yǔ)句為【】。
29.在面向?qū)ο蠓椒ㄖ校?)是具有相似性質(zhì)的對(duì)象的集合。
30.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時(shí)針依次編號(hào),然后從1號(hào)開(kāi)始順時(shí)針報(bào)數(shù)(1、2、3…),凡報(bào)5的倍數(shù)者出圈,剩下者繼續(xù)報(bào)數(shù),求出最后出圈者的編號(hào)。
#include<stdio.h>
【】
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j(luò);
j=1;count=0;n=【】;
do
{if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
31.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁眨?/p>
main()
{
inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
32.以下程序用于判斷a,b,c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a,b,c輸入三角形三條邊長(zhǎng)時(shí),確定a,b,c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(【】)printf("YES\n");/*a.b.c能構(gòu)成三角形*/
elseprinff("NO\n");/*a.b.c不能構(gòu)成三解形*/
}
33.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
34.以下定義的結(jié)構(gòu)體類型包含兩個(gè)成員,其中成員變量info用來(lái)存放整型數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針。請(qǐng)將定義補(bǔ)充完整。
structnode
{intinfo;
【】Link;
};
35.若有以下程序:
intf(intx,inty)
{
return(y-x)*x;
}
main()
{
inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
執(zhí)行后輸出的結(jié)果是【】。
36.在數(shù)據(jù)結(jié)構(gòu)中,順序存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)元素所占的存儲(chǔ)空間是______的。
37.以下程序的功能是計(jì)算:s=1+12+123+1234+12345。請(qǐng)?zhí)羁铡?/p>
main()
{intt=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+______;s=s+t;}
printf("s=%d\n",s);
}
38.函數(shù)delete(s,i,n)是作用是從字符串s中刪除從第i個(gè)字符開(kāi)始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,length=0;
while(s[length])
【】;
-i;
j=i
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='\0';
}
39.下面的程序用來(lái)統(tǒng)計(jì)文件中字符的個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fP;
longnum=0;
if((fp=fopen("fname.dat","r"))==NULL)
{printf("Can'topenfile!\n");sxit(0);}
while【】
{fgetc(fp);num++;}
printr("num=%d\n",num);
fclose(fp);
}
40.以下程序中函數(shù)huiwen的功能是檢查一個(gè)寧符串是否是回文,當(dāng)字符串是回文時(shí),函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請(qǐng)?zhí)羁誣_____。
#include<string.h>
chat*huiwen(chat*str)
{char*p1,*p2;inti,t=0;
p1=str;p2=【】;
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;break;}
if(!t或t!=0)return("yes!");
elsereturn("no!");
}
main()
{charstr[50];
printf("Input:");scanf("%s",str);
printf("%s\n",huiwen(str));
}
三、1.選擇題(20題)41.下列程序運(yùn)行后,輸出結(jié)果是______。func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}
A.8,15B.8,16C.8,17D.8,8
42.算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是_____。A.有窮性B.簡(jiǎn)潔性C.可行性D.確定性
43.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
44.下列敘述中正確的是()。
A.在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息
B.在自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程中,首先應(yīng)設(shè)計(jì)解決問(wèn)題的第一個(gè)細(xì)節(jié)
C.在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則
D.在程序設(shè)計(jì)過(guò)程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法
45.對(duì)于―個(gè)非空的數(shù)據(jù)結(jié)構(gòu),如果它有且只有―個(gè)根結(jié)點(diǎn),并且每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有―個(gè)后件,那么()
A.肯定是一個(gè)線形結(jié)構(gòu)B.肯定是一個(gè)非線性結(jié)構(gòu)C.還不足以證明是一個(gè)線形結(jié)構(gòu)D.很可能是一個(gè)非線形結(jié)構(gòu)
46.若有定義:inta[2][3];,以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是
A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]
47.以下程序中函數(shù)f的功能是將n個(gè)字符串按由大到小的順序進(jìn)行排序。#include<string.h>voidf(charp[][10],intn){chart[20];inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p[i],p[j]<0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,”cd”};inti;f(p,5);printf(“%d\n”,strlen(P[0]));}程序運(yùn)行后的輸出結(jié)果是
A.6B.4C.5D.3
48.在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的是()。
A.inti=100;while(1){i=i%100+1;if(i>100)break;}
B.for(;;);
C.intk=10000;do{k++;}while(k>10000);
D.ints=36;while(s)--s;
49.以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x/(y*z)的C語(yǔ)言表達(dá)式是______。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
50.在使用程序流程圖來(lái)表示算法時(shí),菱形用來(lái)表示_______。
A.輸入與輸出B.子程序C.判斷分支D.循環(huán)邊界
51.從順序存儲(chǔ)的循環(huán)隊(duì)列中刪除一個(gè)元素時(shí),是______。
A.先移動(dòng)隊(duì)首指針,后取出元素
B.先取出元素,后移動(dòng)隊(duì)首指針
C.先移動(dòng)隊(duì)尾指針,后取出元素
D.先取出元素,后移動(dòng)隊(duì)尾指針
52.在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開(kāi)發(fā)階段是()
A.邏輯設(shè)計(jì)B.需求分析C.詳細(xì)設(shè)計(jì)D.物理設(shè)計(jì)
53.執(zhí)行下面的程序后,a的值為()。main(){inta,b;for(a=1,b=1;a<=10;a++){if(b%3==1){b+=3;continue;}b=5;}}
A.7B.8C.9D.10
54.有以下程序main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)pfintf("%d",i);}printf("\n");}執(zhí)行后的輸出結(jié)果是
A.5B.24C.32D.40
55.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
56.有定義語(yǔ)句:“inta=1,b=2,c=3,x;”,則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是()。
A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;
B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;
C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;
D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
57.下面程序main(){intx=100,a=10,b=20,okl=5,ok2=0;if(a<B)if(b!=15)if(!ik1)x=1;elseif(ok2)x=10;x=-1;printf("%d\n",x);}的輸出是______。
A.-1B.0C.1D.不確定的值
58.在下列幾種排序方法中,要求內(nèi)存量最大的是______。
A.插入排序B.選擇排序C.快速排序D.歸并排序
59.X、Y、2被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸入語(yǔ)句是______。
A.INPUTX,Y,Z;
B.scanf("%d%d%d",&X,&Y,&Z);
C.scanf("%d%d%d",X,Y,Z);
D.read("%d%d%d",&X,&Y,&Z);
60.以下程序的輸出結(jié)果是main(){charcf[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",cf[1]);;}
A.AAAAB.BBBC.BBBCCD.CC
四、選擇題(20題)61.
62.以下能正確定義二維數(shù)組的是()。
A.inta[][3];
B.inta[][3]={2*3);
C.inta[][3]={};
D.inta[2][3]一{{1),{2},{3,4}};
63.在數(shù)據(jù)庫(kù)設(shè)計(jì)的各階段中,負(fù)責(zé)將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的階段是
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
64.
有下列程序:
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<n-l;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;}
}
main
{intaa[10]:{1,2,3,4,5,6,7,8,9,10),i;
sort(aa+2,5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\n");
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,l0,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
65.有以下程序
66.若有下面的程序段
#include"stdio.h"
main()
{inti=6;
while(i--)
printf("%d",--i);
printf("\n");
}
那么程序的輸出結(jié)果為
A.531B.420
C.654321D.死循環(huán)
67.設(shè)在C語(yǔ)言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。A.A.1B.2C.8D.4
68.有以下程序段:
charname[20】;intnum;
scanf("name=%Snum=%d",name,&num);
當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lilimum=1001<回車>后,name的值為()。
A.Lili
B.name=Lili
C.Lilinum=
D.name=Lilinum=1001
69.
70.設(shè)x為int型變量,則執(zhí)行以下語(yǔ)句后,x的值為()。x=10;x=x-=x-x;
A.10B.20C.40D.30
71.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程
C.軟件的開(kāi)發(fā)過(guò)程
D.軟件的運(yùn)行維護(hù)過(guò)程
72.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.2B.3C.7D.0
73.有以下程序:
#include<stdio.h>
intfun
{staticintx=1;
x+=1;returnX;
}
main
{inti,S=1;
for(i=1;i<=S;i++)s+=fun;
printf("%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.11B.21C.6D.120
74.
75.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,用E-R圖來(lái)描述信息結(jié)構(gòu),但不涉及信息在計(jì)算機(jī)中的表示,它是數(shù)據(jù)庫(kù)設(shè)計(jì)的()階段。
A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)
76.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
77.
有下列程序:
fun(intX,inty){return(x+y);}
main
{inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的輸出結(jié)果是()。
A.6B.7C.8D.9
78.數(shù)據(jù)庫(kù)管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)
79.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.116B.8C.40D.4
80.下列說(shuō)法中不正確的是
A.C語(yǔ)言規(guī)定,不能在一個(gè)函數(shù)的內(nèi)部再定義函數(shù)
B.在沒(méi)有聲明函數(shù)返回值類型的情況下,默認(rèn)的函數(shù)返回值類型為int型
C.函數(shù)的類型可以是整型、實(shí)型、字符型,但不能是指針型
D.函數(shù)可以沒(méi)有形參,但函數(shù)名后的一對(duì)圓括號(hào)不能省略
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:從字符串str中,刪除所有大寫字母F。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdio.h>
voidproc(char*str)
{
inti,j;
//****found****
for(i=j=0;str[i]一0;i++)
if(str[i]!=F)
//****found****
str[i]=str[i];
str[j]=\0;
}
voidmain
{
charstr[80];
printf("\nEnterastring:");
gets(str);
printf("Theoriginalstring:");
puts(str);
proc(str);
printf("Thestringafterdeleted:");
puts(str);
printf("\n\n");}
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫函數(shù)fun(),其功能是將一個(gè)數(shù)字字符串轉(zhuǎn)換成一個(gè)整數(shù)(不得調(diào)用C語(yǔ)言提供的將字符串轉(zhuǎn)換成整數(shù)的函數(shù))。例如,若輸入字符串“-1234”,則函數(shù)把它轉(zhuǎn)換成整數(shù)值-1234。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:#include<stdio.h>#include<string.h>longfun(char*p){}voidmain(){ chars[6]; longn; printf(“Enterastring:\n”); gets(s); n=fun(s); printf(“%ld\n”,n);}
參考答案
1.C\n本題考查邏輯值假,在程序中非0字符表示邏輯真,0表示邏輯假,所以答案選擇C。
\n
2.D
3.A
4.B
5.Amain函數(shù)中定義一個(gè)字符指針s,指向字符串“\\ta\\018bc”。for循環(huán)遍歷s指向的字符串中的字符,然后輸出根據(jù)題意可以理解為:s指向的字符串中有多少個(gè)字符,就輸出多少個(gè)s指向的字符串中字符分別是\\t(轉(zhuǎn)義字符)、a、\\01(轉(zhuǎn)義字符)、8、b、c,總共6個(gè)。其中因?yàn)?不屬于八進(jìn)制中的數(shù)字,所以“\\018”不是一個(gè)轉(zhuǎn)義字符,而“\\01”是轉(zhuǎn)義字符。故本題答案為A選項(xiàng)。
6.AA選項(xiàng)中“115L”表示長(zhǎng)整型數(shù)據(jù)。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B選項(xiàng)錯(cuò)誤。C選項(xiàng)中e后面應(yīng)該是整數(shù),而不能是小數(shù)1.5,所以C選項(xiàng)錯(cuò)誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是以數(shù)字“0”開(kāi)始,而不是以字母“o”開(kāi)始。故本題答案為A選項(xiàng)。
7.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。
8.B解析:本題考核的知識(shí)點(diǎn)是C程序從編寫到生成可執(zhí)行文件的步驟。C語(yǔ)言采用編譯方式將源程序轉(zhuǎn)換為二進(jìn)制的目標(biāo)代碼,編寫好一個(gè)C程序到完成運(yùn)行一般經(jīng)過(guò)以下幾個(gè)步驟:編輯;編譯,就是將已經(jīng)編輯好的源程序翻譯成二進(jìn)制的目標(biāo)代碼,經(jīng)編譯后的得到的二進(jìn)制代碼還不能直接執(zhí)行,因?yàn)槊恳粋€(gè)模塊往往是單獨(dú)編譯的,必須把經(jīng)過(guò)編譯的各個(gè)模塊的目標(biāo)代碼與系統(tǒng)提供的標(biāo)準(zhǔn)模塊連接后才能運(yùn)行;連接,將各模塊的二進(jìn)制目標(biāo)代碼與系統(tǒng)標(biāo)準(zhǔn)模塊經(jīng)連接處理后,得到具有絕對(duì)地址的可執(zhí)行文件,它是計(jì)算機(jī)能直接執(zhí)行的文件;執(zhí)行,執(zhí)行一個(gè)經(jīng)過(guò)編譯和連接的可執(zhí)行的目標(biāo)文件。由以上定義可知,選項(xiàng)A、C、D均不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
9.D解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,通過(guò)系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性。即由于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與邏輯結(jié)構(gòu)之間由系統(tǒng)提供映象,使得當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改。二是邏輯獨(dú)立性。即由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)(它是總體邏輯結(jié)構(gòu)的一個(gè)子集,由具體的應(yīng)用程序所確定,并且根據(jù)具體的需要可以作一定的修改)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映象,使得當(dāng)總體邏輯結(jié)構(gòu)改變時(shí),其局部邏輯結(jié)構(gòu)可以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。由此可知,選項(xiàng)A.B與C中的說(shuō)法都是錯(cuò)誤的。
10.C
11.C
12.A
13.D
14.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
15.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語(yǔ)句中沒(méi)有任何字符進(jìn)行間隔,所以在輸入時(shí)也不能使用任何字符進(jìn)行間隔,所以答案選擇B。
\n
16.D
17.C
18.B在Internet中,把域名翻譯為IP地址的軟件稱為域名系統(tǒng)DNS,運(yùn)行域名系統(tǒng)的主機(jī)稱為域名服務(wù)器。域名服務(wù)器的主要功能是實(shí)現(xiàn)入網(wǎng)主機(jī)名字和IP地址的轉(zhuǎn)換。
19.B
20.Dfun函數(shù)的意思是當(dāng)*s%2==0的時(shí)候就輸出并且s自加l次,然后判斷。所以可知只有第2和第4個(gè)位置上的才符合要求,所以答案為D。
21.PRICEintnumtotaltotalnum
22.149161,4,9,16,解析:分析程序執(zhí)行過(guò)程,第1次循環(huán),k=1時(shí),此時(shí)s(1)=1*1=1,然后k的值加1;第2次循環(huán),k=2時(shí),s(2)=2*2=4,然后k的值加1;第3次循環(huán),k=3時(shí),s(3)=3*3=9,然后k的值加1;第4次循環(huán),k=4時(shí),s(4)=4*4=16,然后k的值加1;當(dāng)k=5時(shí),條件不滿足,退出循環(huán)。
23.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所做的改變都要保存。
24.1371513715解析:本題中數(shù)組n有5個(gè)元素且初值為0,以下為for循環(huán)的執(zhí)行過(guò)程。
第1次循環(huán):循環(huán)前i=1,執(zhí)行循環(huán)語(yǔ)句n[1]=n[1-1)*2+1=n[0]*2+1=1,輸出1;
第2次循環(huán):循環(huán)前i=2,執(zhí)行循環(huán)語(yǔ)句n[2]=n[2-1)*2+1=n[1]*2+1=1*2+1=3,輸出3;
第3次循環(huán):循環(huán)前i=3,執(zhí)行循環(huán)語(yǔ)句n[3]=n[3-1]*2+1=n[2]*2+1=3*2+1=7,輸出7;
第4次循環(huán):循環(huán)前i=4,執(zhí)行循環(huán)語(yǔ)句n[4]=n[4-1)*2+1=n[3]*2+1=7*2+1=15,輸出15;
所以程序的運(yùn)行結(jié)果為:13715。
25.s+n-1p1<p2s+n-1\r\np1<p2解析:判斷是否“回文”字符串,應(yīng)該使用兩個(gè)字符型指針,一個(gè)從前往后遍歷字符串,另一個(gè)從后往前遍歷字符串,直到它們中途相遇,如果每次兩個(gè)指針?biāo)傅淖址枷嗤?,則為“回文”字符串。程序中已經(jīng)使p1=s,即指向字符串的第一個(gè)字符了,所以p2應(yīng)該指向s的最后一個(gè)字符,故第一空應(yīng)填s+n-1。比較兩個(gè)指針時(shí),如果有一次不相同,則跳出循環(huán),因?yàn)榇藭r(shí)已可肯定不是“回文”字符串。如果是while循環(huán)的條件p1<p2不滿足時(shí)自然結(jié)束的循環(huán),則每次比較都是相同的,兩個(gè)指針是中途相遇了才結(jié)束比較。兩種情況的區(qū)別就是pl<p2是否成立。故第二空應(yīng)該填p1<p2。
26.pcpb或pbpcpcpa或papcpbpa或papbpc,pb或pb,pc\r\npc,pa或pa,pc\r\npb,pa或pa,pb解析:本題主要考查形參為指針變量時(shí),形參和實(shí)參間的數(shù)據(jù)傳遞。系統(tǒng)為fun2的兩個(gè)形參開(kāi)辟了對(duì)應(yīng)的基類為int型的臨時(shí)指針變量,并通過(guò)空格處的實(shí)參把地址傳遞給形參x,y。
27.10011fe
28.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:函數(shù)fun(x,n)的作用是求xn,因此a4應(yīng)該調(diào)用函數(shù)fun(a,4),b4應(yīng)該調(diào)用函數(shù)fun(b,4),(a+b)3應(yīng)該調(diào)用函數(shù)fun(a+b,3),所以題目中的數(shù)學(xué)表達(dá)式,寫成C程序中的語(yǔ)句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。
29.類類解析:將屬性、操作相似的對(duì)象歸為類,也就是說(shuō),類是具有共同屬性、共同操作性質(zhì)的對(duì)象的集合,是已經(jīng)定義了的關(guān)于對(duì)象的特征、外觀和行為的模板。所以類是對(duì)象的抽象,它描述了屬于該對(duì)象類型的所有對(duì)象的性質(zhì),而一個(gè)對(duì)象則是其劃應(yīng)類的一個(gè)實(shí)例。
30.main()0a[j]=0count<25
解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒(méi)有進(jìn)行類型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。
32.(a+b>c)&&(a+c>b)&&(b+c>a)(a+b>c)&&(a+c>b)&&(b+c>a)解析:根據(jù)構(gòu)成三角形的條件:兩邊之和大于第三邊,得出空格應(yīng)該填(a+b>c)&&(a+c>b)&&(b+c>a)或與其等價(jià)的形式。
33.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
34.structnode*structnode*解析:link是指向結(jié)構(gòu)體自身的指針,因此link是指針,指向strictnode類型的數(shù)據(jù),可定義成“stmctnode*link”。
35.99解析:在主函數(shù)中函數(shù)f(f(3,4),f(3,5))的返回值賦給do函數(shù)的第一個(gè)參數(shù)為f(3,4)的返回值,函數(shù)f(3,4)返回值為(4-3)*3=3,f(3,5)返回值為(5-3)*3=6,那么函數(shù)f(f(3,4),f(3,5))等價(jià)于函數(shù)f(3,6)其返回值為(6-3)*3=9。因此d被賦值為9,所以輸出9。
36.連續(xù)連續(xù)解析:順序存儲(chǔ)結(jié)構(gòu)具有兩個(gè)特點(diǎn):1)數(shù)據(jù)元素所占空間是連續(xù)的;2)數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。
37.t*10或10*tt*10或10*t解析:本題要求累加一系列有規(guī)律的數(shù),從輸出結(jié)果來(lái)看,s保存的是最終結(jié)果,而s在循環(huán)體中,每次累加一個(gè)t,則說(shuō)明t在5次循環(huán)中分別等于1.12、123、1234、12345;而t每次循環(huán)等于“填空內(nèi)容”加上循環(huán)變量i,又因?yàn)閕在5次循環(huán)中分別等于1、2、3、4,5,所以t每次循環(huán)要加的“填空內(nèi)容”應(yīng)分別為0、10、120,1230,12340,這一系列值正好是前一次t的值的10倍.所以“填空內(nèi)容”應(yīng)是t*10。
38.length++i<lengthlength++\r\ni<length解析:第一個(gè)循環(huán)極有可能是計(jì)算串的長(zhǎng)度,在i<=length時(shí)字符才被刪除,被刪除的是從第i個(gè)到第i+n或最后一個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。
39.(!feof(fp))或feof(fp):=0(!feof(fp))或feof(fp):=0
40.str+strlen(str)-1str+strlen(str)-1解析:先從main函數(shù)開(kāi)始看,它先讀入字符串,接下來(lái)肯定是要判斷這個(gè)字符串是否是回文,冉看huiwen函數(shù),它的主要思想是用p1指向字符串的首地址,p2指向字符串的尾地址(不包括結(jié)束符‘/0‘),將p1左移,p2右移,直到這兩個(gè)指針相遇,如果在移動(dòng)過(guò)程中發(fā)現(xiàn)p1!=p2,則該字符串不是回文,否則其是同文。因此。在空中填str+strlen(str)-1。
41.C
42.B解析:一個(gè)算法應(yīng)當(dāng)具有以下5個(gè)特性:有窮性;確定性;可行性;有零個(gè)或多個(gè)輸入;由一個(gè)或多個(gè)輸出.簡(jiǎn)潔性不屬于這5個(gè)特性,所以本題應(yīng)該選擇B。
43.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。
44.CC?!窘馕觥吭谀K化程序設(shè)計(jì)中,模塊之間的聯(lián)系可以通過(guò)程序的控制結(jié)構(gòu)來(lái)實(shí)現(xiàn),在自頂向下、逐步細(xì)化的設(shè)計(jì)過(guò)程中,首先要考慮全局目標(biāo),而不是細(xì)節(jié)。在程序設(shè)計(jì)中模塊化和結(jié)構(gòu)化可以同時(shí)使用,一個(gè)模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)計(jì)原則。
45.A
46.D解析:C語(yǔ)言中數(shù)組下標(biāo)是從0開(kāi)始的,所以二維數(shù)組a[2][3]的第一維下標(biāo)取值為0、1;第二維的下標(biāo)取值為0、1、2,因而選項(xiàng)A)、B)、C)都是錯(cuò)誤的,選項(xiàng)D)表示數(shù)組元素a[0][0]。
47.C解析:函數(shù)stremp(字符串1,字符串2)作用是將“字符串1”和“字符串2”進(jìn)行比較,如果“字符串1”>“字符串2”,返回一個(gè)大于0的整數(shù)值;如果“字符串1”<“字符串2”,返回一個(gè)小于0的整數(shù)值;如果“字符串1”=“字符串2”,返回0。函數(shù)strepy(字符串?dāng)?shù)組名,字符串,[整型表達(dá)式]),整型表達(dá)式的作用是將“字符串”的前“整型表達(dá)式”個(gè)字符存入到指定的“字符數(shù)組”中,若省略“整型表達(dá)式”,則將整個(gè)“字符串”存入“字符數(shù)組”中。函數(shù)f()的功能是利用選擇法把一個(gè)具有n行的二維數(shù)組中按行存放的n個(gè)字符串由大到小排序。在主函數(shù)中定義了一個(gè)二維字符數(shù)組p并給它按行賦初值,然后調(diào)用f()函數(shù),把它按行從大到小排列。字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開(kāi)始依次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符串。由此可知最大的字符串為“dcdbe”,排序后存放在第一行,其首地址為P[0],在輸出語(yǔ)句輸出的P[0]指向的字符串長(zhǎng)度是5。
48.D解析:選項(xiàng)A)的循環(huán)表達(dá)式條件永久為1,由于小于100的數(shù)與100取余不超過(guò)99,所以在循環(huán)體內(nèi)表達(dá)式i%100+1的值永遠(yuǎn)不大于100,break語(yǔ)句永遠(yuǎn)不會(huì)被執(zhí)行,所以是死循環(huán);選項(xiàng)B)的括號(hào)內(nèi)沒(méi)有能使循環(huán)終止的條件,是死循環(huán);選項(xiàng)C)中先執(zhí)行k++,使k=10001,陷入死循環(huán);選項(xiàng)D)中的s從36開(kāi)始,每循環(huán)一次就減小1,直到s為0,循環(huán)結(jié)束,不會(huì)構(gòu)成死循環(huán)。
49.A解析:按照自左向右的運(yùn)算邏輯,選項(xiàng)A是先做x/y,然后再乘以x,顯然與題意不符。
50.C解析:美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)ANSI規(guī)定了一些常用的流程圖符號(hào),其中橢圓框表示起止框,方框表示處理框,菱形框表示判斷分支,箭頭表示流程線。
51.A
52.BB)【解析】軟件開(kāi)發(fā)階段包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試_五個(gè)階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。
53.D解析:continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)入到下次循環(huán)中。
54.C解析:當(dāng)for循環(huán)執(zhí)行到第30次時(shí),i的值為30能被5整除,然后繼續(xù)執(zhí)行兩次if語(yǔ)句,i經(jīng)過(guò)兩次自加1運(yùn)算,值變?yōu)?2,能被8整除,故此時(shí)第一次執(zhí)行“printf('%d',i);”語(yǔ)句,即輸出32。
55.B解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)。內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計(jì)的設(shè)計(jì)原則,要求每個(gè)模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個(gè)模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。
56.C解析:選項(xiàng)A首先判斷if語(yǔ)句條件中表達(dá)式的值“3<1”為假,然后執(zhí)行最近的else后面的語(yǔ)句,該else后面又為if-else語(yǔ)句,在這個(gè)if-else語(yǔ)句中首先判斷該if語(yǔ)句條件中表達(dá)式的值“2<1”為假,程序執(zhí)行其最近的else后面的語(yǔ)句,將3賦值給x。
選項(xiàng)B中首先判斷if語(yǔ)句條件中表達(dá)式的值“1<3”為真,然后執(zhí)行最近的else后面的語(yǔ)句“x=3”,后面的else不再執(zhí)行,最后x的值為3。
選項(xiàng)C中,首先選執(zhí)行第一條if語(yǔ)句,由于“1<3”為真,執(zhí)行此if后面的語(yǔ)句“x=3”,接著執(zhí)行第二條if語(yǔ)句,由于“1<2”為真,執(zhí)行此if后面的語(yǔ)句“x=2”,接著執(zhí)行第三條if語(yǔ)句,由于“1<1”為假,后面的語(yǔ)句不執(zhí)行,所以最后的x值為2不為3。
選項(xiàng)D中,首先選執(zhí)行第一條if語(yǔ)句,由于“a<b”為真,執(zhí)行此if后面的語(yǔ)句“x=b”;接著執(zhí)行第二條if語(yǔ)句,由于“b<c”,為真,執(zhí)行此if后面的語(yǔ)句“x=c”,接著執(zhí)行第三條if語(yǔ)句,由于“c<a”為假,后面的語(yǔ)句不執(zhí)行,所以最后的x值為c即為3。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
57.A解析:第—判斷值為真,過(guò)渡到下一個(gè)判斷,第二個(gè)判斷為真,過(guò)渡到第三個(gè)判斷……如此循環(huán),在打印輸出語(yǔ)句的前—行,程序紿變量x賦了值,為-1,所以,無(wú)論前期如何變化,最后的x值依然為-1
58.D解析:快速排序的基本思想是,通過(guò)一趟排序?qū)⑴判蛴涗浄指畛瑟?dú)立的兩部
分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對(duì)這兩部分記錄繼
續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序;插入排序的基本操作是指將無(wú)序序列中的各元素依
次插入到已經(jīng)有序的線性表中,從而得到一個(gè)新的序列;選擇排序的基本思想是:掃描整
個(gè)線性表,從中選出最小的元素,將它交換到表的最前面(這是它應(yīng)有的位置),然后對(duì)剩
下的于表采用同樣的方法,直到表空為止;歸并:排序是將兩個(gè)或兩個(gè)以上的有序表組合
成一個(gè)新的有序表。
注意:各種排序方法實(shí)現(xiàn)過(guò)程及實(shí)現(xiàn)機(jī)制。
59.B解析:C語(yǔ)言中沒(méi)有輸入輸出語(yǔ)句,它是通過(guò)C語(yǔ)言提供的函數(shù)來(lái)實(shí)現(xiàn)的,本題C中,應(yīng)為變量地址。
60.B解析:維字符數(shù)組可以看成由若干個(gè)一維字符數(shù)組組成,每行是一個(gè)一維字符數(shù)組。本題首先定義了一個(gè)數(shù)組ch[3][5]并給它們按行賦初值,即相當(dāng)于給ch[0]賦值“AAAA”,給ch[1]賦值“BBB”,給ch[2]賦值“BBB”,最后輸出轉(zhuǎn)義字符“'\\'”、ch[1]和轉(zhuǎn)義字符“\\”,因此輸出為“BBB”.所以,4個(gè)選項(xiàng)中B為所選。
61.A
62.B選項(xiàng)A中對(duì)于二維數(shù)組,必須通過(guò)賦值的個(gè)數(shù)來(lái)確定其長(zhǎng)度,沒(méi)有賦值則無(wú)法確定,選項(xiàng)C中賦的是空值,也不能確定其行下標(biāo),而選項(xiàng)D中定義的兩行三列,而賦值的卻是三行兩列。
63.B數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下六個(gè)階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)。
(1)需求分析階段。進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)首先必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步。作為地基的需求分析是否做得充分與準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫(kù)大廈的速度與質(zhì)量。需求分析做得不好,甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)返工重做。
(2)概念結(jié)構(gòu)設(shè)計(jì)階段。概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,它通過(guò)對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))的概念模型。E-R圖是有效的概念模型表示方法。
(3)邏輯結(jié)構(gòu)設(shè)計(jì)階段。邏輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化,比如,將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫(kù)產(chǎn)品支持的關(guān)系模型。
(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段。數(shù)據(jù)庫(kù)物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。
(5)數(shù)據(jù)庫(kù)實(shí)施階段。在數(shù)據(jù)庫(kù)實(shí)施階段,設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。
(6)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段。數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。
64.C
\n本題考查排序的使用由sort函數(shù)的兩層for循環(huán)語(yǔ)句可知,其二々能是把數(shù)組a口中的元素按照從大到小的順序進(jìn)行排列。在main函數(shù)中首先定義了一維整型數(shù)組aa[10],然后調(diào)用sort(aa+2,5)實(shí)現(xiàn)從數(shù)組aa中下標(biāo)為2的元素“3”開(kāi)始.其后連續(xù)的5個(gè)元素從大到小進(jìn)行排列,其余元素不變。
\n
65.A本題考查了數(shù)組名的概念。在C語(yǔ)言中,數(shù)組名類似于一個(gè)指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的s+=2;語(yǔ)句讓數(shù)組名s的內(nèi)容加2是錯(cuò)誤的,編譯無(wú)法通過(guò)。故應(yīng)該選擇A)。
66.B題目給出的程序主要結(jié)構(gòu)是while循環(huán)。自減運(yùn)算符“--”在題目中出現(xiàn)了兩次,一次是在while語(yǔ)句的判別表達(dá)式中,出現(xiàn)的形式為i--,即先利用變量i的值進(jìn)行判別,再執(zhí)行i-1操作。另一次是在輸出函數(shù)printf中,出現(xiàn)的形式為--i,先執(zhí)行i-1操作,再將結(jié)果進(jìn)行輸出。程序初始時(shí),i=6,第一次循環(huán)時(shí),因?yàn)閕滿足while的判別條件,故執(zhí)行while內(nèi)部的語(yǔ)句,并進(jìn)行i-1操作,i=5。執(zhí)行到printf語(yǔ)句
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨文化藝術(shù)治療策略-洞察及研究
- 邊緣人格障礙對(duì)精神分裂癥患者的影響評(píng)估-洞察及研究
- 超導(dǎo)臨界現(xiàn)象的物理機(jī)制-洞察及研究
- 電力系統(tǒng)穩(wěn)定性-洞察及研究
- 綠色物流與可持續(xù)發(fā)展-第7篇-洞察及研究
- 黃芩湯誘導(dǎo)肝細(xì)胞存活機(jī)制-洞察及研究
- 鼻腔鼻竇惡性腫瘤的影像學(xué)研究-洞察及研究
- 高烏甲素的綠色化學(xué)合成策略及催化機(jī)理研究-洞察及研究
- 供應(yīng)鏈協(xié)同生產(chǎn)管理制度
- lng采氣生產(chǎn)安全管理制度
- 初中寒假前心理健康教育主題班會(huì)課件
- 事業(yè)編退休報(bào)告申請(qǐng)書
- 原發(fā)性骨髓纖維化2026
- 半導(dǎo)體廠務(wù)項(xiàng)目工程管理 課件 項(xiàng)目6 凈化室系統(tǒng)的設(shè)計(jì)與維護(hù)
- 河南省洛陽(yáng)強(qiáng)基聯(lián)盟2025-2026學(xué)年高二上學(xué)期1月月考英語(yǔ)試題含答案
- 2026年中考數(shù)學(xué)模擬試卷試題匯編-尺規(guī)作圖
- 玻璃鋼水箱安裝詳細(xì)技術(shù)方案
- 山東省煙臺(tái)市開(kāi)發(fā)區(qū)2024-2025學(xué)年上學(xué)期期末八年級(jí)數(shù)學(xué)檢測(cè)題(含答案)
- 桂花香包制作課件
- 社會(huì)工作本科畢業(yè)論文
- (2025年)架子工考試模擬題(帶答案)
評(píng)論
0/150
提交評(píng)論