版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年甘肅省嘉峪關(guān)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.讀取二進(jìn)制文件的函數(shù)調(diào)用形式為“fread(buffer,size,count,fp);”,其中buffer代表的是()。
A.—個(gè)內(nèi)存塊的字節(jié)數(shù)
B.—個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個(gè)文件指針,指向待讀取的文件
D.—個(gè)內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址
2.對(duì)于循環(huán)隊(duì)列()。
A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說(shuō)法都不對(duì)
3.有以下程序:#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},b[6];fp=fopen(“d.dat”,“w+b”);fwrite(a,sizeof(int),6,fp);for(i=0;i<6;i++)fwrite(&a[2],sizeof(int),1,fp);rewind(fp);fseek(fp,sizeof(int)*2,SEEK_CUR);fread(b,sizeof(int),6,fp);fclose(fp);for(i=0;i<6;i++)printf(“%d,”,b[i]);}程序運(yùn)行后的輸出結(jié)果是()。
A.3,4,5,6,3,3,B.1,2,3,4,5,6,C.3,4,5,6,1,2,D.3,4,5,6,1,1,
4.
5.
6.以下選項(xiàng)中能表示合法常量的是()。
A.1,200B.1.5E2.0C.‘\’D.“\007”
7.在單鏈表指針為p的結(jié)點(diǎn)之后插入指針為s的結(jié)點(diǎn),正確的操作是()。A.p->next=s;s->next=p->next;
B.s->next=p->next;p->next=s;
C.p->next=s;p->next=s->next;
D.p->next=s->next;p->next=s;
8.在有向圖G的拓?fù)湫蛄兄?,若頂點(diǎn)Vi在頂點(diǎn)Vj之前,則下列情形不可能出現(xiàn)的是()。
A.G中有弧
B.G中有一條從Vi到Vj的路徑
C.G中沒(méi)有弧
D.G中有一條從Vj到Vi的路徑
9.以下對(duì)于C語(yǔ)言的描述中,正確的是:()
A.C語(yǔ)言調(diào)用函數(shù)時(shí),值傳遞方式只能將實(shí)參的值傳給形參,形參的值不能傳遞給實(shí)參
B.C語(yǔ)言中函數(shù)既可以嵌套定義,也可以遞歸調(diào)用
C.函數(shù)必須有返回值
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中
10.有以下程序:#include<stdio.h>main{inta=1,b=2;while(a<6){b+=a;a4+=2;b%=10;)printf("%d,%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.5,11B.7,1C.7,11D.6,1
11.第
4
題
棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
12.C語(yǔ)言提供的合法的數(shù)據(jù)類(lèi)型關(guān)鍵字是()。
A.DoubleB.shortC.integerD.Char
13.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表
14.下面哪種排序算法是穩(wěn)定的()
A.快速排序B.堆排序C.歸并排序D.選擇排序
15.以下敘述中錯(cuò)誤的是()。
A.非零的數(shù)值型常量有正值和負(fù)值的區(qū)分
B.常量是在程序運(yùn)行過(guò)程中值不能被改變的量
C.定義符號(hào)常量必須用類(lèi)型名來(lái)設(shè)定常量的類(lèi)型
D.用符號(hào)名表示的常量叫符號(hào)常量
16.C語(yǔ)言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
17.
18.
19.定義結(jié)構(gòu)體數(shù)組:structstu{intnum;charnameE20];}X[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU");for(i=1;i<5;i++)printf("%d%c",x[i].num,x[i].name[2]);以上程序段的輸出結(jié)果為()。A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I
20.
二、2.填空題(20題)21.下面程序是指從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti;chars[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=【】;
p=【】;
while(*p)putchar(*p++);}
22.設(shè)有定義:
struct{inta;floatb;charc;}abc;*p_abc=&abc;
則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。
23.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、______和選擇排序。
24.下列程序執(zhí)行輸出的結(jié)果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(A);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
25.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
26.有以下程序:
voidswap1(intc[])
{intt;
t=c[0];c[0]=c[1];c[1]=t;
}
voidswap2(intc0,intc1)
{intt;
t=c0;c0=c1;c1=t;
}
main()
{inta[2]={3,5},b[2]={3,5};
swaplA);swap2(b[0],b[1]);
printf("%d,%d,%d,%d\n",a[0],a[1],b[0],b[1]);
}
其輸出結(jié)果是【】。
27.若fp已正確定義為一個(gè)文件指針,d1.dat為二進(jìn)制文件,請(qǐng)?zhí)羁眨员銥椤白x”而打開(kāi)此文件:
fp=fopen(【】);。
28.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、()和循環(huán)結(jié)構(gòu)。
29.問(wèn)題處理方案的正確而完整的描述稱(chēng)為_(kāi)_____。
30.下列程序執(zhí)行后輸出的結(jié)果是【】。
structs
{intx,y;}data[2]={10,100,20,200};
main()
{
structs*p=data;
printf("%d\n",++(p->x));
}
31.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
32.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤(pán)輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));
p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{p=(structlist*)malloc(sizeof(structlist));
【】=a;q->next=p;【】=p;scanf("%d",&a);}
p->next=′\0;return(ph);}
main()
{structlist*head;head=creatlist();}
33.以下程序的輸出結(jié)果是【】。
main()
{charc='z';
printf("%c",c-25);}
34.在數(shù)據(jù)庫(kù)系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱(chēng)為【】。
35.軟磁盤(pán)最外邊的磁道數(shù)是【】號(hào)磁道。
36.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
37.以下程序運(yùn)行后的輸出結(jié)果是【】。
fun(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
}
main()
{inti,a=5;
for(i=0;i<3;i++)printf("%d%d",i,fun(a));
prind("\n");
}
38.設(shè)有以下結(jié)構(gòu)類(lèi)型說(shuō)明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。
structstud
{charnum[6];
ints[4];
doubleave;
}a,*p;
39.下面程序的功能是兩個(gè)整數(shù)進(jìn)行交換,請(qǐng)?zhí)羁铡?/p>
sub(int*x,int*y)
{【】
z=*x;*x=*y;*y=z;
return;}
main()
{intm,n,*t1,*t2;
scanf("%d,%d",&m,&n);
t1=&m;t2=&n;
【】
printf("%d,%d\n",m,n);}
40.在面向?qū)ο蠓椒ㄖ校?lèi)的實(shí)例稱(chēng)為_(kāi)_____。
三、1.選擇題(20題)41.棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
42.下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?)。A.對(duì)象B.繼承C.類(lèi)D.過(guò)程調(diào)用
43.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p]);________;
return(p);}
在橫線處應(yīng)填入的是
A.i=pB.a[p]=a[i]C.p=jD.p=i
44.下列工具中為需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
45.有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是
A.gets(&s[0]);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
46.已有定義:charc;,程序前面已在命令行中包含ctype.h文件。不能用于判斷c中的字符是否為大寫(xiě)字母的表達(dá)式是()。
A.isupper(c)
B.'A'<=c<='Z'
C.'A'<=c&&c<='Z'
D.c<=('z'-32)&&('a'-32)<=c
47.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()A.數(shù)據(jù)模型B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫(kù)
48.若有如下程序:sub(int*t,intn){int*p1,*p2;for(p1=t,p2=t;p1-t<n;p1++)if(*p1<*p2)p2=p1;return(*p2);}main(){inta[9]={9,36,19,39,26,5,6,33,15};printf("%d\n",sub(a,9));}則程序運(yùn)行后的輸出結(jié)果是()
A.5B.9C.15D.39
49.有以下程序voidfun(char*c,intD){*c-*c+1;d=d+1;printf("%c,%c,",*c,D);}main(){chara='A',b='a';fun(&b,A);printf("%c,%c\n",a,B);}程序運(yùn)行后的輸出結(jié)果是
A.B,a,B,aB.a,B,a,BC.A,b,A,bD.b,B,A,b
50.若有下列定義,則對(duì)a數(shù)組元素地址的正確引用是()。
inta[5],*p=a;
A.p+5B.*a+1C.&a+1D.&a[0]
51.已知字符′A′的ASCII碼值是65,字符變量cl的值是′A′,c2的值是′D′。執(zhí)行語(yǔ)句printf("%d,%d",c1,c2-2);后,輸出結(jié)果是
A.A,BB.A,68C.65,66D.65,68
52.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是()。
A.不限制goto語(yǔ)句的使用B.減少或取消注解行C.程序越短越好D.程序結(jié)構(gòu)應(yīng)有助于讀者理解
53.實(shí)體是信息世界中廣泛使用的一個(gè)術(shù)語(yǔ),它用于表示()。
A.有生命的事物B.無(wú)生命的事物C.實(shí)際存在的事物D.一切事物
54.若有以下程序
#include<stdio.h>
inta[]={2,4,6,8};
main()
{inti;
int*p=a;
for(i=0;i<4;i++)a[i]=*p;
printf("%d\n",a[2]);}
上面程序的輸出結(jié)果是
A.6B.8C.4D.2
55.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include"type1.h”#defineM2N*2main(){inti;i=M1+M2;printf("%d\n",i);}程序編譯運(yùn)行后的輸出結(jié)果是()
A.10B.20C.25D.30
56.數(shù)據(jù)庫(kù)系統(tǒng)的核心是()
A.數(shù)據(jù)庫(kù)B.數(shù)據(jù)庫(kù)管理系統(tǒng)C.模擬模型D.軟件工程
57.在下列敘述中,正確的一條是______。
A.對(duì)while循環(huán)、do-while循環(huán)和for循環(huán),可以用continue語(yǔ)句跳出循環(huán)
B.表達(dá)式1+2<<3和sizeof(3.8)的結(jié)果分別為24和8
C.函數(shù)fputc(c,stdout)與putchar(c)的結(jié)果相同
D.在有參函數(shù)中,定義函數(shù)中指定的形參變量在程序一開(kāi)始執(zhí)行時(shí)便分配內(nèi)存單元
58.一個(gè)算法應(yīng)該具有“確定性”等五個(gè)特性,下面對(duì)另外四個(gè)特性的描述中錯(cuò)誤的是()。
A.有零個(gè)或多個(gè)輸入B.有零個(gè)或多個(gè)輸出C.有窮性D.可行性
59.在長(zhǎng)度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為A.63B.64C.6D.7
60.設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)(-3)的值是
A.10101001B.10101000C.11111101D.1010101
四、選擇題(20題)61.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.0B.9C.6D.8
62.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.PrphsbnB.ProhsbnC.ProgsbnD.Program
63.
64.(11)算法的時(shí)間復(fù)雜度是指()
A.執(zhí)行算法程序所需要的時(shí)間
B.算法程序的長(zhǎng)度
C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
D.算法程序中的指令條數(shù)
65.軟件生命周期是指()。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ò)程
66.有以下程序:
當(dāng)執(zhí)行程序時(shí)從鍵盤(pán)上輸入HelloBeijing<;回車(chē)>;,則程序運(yùn)行后的輸出結(jié)果是()。
A.hellobajiIlg
B.HelloBeijing
C.HELLOBEIJING
D.hELLOBeijing
67.作為信息處理熱點(diǎn)技術(shù)之一的“多媒體技術(shù)”中的媒體,強(qiáng)調(diào)的是()。
A.存儲(chǔ)媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺(jué)媒體
68.
69.
70.
71.(42)希爾排序法屬于哪一種類(lèi)型的排序法()
A.交換類(lèi)排序法
B.插入類(lèi)排序法
C.選擇類(lèi)排序法
D.建堆排序法
72.下列描述中,不符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是
A.使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯
B.注重提高程序的執(zhí)行效率
C.自頂向下
D.限制使用goto語(yǔ)句
73.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A.循環(huán)隊(duì)列B.帶鏈隊(duì)列C.二叉樹(shù)D.帶鏈棧
74.
以下程序的輸出結(jié)果是()。
main
{inti,k,a[10],p[3];
k=5;
for(i=0:i<10;i++)a[i]=i;
for(i=0;i<3;i++)p[i]=a[i*(i+1)];
for(i=0;i<3;i++)k+=p[i]*2;
printf("%d\n",k、;
}
A.20B.21C.22D.23
75.
有以下程序:
voidf(intx,inty)
{intt;
if(x<y){t=x;x=Y;y=t;)
}
main
{inta=4,b=3,c=5;
f(a,b);f(a,c);f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
執(zhí)行后輸出結(jié)果是()。
A.3,4,5B.5,3,4C.5,4,3D.4,3,5
76.軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
77.
78.(50)數(shù)據(jù)庫(kù)概念設(shè)計(jì)的過(guò)程中,視圖設(shè)計(jì)一般有三種設(shè)計(jì)次序,以下各項(xiàng)中不對(duì)的是()
A.自頂向下
B.由底向上
C.由內(nèi)向外
D.由整體到局部
79.
80.輸出語(yǔ)句:prinff(”%d\n”,ll+011);的輸出結(jié)果是()。
A.20B.22C.022D.021
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:依次取出字符串中所有的數(shù)字字符,形成新的字符串,并取代原字符串。例如原始字符串是“ab45c6djfd789”,則輸出后的字符是“456789”。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),其功能是將形參s所指字符串放入形參a所指的字符數(shù)組中,使a中存放同樣的字符串。說(shuō)明:不得使用系統(tǒng)提供的字符串函數(shù)。注意:部分源程序存放在文件prog1.c中,請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()指定的部位填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.D函數(shù)原型“fread(void*buffer,sizetsize,sizetcount,FILE*stream)”的功能是從一個(gè)文件流中讀數(shù)據(jù),讀取count個(gè)元素,每個(gè)元素size字節(jié)。如果調(diào)用成功,返回count。buffer用于接收數(shù)據(jù)的內(nèi)存地址,大小至少是size*count字節(jié);size是單個(gè)元素的大小,單位是字節(jié);count是元素的個(gè)數(shù),每個(gè)元素是size字節(jié);stream是輸入流。故本題答案為D選項(xiàng)。
2.D
3.A程序首先以讀二進(jìn)制文件的方式打開(kāi)文件d.dat;然后使用fwrite函數(shù)將數(shù)組a中6個(gè)元素寫(xiě)入d.dat中。并調(diào)用for循環(huán)將a[2]元素(值為3)6次寫(xiě)入d.dat文件中;接著使用rewind函數(shù)將文件指針fp移動(dòng)到文件頭;再使用fseek函數(shù)將fp從當(dāng)前位置向后移動(dòng)2個(gè)整數(shù)位置;最后使用fread函數(shù)從fp指向的位置向后讀取6個(gè)整數(shù)。由此可知這6個(gè)整數(shù)分別是:3,4,5,6,3,3。故本題答案為A選項(xiàng)。
4.B本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語(yǔ)句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車(chē)。而scanf函數(shù)接收字符串時(shí)的結(jié)束標(biāo)志為回車(chē)或者空格。因此選項(xiàng)B)不能,選項(xiàng)C)和選項(xiàng)D)中按字符逐個(gè)讀入字符串s中,直到讀入的字符是換行符為止,因此B正確。
5.B
6.DA選項(xiàng)中整型常量應(yīng)表示為1200,數(shù)字中不能包含逗號(hào)。B選項(xiàng)中E后面的指數(shù)必須為整數(shù)。C選項(xiàng)中轉(zhuǎn)義字符以“\\”開(kāi)始,若要表示字符“\\”,應(yīng)寫(xiě)為“\\\\”。故本題答案為D選項(xiàng)。
7.B
8.D若G中有一條從Vj到Vi的路徑,則圖的拓?fù)湫蛄兄许旤c(diǎn)Vj在頂點(diǎn)Vi之前。設(shè)G(V,E)是一個(gè)具有n個(gè)頂點(diǎn)的有向圖,V中頂點(diǎn)的序列v1,v2,…,vn稱(chēng)為一個(gè)拓?fù)湫蛄?,?dāng)且僅當(dāng)該頂點(diǎn)滿足下列條件:若在有向圖G中,從頂點(diǎn)vi在vj有一條路徑,則在拓?fù)湫蛄兄许旤c(diǎn)vi必須排在頂點(diǎn)vj之前。
9.A
10.B“b+=a;”等價(jià)于“b=b+a;”,“a+=2;”等價(jià)于“a=a±2;”,“bA=10;”等價(jià)于“b=b%=10;”。循環(huán)體執(zhí)行3次,最終結(jié)果為7,1。
11.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)一定是先出D,再出C,最后出A。
12.Bdouble,char,int,第一個(gè)字母都是小寫(xiě)。
13.A\nA?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序線性表,對(duì)于順序存儲(chǔ)的非有序線性表和線性鏈表,都只能采用順序查找。
\n
14.C
15.C在C語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)常量,稱(chēng)之為符號(hào)常量。符號(hào)常量在使用之前必須先定義,其一般形式為:#define標(biāo)識(shí)符常量。
16.D解析:C語(yǔ)言中的文件是流式文件。流式文件是一種無(wú)結(jié)構(gòu)文件,即整個(gè)文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
17.D
18.B
19.A本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體x[i]中的hum成員,x[i].num[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過(guò)程時(shí):第1次循環(huán),i=1,輸出x[i].num,x[1].name[2]的值;第2次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出X[3].hum,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。
20.D
21.\0's\\0'\r\ns解析:本題選通過(guò)for循環(huán)從鍵盤(pán)讀入20個(gè)字符,然后在最后賦一定值'\\0'后為結(jié)束標(biāo)志,再使指針p指向字符串的首地址。最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。
22.->->解析:結(jié)構(gòu)變量abc有成員a,并有指針pabc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的形式有abc.a和p_abc->a。
23.交換排序交換排序解析:所謂排序是指將一個(gè)無(wú)序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡(jiǎn)單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
24.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類(lèi)型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++=8,所以k=8。
25.軟件開(kāi)發(fā)
26.53355335解析:函數(shù)swap1的形參是數(shù)組,故形參的改變能夠影響實(shí)參,所以執(zhí)行完swap1(a)后,a[0]=5、a[1]=3;函數(shù)swap2的形參是簡(jiǎn)單變量,故形參的改變不能夠影響實(shí)參,所以執(zhí)行完swap2(b)后,b[0]=3、b[1]=5;正確答案為5335。
27.d1.dat"rb"d1.dat,'rb'解析:打開(kāi)文件的函數(shù)為fopen('文件名','mode'),其中'mode'表示文件的打開(kāi)方式。如果打開(kāi)的是二進(jìn)制文件,其mode字符串可以是:'rb'、'wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只讀方式打開(kāi)。'w'表示以寫(xiě)方式打開(kāi),如果已存在該文件名的文件,文件中的內(nèi)容將被清空。若文件名不存在,則將創(chuàng)建該文件。'a'為追加方式打開(kāi)。若文件存在時(shí),將打開(kāi)這個(gè)文件并且在文件的末尾進(jìn)行追加。當(dāng)文件不存在,將創(chuàng)建新文件。'r+'打開(kāi)一個(gè)已存在文件用于更新(可讀可寫(xiě))。\'w+'創(chuàng)建一個(gè)新文件用于更新,如果文件存在,文件被重寫(xiě)(可讀可寫(xiě))。'a+'打開(kāi)用于追加,當(dāng)文件不存在時(shí),創(chuàng)建新文件,并在文件末尾進(jìn)行追加(可讀可寫(xiě))。根據(jù)題意,應(yīng)該填'd1.dat','rb'。
28.選擇結(jié)構(gòu)選擇結(jié)構(gòu)解析:程序設(shè)計(jì)語(yǔ)言?xún)H僅使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。遵循程序結(jié)構(gòu)化的設(shè)計(jì)原則,按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序易于理解、使用和維護(hù);可以提高編程工作的效率,降低軟件的開(kāi)發(fā)成本。
29.算法或程序或流程圖算法或程序或流程圖解析:算法是問(wèn)題處理方案正確而完整的描述。
30.1111解析:程序中結(jié)構(gòu)體數(shù)組data首地址(即&data[0])賦值給結(jié)構(gòu)體指針變量p,++(P->x)表示先將p所指向的結(jié)構(gòu)體變量的成員x值加1,然后將此x(即data[0].x)輸出。
31.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
32.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類(lèi)型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。
33.aa解析:“z”的ASCII碼值為122,經(jīng)過(guò)c-25運(yùn)算后得97,以字符形式輸出是a。
34.數(shù)據(jù)庫(kù)管理系統(tǒng)或DBMS數(shù)據(jù)庫(kù)管理系統(tǒng)或DBMS解析:數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,DBMS)是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫(kù),簡(jiǎn)稱(chēng)DBMS。它對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),數(shù)據(jù)庫(kù)管理員也通過(guò)DBMS進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)工作。它提供多種功能,可使多個(gè)應(yīng)用程序和用戶用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢(xún)問(wèn)數(shù)據(jù)庫(kù)。因此,數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)庫(kù)管理系統(tǒng)是實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件。本題的答案是數(shù)據(jù)庫(kù)管理系統(tǒng)或DBMS。
35.0
36.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
37.1011121210111212解析:需要注意的是,函數(shù)fun()中的變量c為靜態(tài)局部變量,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配了存儲(chǔ)單元,在程序整個(gè)運(yùn)行期間不會(huì)釋放,所以調(diào)用函數(shù)時(shí),只賦初值一次,以后再調(diào)用函數(shù)時(shí),c中的值為上次調(diào)用函數(shù)時(shí)的值。執(zhí)行for循環(huán),當(dāng)i=0時(shí),fun(5)=5+1+4=10,此時(shí)c=4;當(dāng)i=1時(shí),fun(5)=5+1+5=11,此時(shí)c=5;當(dāng)i=2時(shí),fun(5)=5+1+6=12;此時(shí)c=6:當(dāng)i=3時(shí),退出for循環(huán),并輸出回車(chē)換行符。
38.22
39.intz;sub(t1t2);
40.對(duì)象對(duì)象解析:類(lèi)描述的是具有相似性質(zhì)的一組對(duì)象。例如,每本具體的書(shū)是一個(gè)對(duì)象,而這些具體的書(shū)都有共同的性質(zhì),它們都屬于更一般的概念“書(shū)”這一類(lèi)對(duì)象。一個(gè)具體對(duì)象稱(chēng)為類(lèi)的實(shí)例。
41.B解析:棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個(gè)元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧。所以出棧時(shí)一定是先出D,再出C,最后出A。
42.D[答案]D
[考點(diǎn)]軟件工程基礎(chǔ)
[評(píng)析]
面向?qū)ο?對(duì)象+類(lèi)+繼承+通過(guò)消息的通信
對(duì)象:一組屬性及其上的操作的封裝體
類(lèi):一組有相同屬性和操作的對(duì)象的集合
繼承:一個(gè)類(lèi)為另一個(gè)類(lèi)上的擴(kuò)充的方式,子類(lèi)繼承父類(lèi),主要目的是代碼復(fù)用
消息:對(duì)象間通信的手段
D是結(jié)構(gòu)化程序設(shè)計(jì)或過(guò)程式(函數(shù)式)語(yǔ)言中的,一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言兼容這種方式,但不是其特征,故最佳選項(xiàng)為D
43.D解析:該程序先判斷a[i]<a[p],如果條件為真,則a[i]比當(dāng)前設(shè)定的最小值小(p保留的當(dāng)前最小元素的下標(biāo)),那么將i賦給p,即將比較過(guò)的最小元素下標(biāo)保留在p中,作為下面判斷的標(biāo)準(zhǔn)。
44.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹(shù)和判定表。PAD(問(wèn)題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。
45.D解析:在格式輸入中,要求給出的是編譯的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。
46.B解析:大寫(xiě)字母從'A'~'Z'的ASCII碼是連續(xù)的,所以如果當(dāng)—個(gè)字符大于等于'A'且小于等于'z'時(shí),那這個(gè)字符就一定是一個(gè)大寫(xiě)字母,故選項(xiàng)C正確。C語(yǔ)言中的庫(kù)函數(shù)isupper()的作用也正是判斷一個(gè)字符是否為大寫(xiě)字母的,故選項(xiàng)A正確。在ASCII碼中,小寫(xiě)字母的編碼也是連續(xù)的,對(duì)應(yīng)的小寫(xiě)字符比大寫(xiě)字符的ASCII碼值大32,所以選項(xiàng)D經(jīng)過(guò)小寫(xiě)字符-32后,換算成了對(duì)應(yīng)的大寫(xiě)字母'Z'和'A',所得到結(jié)果和選項(xiàng)C是一致的,故也是正確的。選項(xiàng)B中,C語(yǔ)言的邏輯表達(dá)式不能直接連寫(xiě),而應(yīng)該寫(xiě)成選項(xiàng)C那樣,故是錯(cuò)誤的,應(yīng)該選擇B。
47.B數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS是數(shù)據(jù)庫(kù)系統(tǒng)的核心。DBMS是負(fù)責(zé)數(shù)據(jù)庫(kù)的建立、使用和維護(hù)的軟件。DBMS建立在操作系統(tǒng)之上,實(shí)施對(duì)數(shù)據(jù)庫(kù)的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫(kù)命令以及應(yīng)用程序的執(zhí)行,最終都必須通過(guò)DBMS。另外,DBMS還承擔(dān)著數(shù)據(jù)庫(kù)的安全保護(hù)工作,按照DBA所規(guī)定的要求,保證數(shù)據(jù)庫(kù)的完整性和安全性。
48.A
49.D解析:本題考查用地址作為參數(shù)與值作為參數(shù)傳遞之間的不同。在c語(yǔ)言中,數(shù)據(jù)傳遞是單向傳遞的?!爸祩鬟f”就是實(shí)參把對(duì)應(yīng)的值傳給相應(yīng)的形參變量,然后形參和實(shí)參不再有任何聯(lián)系,在被調(diào)用函數(shù)中,對(duì)形參的修改并不影響對(duì)應(yīng)的實(shí)參?!暗刂穫鬟f”就是實(shí)參把相應(yīng)的地址傳給相應(yīng)的行參變量,在被調(diào)用函數(shù)中對(duì)行參的修改將修改對(duì)應(yīng)的實(shí)參地址對(duì)應(yīng)的值.程序中定義了兩個(gè)字符型變量'a'和'b',并分別賦初值為,At和'a',然后調(diào)用函數(shù)fun(),將b的地址和a值作為實(shí)參.在函數(shù)fun()中第一個(gè)參數(shù)是傳遞地址,故在調(diào)用函數(shù)fun()中對(duì)參數(shù)做的修改(即將b值加一)將影響字符型變量的值(變?yōu)閎),函數(shù)fun()第二個(gè)參數(shù)是傳值的,故在調(diào)用函數(shù)fun()對(duì)第二個(gè)參數(shù)做的修改不影響字符型變量a(即'a'的值仍為'A'),所以在fun()函數(shù)中輸出的是d為b,B,接著在主函數(shù)中,輸出a,b,然后退出fun()函數(shù),接著執(zhí)行后面的語(yǔ)句,輸出A,b.所以最后輸出為b,B,A,b。所以4個(gè)選項(xiàng)中D正確。
50.D解析:本題考查如何引用數(shù)組元素的地址。
選項(xiàng)A)中,p+5引用的是a[5]的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2];a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a+1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。
51.C解析:在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是ASCII碼值。當(dāng)需要以整型格式輸出字符時(shí),輸出的也是ASCII碼值。字符'A'和'D'的ASCII碼值分別為65和68。
52.D解析:濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此選項(xiàng)A)不選;注解行有利于對(duì)程序的理解,不應(yīng)減少或取消,選項(xiàng)B)也不選;程序的長(zhǎng)短要依照實(shí)際情況而論,而不是越短越好,選項(xiàng)C)也不選。
53.C解析:實(shí)體是客觀存在且可以相互區(qū)別的事物。實(shí)體可以是具體的對(duì)象,如一個(gè)學(xué)生,也可以是一個(gè)抽象的事件,如一次出門(mén)旅游等。因此,實(shí)體既可以是有生命的事物,也可以是無(wú)生命的事物,但它必須是客觀存在的,而且可以相互區(qū)別。
54.D解析:在C語(yǔ)言中,數(shù)組元素下標(biāo)是從0開(kāi)始的;指針變量p指向數(shù)組的首地址。for循環(huán)語(yǔ)句中,指針變量p始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語(yǔ)句后數(shù)組各元素的值均變?yōu)?。
55.C
56.B解析:數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,簡(jiǎn)稱(chēng)DBMS)是數(shù)據(jù)庫(kù)的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。
57.C解析:選項(xiàng)A錯(cuò)誤,continue語(yǔ)句只能結(jié)束本次循環(huán),不能結(jié)束整個(gè)循環(huán)。要跳出循環(huán)可用break語(yǔ)句。選項(xiàng)B錯(cuò)誤,表達(dá)式1+2<<3等價(jià)于(1+2)<<3,即0000000000000011向右移3位,移后變?yōu)?000000000000000,即0。選項(xiàng)C正確,函數(shù)fputc的操作對(duì)象是文件,而putchar是直接向標(biāo)準(zhǔn)輸出設(shè)備輸出字符。標(biāo)準(zhǔn)輸出設(shè)備是一個(gè)特殊文件,即設(shè)備文件,文件型指針指向標(biāo)準(zhǔn)輸出設(shè)備,因而功能相同。選項(xiàng)D錯(cuò)誤,在定義函數(shù)中指定的形參變量,在未出現(xiàn)函數(shù)調(diào)用時(shí),它們并不占內(nèi)存中的存儲(chǔ)單元。
58.B解析:算法是對(duì)特定問(wèn)題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個(gè)或多個(gè)操作。算法具有五個(gè)重要特性:
①有窮性:一個(gè)算法必須總是在執(zhí)行有限步之后結(jié)束,且每一步都可在有限時(shí)間內(nèi)完成。
②確定性:算法中每一步驟都必須有明確的定義,不允許有模棱兩可的解釋?zhuān)膊辉试S有多義性,對(duì)于相同的輸入只能得出相同的輸出。
③可行性:算法中描述的操作可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來(lái)實(shí)現(xiàn)。
④輸入:一個(gè)算法有零個(gè)或多個(gè)的輸入。
⑤輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,這些輸出是同輸入有著某些特定關(guān)系的量。
59.B解析:在長(zhǎng)度為64的有序線性表中,其中的64個(gè)數(shù)據(jù)元素是按照從大到小或從小到大的順序排列有序的。在這樣的線性表
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空部件維修合同模板
- 甜品店勞動(dòng)合同
- 梯阻系統(tǒng)安裝合同
- 《食管癌的治療》課件
- 《大學(xué)英語(yǔ)UNI》課件
- 2025年丹東a2貨運(yùn)從業(yè)資格證模擬考試
- 軍訓(xùn)個(gè)人心得體會(huì)匯編15篇
- 2025年石家莊貨運(yùn)從業(yè)資格證模擬考試題及答案解析
- 智能家居項(xiàng)目延期還款協(xié)議
- 風(fēng)電設(shè)備運(yùn)輸司機(jī)聘用合同模板
- 湖南財(cái)政經(jīng)濟(jì)學(xué)院《世界市場(chǎng)行情》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年執(zhí)業(yè)醫(yī)師考試-中醫(yī)師承及確有專(zhuān)長(zhǎng)考核考試近5年真題集錦(頻考類(lèi)試題)帶答案
- 醫(yī)學(xué)細(xì)胞生物學(xué)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 駐店藥師考試題及答案
- 醫(yī)藥公司中藥采購(gòu)年終工作總結(jié)(8篇)
- 境外投資設(shè)備合同模板
- 滬科版數(shù)學(xué)八年級(jí)上冊(cè)期末考試試卷含答案
- 江蘇省昆山市、太倉(cāng)、常熟、張家港市2023-2024學(xué)年八年級(jí)上學(xué)期期末陽(yáng)光測(cè)評(píng)語(yǔ)文試卷
- 2024年全國(guó)職業(yè)院校技能大賽中職組(法律實(shí)務(wù)賽項(xiàng))考試題庫(kù)-下(多選、判斷題)
- 國(guó)際結(jié)算第五版劉衛(wèi)紅課后參考答案
- SH∕T 3097-2017 石油化工靜電接地設(shè)計(jì)規(guī)范
評(píng)論
0/150
提交評(píng)論