版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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í)間復(fù)雜度為()。A.O(i+j)B.O(n)C.O(n2)D.O(i*j)
2.一個(gè)二維數(shù)組的定義語(yǔ)句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為()。
A.2B.4C.6D.8
3.讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffersize,count,fp);,其中buffer代表的是()。
A.一個(gè)文件指針,指向待讀取的文件
B.一個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個(gè)內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址
D.一個(gè)內(nèi)存塊的字節(jié)數(shù)
4.給定數(shù)列(541,132,984,746,518,181,946,314,205,827)按照從小到大的順序排列,采用快速排序(以中間元素518為基準(zhǔn))的第一趟掃描結(jié)果是()
A.(541,132,827,746,518,181,946,314,205,984)
B.(205,132,314,181,518,746,946,984,541,827)
C.(132,541,746,984,181,518,314,946,205,827)
D.(132,541,746,518,181,946,314,205,827,984)
5.若執(zhí)行下面的程序時(shí),從鍵盤上輸入5和2,則輸出結(jié)果是______。main(){inta,b,k;scanf("%d,%d",&a,&b);k=a;if(a<b)k=a%b;elsek=b%a;printf("%d\n",k);}
A.5B.3C.2D.0
6.在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。
A.31B.32C.16D.15
7.
8.
9.設(shè)初始輸入序列為1,2,3,4,5,利用一個(gè)棧產(chǎn)生輸出序列,下列()序列是不可能通過(guò)棧產(chǎn)生的。
A.1,2,3,4,5B.5,3,4,l,2C.4,3,2,1,5D.3,4,5,2,l
10.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}
A.7B.2C.9D.10
11.對(duì)n個(gè)關(guān)鍵字的序列進(jìn)行快速排序,平均情況下的空間復(fù)雜度為_(kāi)______
A.O(1)B.O(logn)C.O(n)D.O(nlogn)
12.以下選項(xiàng)中非法的字符常量是()。
A.\101B.\65C.\xffD.\019
13.一個(gè)棧的進(jìn)棧序列是a,b,c,d,e,則棧的不可能的輸出序列是()。
A.edcbaB.decbaC.dceabD.abcde
14.向一個(gè)棧頂指針為h的帶頭結(jié)點(diǎn)的鏈棧中插入指針s所指的結(jié)點(diǎn)時(shí),應(yīng)執(zhí)行()操作。
A.h->next=s;
B.s->next=h;
C.s->next=h;h->next=s;
D.s->next=h->next;h->next=s;
15.下列敘述中正確的是()。
A.線性鏈表中的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表中的表頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
16.對(duì)于n個(gè)結(jié)點(diǎn)的單向鏈表(無(wú)表頭結(jié)點(diǎn)),需要指針單元的個(gè)數(shù)至少為_(kāi)_____。
A.n-1B.nC.n+1D.2n
17.下列程序的輸出結(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
18.有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0;c=(a=a=5);(a=b,b+=4);printf("%d,%d,%d\n",a,bc);}程序運(yùn)行后的輸出結(jié)果是()。A.0,4,5B.4,4,5C.4,4,4D.0,0,0
19.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
20.
二、2.填空題(20題)21.軟件開(kāi)發(fā)環(huán)境是全面支持軟件開(kāi)發(fā)全過(guò)程的【】集合。
22.對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果為【】。
23.寫(xiě)出下列程序的執(zhí)行結(jié)果。swap(p1,p2)int*p1,*p2;{intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b,*p1,*p2;scanf("%d%d",&a,&B);p1=&a;p2=&b;if(a<B)swap(p1,p2);printf("\na=%d,b=%d\n",a,B);}若a=7,b=8,則程序的運(yùn)行結(jié)果為()。
24.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。
25.以下程序段的輸出結(jié)果是【】。
inta=1234;
printf("%2d\n",a);
26.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>
main()
{intk,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])【】
printf("%d\n",k);}
27.若有如下結(jié)構(gòu)體說(shuō)明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請(qǐng)?zhí)羁?,以完成?duì)t數(shù)組的定義,t數(shù)組的每個(gè)元素為該結(jié)構(gòu)體類型。
【】t[20]
28.在鏈表的運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。
29.以下函數(shù)用來(lái)求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。請(qǐng)?zhí)羁铡?/p>
#include<conio.h>
#include<stdio.h>
intfun(int*s,intt,int*k)
{inti;
*k=0;
【】
if(s[*k]<s[i])*k=i;
return【】;}
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777},k;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);}
30.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使相同的數(shù)只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)fun返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#defineN80
intfun(inta[],intn)
{inti,j=1;
for(i=1;i<n;i++)
if(a[j-1]【】a[i])a[j++]=a[i];
【】;
}
main()
{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);
n=fun(a,n);
printf("\nThedataafterdeleted:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");
}
31.軟件需求規(guī)格說(shuō)明書(shū)應(yīng)具有完整性、無(wú)歧義性、正確性、可驗(yàn)證性、可修改性等特性,其中最重要的是【】。
32.下列程序的運(yùn)行結(jié)果為【】。
#include<stdio.h>
main()
{staticcharstr1[40];
charstr2140];
strcpy(str2,"China");
strcat(str1,str2);
strcat(str1,"isagreatcountry!");
printf("%s%s",str2,strl);
printf("%d%d\n",strlen(str2),strlen(str1));
}
33.設(shè)順序輸入數(shù)列為:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每個(gè)結(jié)點(diǎn)的查找概率相同,若用順序存儲(chǔ)方式組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】;若按二叉排序樹(shù)結(jié)構(gòu)組織該數(shù)列,則查找一個(gè)數(shù)成功的平均比較次數(shù)為【】。
34.設(shè)有定義語(yǔ)句:inta[][3]={{0},{1},{2}};,則數(shù)組元素a[1][2]的值為()。
35.結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語(yǔ)句。
36.順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置______的存儲(chǔ)單元中。
37.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,
否則返回0。請(qǐng)?zhí)羁铡?/p>
intisprime(inta)
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)【】;
【】;
}
38.軟件生命周期包括2今階段。為了使各時(shí)期的任務(wù)更明確,又可分為3個(gè)時(shí)期:軟件定義期、軟件開(kāi)發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。
39.設(shè)Y是int型變量,請(qǐng)寫(xiě)出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。
40.若輸入字符串:abcde↓,則以下while循環(huán)體將執(zhí)行【】次。
while((ch=getchar())=='e')printf("*");
三、1.選擇題(20題)41.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說(shuō)法都不對(duì)
42.若a、b、c、d都是int型變量且都已經(jīng)正確賦初值,則以下不正確的賦值語(yǔ)句是()。
A.a+d;B.a++:C.a=b=c=d=100;D.a=(b=3)+(d=5);
43.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0j<4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。
A.12B.11C.18D.16
44.若變量已正確定義并賦值,以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
45.下列程序的運(yùn)行結(jié)果為()。
#deflneMAX(x,y)(x)>(y)(x):(y)
main()
{inta=2,b=3,c=1,d=3,t;
printf("%d\n",(MAX(a+b,c+D))*100);
}A.A.500B.5C.4D.400
46.下面程序段的輸出為#nclude"stdio.h"main(){printf("%d\n",12<<2);}
A.0B.47C.48D.24
47.為了提高測(cè)試的效率,應(yīng)該()。
A.隨機(jī)選取測(cè)試數(shù)據(jù)
B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)
C.在完成編碼以后制定軟件的測(cè)試計(jì)劃
D.集中對(duì)付那些錯(cuò)誤群集的程序
48.若x=2,y=3,則x&y的結(jié)果是()。
A.0B.2C.3D.5
49.在數(shù)據(jù)庫(kù)設(shè)計(jì)的四個(gè)階段中,為關(guān)系模式選擇存取方法應(yīng)該是在______階段。
A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)
50.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
51.下列選項(xiàng)中錯(cuò)誤的說(shuō)明語(yǔ)句是
A.chara[]={'t','o','y','o','u','\0'};
B.chara[]={"toyou\0"};
C.chara[]="toyou\0";
D.chara[]='toyou\0';
52.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下列描述正確的是()。
A.程序應(yīng)該簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名只需要符合語(yǔ)法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(wú)
53.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是#include"stdio.h"main(){charfun(char,int);chara='A';intb=13;a=fun(a,b);putchar(a);}charfun(chara,intb){chark;k=a+b;returnk;}
A.AB.MC.ND.L
54.以下程序運(yùn)行后,輸出結(jié)果是
#definePT5.5
#defineS(x)PT*x*x
#include<stdio.h>
main()
{inta=1,b=2;
printf("%4.1f\n",S(a+b));}
A.49.5B.9.5C.22D.45
55.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.線性鏈表C.二叉鏈表D.有序線性鏈表
56.利用fseek函數(shù)可實(shí)現(xiàn)的操作是()。
A.實(shí)現(xiàn)文件的順序讀寫(xiě)B(tài).改變文件的位置指針C.實(shí)現(xiàn)文件的隨機(jī)讀寫(xiě)D.以上答案均正確
57.若有說(shuō)明語(yǔ)句:double*P,a;則能通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%lf",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%lf",*p);
D.p=&a;scanf("%lf",p);
58.以下程序有語(yǔ)法錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確說(shuō)法是()。main(){intG=5,k;voidprt_char();┆k=prt_char(G);┆}
A.語(yǔ)句voidprt_char();有錯(cuò),它是函數(shù)調(diào)用語(yǔ)句,不能用void說(shuō)明
B.變量名不能使用大寫(xiě)字母
C.函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾
D.函數(shù)名不能使用下劃線
59.若有"doublea;",則正確的輸入語(yǔ)句是()。
A.scanf("%lf",a);
B.scanf("%f",&a);
C.scanf("%lf",&a)
D.scanf("%le",&a);
60.設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為_(kāi)_____。A.EOFB.非0值C.0D.NULL
四、選擇題(20題)61.
62.C語(yǔ)言源程序名的后綴是()。A.CB.exeC.obiD.ep
63.在軟件設(shè)計(jì)中不使用的工具是()。
A.系統(tǒng)結(jié)構(gòu)圖
B.程序流程圖
C.PAD圖
D.數(shù)據(jù)流圖(DFD圖)
64.軟件詳細(xì)設(shè)計(jì)生產(chǎn)的圖如右圖:該圖是()。
A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
65.
66.
67.以下程序有錯(cuò),錯(cuò)誤的原因是
main()
{int*p,i;char*q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
......
}
A.p和q的類型不一致,不能執(zhí)行*p=*q;語(yǔ)句
B.*p中存放的是地址值,因此不能執(zhí)行*p=40;語(yǔ)句
C.q沒(méi)有指向具體的存儲(chǔ)單元,所以*q沒(méi)有實(shí)際意義
D.q雖然指向了具體的存儲(chǔ)單元,但該單元中沒(méi)有確定的值,所以執(zhí)行*p=*q;沒(méi)有意義,可能會(huì)影響后面語(yǔ)句的執(zhí)行結(jié)果
68.有以下程序程序輸出()。
A.編譯有錯(cuò)B.0,0,0,3C.1,1,2,0D.0,l,2,0
69.
70.
71.
72.以下敘述中錯(cuò)誤的是()。
A.一個(gè)C程序中可以包含多個(gè)不同名的函數(shù)
B.一個(gè)C程序只能有一個(gè)主函數(shù)
C.C程序在書(shū)寫(xiě)時(shí),有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過(guò)
D.C程序的主函數(shù)必須用main作為函數(shù)名
73.
74.在C語(yǔ)言中,函數(shù)返回值的類型最終取決于()。
A.函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類型
B.return語(yǔ)句中表達(dá)式值的類型
C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型
D.函數(shù)定義時(shí)形參的類型
75.以下選項(xiàng)中,合法的是()。
A.charstr3[]={d,e,b,u,g,\0};
B.charstr4;str4="helloworld";
C.charname[10];name="china";
D.charstrl[5]="pass",str2[6];str2=strl;
76.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);)該函數(shù)的類型是()。
A.int類型B.float類型C.void類型D.函數(shù)無(wú)類型說(shuō)明,定義有錯(cuò)
77.下列選項(xiàng)中屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。
A.可行性研究
B.需求分析
C.詳細(xì)設(shè)計(jì)
D.軟件維護(hù)
78.
79.下列敘述中錯(cuò)誤的是()。A.A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
80.以下敘述中正確的是()。
A.用C語(yǔ)言編寫(xiě)的程序只能放在一個(gè)程序文件中
B.C程序書(shū)寫(xiě)格式嚴(yán)格,要求一行內(nèi)只能寫(xiě)一個(gè)語(yǔ)句
C.C程序中的注釋只能出現(xiàn)在程序的開(kāi)始位置和語(yǔ)句的后面
D.C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以寫(xiě)在多行上
五、程序改錯(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.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫(xiě)函數(shù)fun(),它的功能是求小于形參n同時(shí)能被3與7整除的所有自然數(shù)之和的平方根,并將其作為函數(shù)值返回。例如,若n為1000時(shí),程序輸出應(yīng)為s=153.909064。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.C
2.C
3.Cfread函數(shù)中的參數(shù)buffer是內(nèi)存塊的首地址,輸入的數(shù)據(jù)存入此內(nèi)存塊中。
4.B
5.C解析:本題考查簡(jiǎn)單的if...else語(yǔ)句。先執(zhí)行條件if(a<b),顯然不成立,則執(zhí)行else語(yǔ)句。
6.C解析:二叉樹(shù)的一個(gè)性質(zhì)是,在二叉樹(shù)的第k層上,最多有2(k-1)(k>=1)個(gè)結(jié)點(diǎn)。對(duì)于滿二叉樹(shù),每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹(shù)的第k層上有2k-1個(gè)結(jié)點(diǎn)。所以,在深度為5的滿二叉樹(shù)中,所有葉子結(jié)點(diǎn)在第5層上,即其結(jié)點(diǎn)數(shù)為2(k-1)=2(5-1)=16。
7.D
8.A
9.B
10.A
11.D
12.D在選項(xiàng)中,\\019,以0開(kāi)頭的數(shù)都為八進(jìn)制數(shù),而八進(jìn)制的表示數(shù)字是0~7,所以答案選擇D。
13.C
14.D
15.D解析:性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)不連續(xù),且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來(lái)指示的。所以,選項(xiàng)D正確。
16.C解析:在n個(gè)結(jié)點(diǎn)的單向鏈表(無(wú)表頭結(jié)點(diǎn))中,每個(gè)結(jié)點(diǎn)都有一個(gè)指針單元(即指針域),加上頭指針,至少需要n+1個(gè)指針單元。
17.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。
18.A本題考查簡(jiǎn)單的賦值運(yùn)算,在程序中c=(a-=am5),先算括號(hào)中的a-=a-5=5,所以c=5,再計(jì)算(a=b,b+=4);,a=b=0,b+=4=0+4=4,所以b=4,所以a=0,b=4,c=5,答案選擇A。
19.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
20.D
21.軟件工具軟件工具
22.ACBDFEHGPACBDFEHGP解析:中序遍歷方法的遞歸定義;當(dāng)二叉樹(shù)的根不為空時(shí),依次執(zhí)行如下3個(gè)操作:①按中序遍歷左子樹(shù)。②訪問(wèn)根結(jié)點(diǎn)。③技中序遍歷右子樹(shù)。根據(jù)遍歷規(guī)則來(lái)遍歷本題中的二叉樹(shù)。首先遍歷F的左子樹(shù),同樣按中序遍歷。先遍歷C的左子樹(shù),即結(jié)點(diǎn)A,然后訪問(wèn)C,接著訪問(wèn)C的右子樹(shù),同樣按中序遍歷C的右子樹(shù),先訪問(wèn)結(jié)點(diǎn)B,然后訪問(wèn)結(jié)點(diǎn)D,因?yàn)榻Y(jié)點(diǎn)D沒(méi)有右子樹(shù),因此遍歷完C的右子樹(shù),以上就遍歷完根結(jié)點(diǎn)F的左子樹(shù)。然后訪問(wèn)根結(jié)點(diǎn)F,接下來(lái)遍歷F的右子樹(shù),同樣按中序遍歷。首先訪問(wèn)E的左子樹(shù),E的左子樹(shù)為空,則訪問(wèn)結(jié)點(diǎn)E,然后訪問(wèn)結(jié)點(diǎn)E的右子樹(shù),同樣按中序遍歷。首先訪問(wèn)G的左子樹(shù),即H,然后訪問(wèn)結(jié)點(diǎn)G,最后訪問(wèn)G的右子樹(shù)P。以上就把整個(gè)二叉樹(shù)遍歷一遍,中序遍歷的結(jié)果為ACBDFEHGP。因此,劃線處應(yīng)填入“ACBDFEHGP”。
23.a=8b=7
24.對(duì)象對(duì)象解析:將屬性、操作相似的對(duì)象歸為類,也就是說(shuō),類是具有共同屬性、共同方法的對(duì)象的集合。
25.12341234解析:在%與格式符之間插入一個(gè)整型數(shù)來(lái)指定輸出寬度,當(dāng)指定寬度小于輸出數(shù)的實(shí)際寬度時(shí),則按實(shí)際寬度輸出。
26.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標(biāo),需先預(yù)設(shè)1個(gè)臨時(shí)最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時(shí)最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查是從首元素開(kāi)始順序向后繼元素考查。程序中,存儲(chǔ)臨時(shí)最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k)更大時(shí),應(yīng)該用p更新k。所以在空框處應(yīng)填入代碼“k=p;”。
27.strudctSTRUstrudctSTRU解析:結(jié)構(gòu)件類型是構(gòu)造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結(jié)構(gòu)體類型的定義:
struct結(jié)構(gòu)體類型名
{
成員項(xiàng)表;
};
定義結(jié)構(gòu)體變量的的形式為:
struct結(jié)構(gòu)體類型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
28.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。
29.for(I=0;I<t;I++)0for(I=0;I<t;I++),0解析:本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算,此外,一開(kāi)始應(yīng)使*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。
30.!=returnj!=returnj解析:函數(shù)fun中,變量j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以訂語(yǔ)句中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,a[i]要添加到新數(shù)組中。該算法只能用于數(shù)組已排序的題目中。
31.正確性正確性解析:本題考查軟件工程中需求規(guī)格說(shuō)明書(shū)的評(píng)審。衡量需求規(guī)格說(shuō)明書(shū)好壞的標(biāo)準(zhǔn)按重要性次序排列為:正確性、無(wú)歧義性、完全性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性。因此,劃線處應(yīng)填入“正確性”。
32.ChinaChinaisagreatcountry!525
33.857/15
34.00解析:二維數(shù)組中當(dāng)某行一對(duì)花括號(hào)內(nèi)的初值個(gè)數(shù)小于該行中元素的個(gè)數(shù)時(shí),系統(tǒng)將自動(dòng)給該行后面的元素補(bǔ)初值0,由此可見(jiàn)數(shù)組a[1][2]=0。
35.模塊化模塊化
36.相鄰相鄰
37.return0return1return0,return1解析:如果a能被i整除,則a是素?cái)?shù),返回值為0。如果a不能被i整除,則a不是素?cái)?shù),返回值為1。
38.軟件開(kāi)發(fā)軟件開(kāi)發(fā)解析:軟件生命周期包括8個(gè)階段:?jiǎn)栴}定義、可行性研究、需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、運(yùn)行維護(hù)。為了使各時(shí)期的任務(wù)更明確,又可以分為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ā)階段。
39.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
40.00解析:函數(shù)getchar()是從鍵盤得到用戶輸入的一個(gè)字符。用戶輸入的第1個(gè)字符是a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個(gè)循環(huán)不會(huì)被執(zhí)行。
41.A本題考查程序效率。程序效率是指程序運(yùn)行速度和程序占用的存儲(chǔ)空間。影響程序效率的因素是多方面的,包括程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空間少,即提高程序的效率。因此,本題選項(xiàng)A的說(shuō)法是正確的。
42.AC語(yǔ)言規(guī)定,賦值號(hào)的右邊可以是一個(gè)賦值表達(dá)式,因此選項(xiàng)C)、選項(xiàng)D)正確;在選項(xiàng)B)中,a是一個(gè)自加1的表達(dá)式,a被重新賦值,因此它是一個(gè)合法的賦值表達(dá)式;選項(xiàng)A)中,ad是一個(gè)算術(shù)表達(dá)式,雖然最后有一個(gè)分號(hào),但這個(gè)表達(dá)式中沒(méi)有賦值操作,因此它不是一條賦值語(yǔ)句。
43.D解析:分析程序可知,函數(shù)f()中的for循環(huán)作用,是將數(shù)組前三行中的對(duì)角線上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到變量s中,然后將s的值返回。在主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組,接著通過(guò)輸出語(yǔ)句輸出函數(shù)f(a)的返回值。調(diào)用f(a)的返回值為a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
44.B解析:a=b=c+2實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:b=c+2和a=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,其中第一個(gè)是錯(cuò)的,因?yàn)镃++語(yǔ)言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等。注意:C++語(yǔ)言賦值語(yǔ)句的運(yùn)用,
45.A解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:(x)>(y)(x):(y)是x>y時(shí)輸出x,否則輸出y,調(diào)用(MAX(a+b,c+d))*100時(shí),(a+b=5)>(c+d=4),所以輸出a+b=5,所以x=5*100。
46.C
47.D本題主要考查軟件的測(cè)試。軟件測(cè)試的主要目的體現(xiàn)在下面幾個(gè)方面。
(1)軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。
(2)一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。
(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
軟件測(cè)試的效率是指利用更少的成本創(chuàng)造更多的價(jià)值,提供軟件測(cè)試效率的方法有很多,如制定一個(gè)合理的詳細(xì)的測(cè)試計(jì)劃,了解測(cè)試項(xiàng)目的業(yè)務(wù)需求,集中對(duì)付那些錯(cuò)誤群集的程序等。而選項(xiàng)A所描述的隨機(jī)選取測(cè)試數(shù)據(jù)是不能保證提高測(cè)試效率的,選項(xiàng)B描述的取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)顯然不能提高測(cè)試效率,反而使工作量加大,降低測(cè)試效率。
48.B解析:本題主要考查按位與(&)運(yùn)算的知識(shí)點(diǎn)?!?”是對(duì)兩個(gè)運(yùn)算量相應(yīng)的位進(jìn)行邏輯與,“&”的規(guī)則與邏輯與“&&”相同。x=2的二進(jìn)制為00000010,y=3的二進(jìn)制為00000011,x&y=00000010,轉(zhuǎn)化為十進(jìn)制即為2。
49.D解析:需求分析階段是分析用戶的需求,顯然不屬于這個(gè)階段,由此可以排除選項(xiàng)A.概念設(shè)計(jì)是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)及概念模型的過(guò)程,涉及不到數(shù)據(jù)的存取,所以選項(xiàng)D錯(cuò)誤。邏輯設(shè)計(jì)是在概念設(shè)計(jì)的基礎(chǔ)上將E-R圖轉(zhuǎn)換成數(shù)據(jù)庫(kù)管理系統(tǒng)的邏輯數(shù)據(jù)模型表示的邏輯模式,也不涉及存取問(wèn)題,選項(xiàng)C也不對(duì)。答案為D。
50.A開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的原因有很多,如需求難以捕捉、員工水平有限、工作安排不太合理、進(jìn)度控制難以把握、系統(tǒng)開(kāi)發(fā)時(shí)間有限等元素,但這些都不是根本的原因,根本的原因是大系統(tǒng)的復(fù)雜性。
51.D解析:通過(guò)賦初值的方式給一維數(shù)組賦字符串,可以用給一般數(shù)組賦初值的相同方式給一維字符數(shù)組賦字符串,也可以在賦值時(shí)直接賦字符串常量。選項(xiàng)B)和C)后面的'\\0'是多余的,不過(guò)也不錯(cuò),在C語(yǔ)言中,系統(tǒng)會(huì)自動(dòng)在字符串的結(jié)尾處加上一個(gè)字符'\\0'作為串的結(jié)束標(biāo)記。
52.A解析:“清晰第一,效率第二”,在考慮到程序的執(zhí)行效率的同時(shí),一定要保證程序清晰、可讀;對(duì)符號(hào)名的命名,除了要符合語(yǔ)法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無(wú)的。
53.C解析:函數(shù)說(shuō)明語(yǔ)句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符,A,的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
54.A解析:考查宏替換的使用。宏替換用'#define宏名宏體'的形式來(lái)定義。在進(jìn)行編譯預(yù)處理時(shí),將把程序中宏定義之后的所有宏名用宏體替換。宏雖然可以帶參數(shù),但宏替換過(guò)程中不像函數(shù)那樣要進(jìn)行參數(shù)值的計(jì)算、傳遞及結(jié)果返回等操作;宏替換只是簡(jiǎn)單的字符替換,不進(jìn)行計(jì)算,因而本題中的S(a+b)進(jìn)行宏替換后為PT*1+2*1+2=5.5*1+2*1+2=9.5。
55.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正確
56.D解析:改變文件位置指針函數(shù)fseek()的功能:①改變文件的位置指針;②輔助實(shí)現(xiàn)文件的順序讀寫(xiě);③輔助實(shí)現(xiàn)文件的隨機(jī)讀寫(xiě)。
57.D解析:*p間接引用指針指向的變量,因此“(*p)=&a”不對(duì)。scanf()的輸入變量必須為地址,因此C是錯(cuò)誤的。
58.C解析:在C程序中,若把函數(shù)定義放在函數(shù)調(diào)用之后,應(yīng)該在函數(shù)調(diào)用之前對(duì)函數(shù)進(jìn)行聲明,或稱為函數(shù)原型說(shuō)明。函數(shù)聲明的類型必須與函數(shù)返回類型一致,函數(shù)聲明可以是一條獨(dú)立的語(yǔ)句,也可以與普通變量一起出現(xiàn)在同一條語(yǔ)句中。本題程序中聲明prt_char函數(shù)是void類型,與k=prt_char()的類型矛盾,所以本題的錯(cuò)誤在于“函數(shù)說(shuō)明和函數(shù)調(diào)用語(yǔ)句之間有矛盾”。
59.D解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。題中定義變量a為雙精度型變量,雙精度變量的格式符為“1e”;變量的地址用取地址符“&”加變量名表示,例如變量a的地址為“&a”。
60.B(27)B)解析:函數(shù)feof的功能是:測(cè)試fp所指的文件的位置是否已達(dá)到文件尾,如果達(dá)到文件尾,則函數(shù)返回非0值,否則返回0,表示文件尚未結(jié)束。
61.B
溫馨提示
- 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è)備選購(gòu)合同
- 服務(wù)合同感言
- 鋼琴教師合同范本
- 房屋交易合同的履行期限
- 蔬菜供應(yīng)銷售協(xié)議
- 房屋買賣合同的撤銷與變更
- 標(biāo)準(zhǔn)房屋買賣合同翻譯
- 牧業(yè)承包合同問(wèn)答詳解
- 無(wú)抵押擔(dān)保合同協(xié)議范例
- 消防安全評(píng)估與設(shè)備更新合同
- 2024年民用爆炸物品運(yùn)輸合同
- 國(guó)家開(kāi)放大學(xué)24237丨學(xué)前兒童語(yǔ)言教育活動(dòng)指導(dǎo)(統(tǒng)設(shè)課)期末終考題庫(kù)及答案
- 2024-2030年中國(guó)離合器制造行業(yè)運(yùn)行動(dòng)態(tài)及投資發(fā)展前景預(yù)測(cè)報(bào)告
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)教育-云南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 《個(gè)體防護(hù)裝備安全管理規(guī)范AQ 6111-2023》知識(shí)培訓(xùn)
- 客戶管理系統(tǒng)技術(shù)服務(wù)合同
- 北京交通大學(xué)《成本會(huì)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 治療皮膚病藥膏市場(chǎng)需求與消費(fèi)特點(diǎn)分析
- 某物流公司投標(biāo)書(shū)
- 醫(yī)院電梯維保服務(wù)方案及應(yīng)急措施
- 設(shè)備安裝應(yīng)急應(yīng)對(duì)預(yù)案
評(píng)論
0/150
提交評(píng)論