




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年浙江省湖州市全國計算機(jī)等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.在單鏈表指針為p的結(jié)點之后插入指針為s的結(jié)點,正確的操作是()。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;
2.
3.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系
4.有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序運行后的輸出結(jié)果是
A.8,2,3,4,5,6,7,1,
B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,
D.8,7,6,5,4,3,2,1
5.
6.數(shù)據(jù)結(jié)構(gòu)中,在邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分成()。
A.動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
7.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
8.設(shè)有以下程序段:structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;要求輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯誤的輸入語句是()。
A.scanf(“%s”,ptr.title);
B.scanf(“%s”,rec.title);
C.scanf(“%s”,(*ptr).title);
D.scanf(“%s”,ptr->title);
9.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30
10.當(dāng)一個函數(shù)無返回值時,定義它的函數(shù)類型應(yīng)是()。
A.voidB.intC.任意D.無
11.以下敘述中錯誤的是()。
A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出
B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變
C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息
D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)
12.在一個C語言源程序文件中所定義的全局變量,其作用域為()。
A.所在文件的全部范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.由具體定義位置和extern說明來決定范圍
13.有以下程序:
程序運行后的輸出結(jié)果是()。
A.abc+abc=defdef
B.abc+ABC=DEFdef
C.abcABCDEFdef
D.abcabcdefdef
14.使用堆排序方法排序(45,78,57,25,41,89),初始堆序列()
A.78,45,57,25,41,89
B.89,78,57,25,41,45
C.89,78,25,45,41,57
D.89,45,78,41,57,25
15.
有以下結(jié)構(gòu)體說明和變量的定義,且指針P指向變量a,指針q指向變量b,則不能把結(jié)點b連接到結(jié)點a之后的語句是()。
structnode
{chardata;
structnode*next:
}a,b,*p=&a,*q=&b;
A.a.next=q;B.P.next=&b;C.p->next=&b;D.(*p).next=q;
16.設(shè)有以下函數(shù)f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中調(diào)用該函數(shù),則輸出結(jié)果是______。main(){inta=2,i;for(i=0;i<3;i++)printf("%d\n"f(a));}
A.789B.7911C.71013D.777
17.
18.下列敘述中正確的是()。
A.對長度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為n/2
C.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為log2n
D.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為nlog2n
19.若已知一個棧的入棧序列是1,2,3,......,n,其輸出序列為p1,p2,p3,..,pn,若p1=n-1,則pi可能為()
A.nB.n-iC.n-i+1D.不確定
20.下面程序的運行結(jié)果是()。
#inelude<stdio.h>
voiddel(char*s)
{inti,j;
char*a;
a=s:
for(i=0,j=0;a[i]!='\0';i++)
{if(a[i]>='0'&&a[i]<='9')
{s[j]=a[i];
j++;
}
s[j]='\0';
}
}
main
{char*s="aa89gggh";
del(s):
printf("\n%s",s);
}A.A.1B.2C.3D.4
二、2.填空題(20題)21.以下程序把從終端讀入的20個整數(shù)以二進(jìn)制方式寫到一個名為d.dat的新文件中,請?zhí)羁铡?/p>
#include<stdio.h>
FILE*fp;
main()
{inti,j;
if((fp=fopen(【】,"wb"))==NULL)exit(0);
for(i=0;i<20;i++)
{scanf("%d",&j);fwrite(&j,sizeof(int),1,【】);}
fclose(fp);
}
22.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
23.執(zhí)行下列程序的輸出結(jié)果是【】。
main()
{
floata=1,b;
b=++a*++a;
printf("%f\n",b);
}
24.以下程序統(tǒng)計從終端輸入的字符中大寫字母的個數(shù)。用#號作為輸入結(jié)束標(biāo)志,請?zhí)羁铡?include<stdio.h>#include<ctype.h>main(){intnum[26],i;charc;for(i=0;i<26;i++)num[i]=0;();while(c!='#'}{if(isupperC)num[c-65]+=1;}for(i=0;i<26;i++)if(num[i])printf("%c,%d\n",i+65,num[i]);}
25.下列程序段是從鍵盤輸入的字符中統(tǒng)計小寫字母的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁铡?/p>
intn=0,c;
c=getchar();
while(c!='\n')
{if(______)
n++;
}
26.下面程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
27.下面程序有兩個printf語句,如果第一個printf語句輸出的是194,則第二個printf語句的輸出結(jié)果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\",p+9);
}
28.下列程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
29.在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個______。
30.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的______的集合。
31.測試的目的是暴露錯誤,評價程序的可靠性;而______的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。
32.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請?zhí)羁铡?/p>
strcen(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;}
return(num);
}
33.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。
34.下列程序輸出的結(jié)果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
35.下面的程序可列指定字符串中的字符串進(jìn)行從大到小排序,請將程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
36.在最壞情況下,冒泡排序的時間復(fù)雜度為【】。
37.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
38.診斷和改正程序中錯誤的工作通常稱為【】。
39.在內(nèi)存中,存儲字符'x'要占用1個字節(jié),存儲字符串"x"要占用【】個字節(jié)。
40.在數(shù)據(jù)庫系統(tǒng)中,實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
三、1.選擇題(20題)41.下列關(guān)于線性鏈表的描述中正確的是()。
A.存儲空間不一定連續(xù),且各元素的存儲順序是任意的
B.存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面
C.存儲空間必須連續(xù),且各前件元素一定存儲在后件元素的前面
D.存儲空間必須連續(xù),且各元素的存儲順序是任意的
42.有以下程序main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);程序運行后的輸出結(jié)果是
A.0B.4C.6D.7
43.用鏈表表示線性表的優(yōu)點是()。
A.便于隨機(jī)存取B.花費的存儲空間較順序存儲少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序和邏輯順序相同
44.樹是結(jié)點的集合,它的根結(jié)點數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
45.設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為______。A.EOFB.非0值C.0D.NULL
46.定義如下變量和數(shù)組:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
則下面語句的輸出結(jié)果是()。
for(i=0;i<3;i++)
printf("%d",x[i][2-i]);
A.159B.147C.357D.369
47.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測試和驗收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
48.程序中對fun()函數(shù)有如下說明void*fun();此說明的含義是______。
A.fun函數(shù)無返回值
B.fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型
C.fun函數(shù)的返回值是無值型的指針類型
D.指針fun指向一個函數(shù),該函數(shù)無返回值
49.fgetc函數(shù)的作用是從指定文件讀入一個個字符,該文件的打開方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
50.數(shù)據(jù)的獨立性是指______。
A.數(shù)據(jù)庫的數(shù)據(jù)相互獨立
B.DBMS和DB相互獨立
C.用戶應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)相互獨立
D.用戶應(yīng)用程序與DBMS相互獨立
51.以下程序的輸出結(jié)果是
main()
{intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
52.下列說法錯誤的是
A.函數(shù)調(diào)用時,函數(shù)名必須與所調(diào)用的函數(shù)名字完全相同
B.實參的個數(shù)必須與形式參數(shù)的個數(shù)一致
C.實參可以是表達(dá)式,在類型上必須與形參一一對應(yīng)匹配
D.C語言規(guī)定,函數(shù)必須先定義,后調(diào)用(函數(shù)的返回值類型為int或char時除外)
53.下列敘述中正確的是()。
A.程序的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)
B.程序的執(zhí)行效率只取決于程序的控制結(jié)構(gòu)
C.程序的執(zhí)行效率只取決于所處理的數(shù)據(jù)量
D.以上三種說法都不對
54.有以下程序段chareh;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A.因變量類型與格式描述符的類型不匹配輸出無定值
B.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
55.下面程序段的運行結(jié)果是()。chara[]="abcdefgh";char*p=a;p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));
A.8B.12C.4D.7
56.下面程序的運行結(jié)果是include<stdio.h>main(){inta=28,b;chars[10],*p;p=s;do{b=a%16;if(b<10)*p=b+48;else*p=b+55;p++;a=a/5;}while(a>0);*p='\0';puts(s);}
A.10B.C2C.C51D.\0
57.X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸入語句是______。
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);
58.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項中所用變量都已正確定義并賦值,錯誤的函數(shù)調(diào)用是()。
A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(x,y)x,y);
D.fun(x,y);
59.若有如下定義:structstu{charname[9];intage;floatscore;);structstuclass[10]={{"Li",17,67},{"Song",19,80},{"guo",18,79},{"Zhao",16,69}};根據(jù)上面的定義,若執(zhí)行“printf("%s:%d%f",class[3].name,class[3].age,class[3].score);"則輸出的正確結(jié)果是()。
A.Song:19,80.000000
B.Zhao:16,69.000000
C.Li:17,67Song;19,80
D.guo:18,79Zhao;16,69
60.對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是()。
A.冒泡排序為n/2B.冒泡排序為nC.快速排序為nD.快速排序為n(n-1)/2
四、選擇題(20題)61.
62.以下程序的輸出結(jié)果是()。
main()
{inta[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
63.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點是()。
A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對
64.有以下程序:
程序運行后的輸出結(jié)果是()。
A.2,3,1,6,8,7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,l,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
65.
66.
67.下列敘述中正確的是()。A.在c程序的函數(shù)中不能定義另一個函數(shù)
B.在c程序中main函數(shù)的位置是固定的
C.C程序中所有函數(shù)之間都可以相互調(diào)用
D.每個C程序文件中都必須要有一個main函數(shù)
68.若有定義:doublea=22;inti=0,k=18;,則不符合c語言規(guī)定的賦值語句是()。A.i=a%ll;B.i=(a+k)《=(i+k);C.a=a++,i++;D.i=!a;
69.為了避免嵌套的條件分支語句if-else的二義性,C語言規(guī)定:C程序中的else總是與()組成配對關(guān)系。
A.縮排位置相同的ifB.在其之前未配對的ifC.在其之前未配對的最近的ifD.同一行上的if
70.
當(dāng)c的值不為0時,在下列選項中不能正確將c的值賦給變量a、b的是()。
A.c=b=a;B.(a=c)C.D.(b=c);E.(a=c)&&(b=c);F.a=c=b;
71.下面程序的輸出結(jié)果是()。
A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC
72.
73.以下程序執(zhí)行后的輸出結(jié)果是()。
A.5,5
B.5,11
C.11,11
D.11,5
74.(50)數(shù)據(jù)庫概念設(shè)計的過程中,視圖設(shè)計一般有三種設(shè)計次序,以下各項中不對的是()
A.自頂向下
B.由底向上
C.由內(nèi)向外
D.由整體到局部
75.
76.有以下程序段:
當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0
77.
78.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個位置。
A.2B.3C.4D.5
79.有以下程序:
#include<stdio.h>
voidmain()
{fILE*fp;inti,a[4]={1,2,3,4},b;
fp=fopen("data.dat","wb");
for(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);
fclose(fp)
fp=fopen("data.dat","rb");
fseek(fp,-2L*sizeof(int),1,fp);/*文件中讀取sizeof(int)字節(jié)的數(shù)據(jù)到變量b中*/
fclose(fp);
printf("%d\n",b);
}
程序中fseek(fp,-2L*sizeof(int),SEEK_END);語句的作用是()。
A.使位置指針從文件末尾向前移2*sizeof(int)字節(jié)
B.使位置指針從文件末尾向前移2字節(jié)
C.使位置指針向文件末尾向前移懂2*sizeof(int)字節(jié)
D.使位置指針向文件末尾移動2字節(jié)
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)以下公式求π的值,并作為函數(shù)值返回。例如,給指定精度的變量eps輸人0.0001時,應(yīng)當(dāng)輸出Pi=3.141358。π/2=1+t/3+1/3*e/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9……請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:,
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是根據(jù)以下公式計算S,并將計算結(jié)果作為函數(shù)值返回,通過形參傳入。例如,若n的值為11時,函數(shù)的值為1.833333。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>floatfun(intn){}voidmain(){ intn; floats; system(“CLS”); printf(“\nPleaseenterN:”); scanf(“%d”,&n); s=fun(n); printf(“Theresultis:%f\n”,s);}
參考答案
1.B
2.C
3.C(10)C)解析:DB即數(shù)據(jù)庫(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、系統(tǒng)平臺之二——軟件平臺(軟件)。
4.D解析:本題考查循環(huán)和指針做函數(shù)參數(shù),程序的功能是將a[0]和a[7]對換,a[1]和a[6]對換,a[2]和a[5]對換,a[3]和a[4]對換,最后輸出。
5.D
6.C
7.A解析:在C語言中所謂函數(shù)的遞歸是指在調(diào)用一個函數(shù)的過程中,又出現(xiàn)了直接或間接調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用。由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是當(dāng)i<j時,將數(shù)組中的元素a[i]和a[j]交換,然后再調(diào)用函數(shù)f(a,i+1,j-1),將數(shù)組中a[i+1]和a[j--]交換,這樣一直遞歸到數(shù)組下標(biāo)i=j,可見該遞歸函數(shù)的作用是使數(shù)組中首尾元素依次互換。主函數(shù)中定義了一個長度為5的數(shù)組aa并初始化,然后調(diào)用f(a,0,4),將數(shù)組a中的元素依次互換,故最后for循環(huán)輸出的數(shù)組aa中各元素的值為5、4、3、2、1,所以,4個選項中選項A符合題意。
8.A運算符“->”適用指針訪問成員變量,運算符“.”適用普通變量訪問成員變量。ptr是指針,只能用“->”,因此選項A錯誤。選項B中,rec.title代表數(shù)組title,選項B正確,同理選項C正確?!?ptr”是結(jié)構(gòu)體變量rec,可以使用運算,因此選項D正確。故本題答案為A選項。
9.B本題考查for循環(huán)的使用。對于第1個for循環(huán),任何一個i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語句執(zhí)行6次,第二條for語句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。
10.A
11.C解析:在C語言中,除字符數(shù)組外,一個數(shù)組不能通過數(shù)組名對數(shù)姐進(jìn)行整體引用,因此選項A是對的。數(shù)組名中存放的是一個地址常量,它代表整個數(shù)組的首地址,因此選項B是對的。C語言程序在運行過程中,系統(tǒng)不自動檢驗數(shù)組元素的下標(biāo)是否越界,因此選項C是錯誤的。C語官規(guī)定可以通過賦初值來定義數(shù)組的大小,這時數(shù)組說明符的一對方括號中可以不指定數(shù)組的大小,因此選項D也是正確的。所以,4個選項中選項C符合題意。
12.D
\n全局變量是在函數(shù)外部任意位置上定義的變量,它的作用域是從變量定義的位置開始,到整個源文件結(jié)束止。當(dāng)全局變量定義在后,引用它的函數(shù)在前時,應(yīng)該在引用它的函數(shù)中用extern對此全局變量進(jìn)行說明,以便通知編譯程序該變量是一個已在外部定義了的全局變量,這時全局變量的作用域從extern說明處起,延伸到該函數(shù)末尾。
\n
13.A題干中,函數(shù)fun的功能是:判斷形參ch是否為大寫字母,若是大寫字母則改寫成小寫字母,其他字符不變。main函數(shù)中,通過while循環(huán),調(diào)用fun函數(shù),將字符數(shù)組s中的各個字符傳入,將s中的大寫字母改成小寫字母,程序輸出:abc+abc=defdef。本題答案為A選項。
14.B
15.B
\n本題考查結(jié)構(gòu)體指針變量的賦值方法,要把結(jié)點b連接到結(jié)點;l的后面,必須把b的地址給a的next指針。故8正確。
\n
16.A解析:本題考查靜態(tài)變量的問題。函數(shù)f中c是靜態(tài)變量存放在靜態(tài)存儲區(qū),在程序的整個運行期間都不釋放占據(jù)的存儲單元。函數(shù)f被調(diào)用3次,調(diào)用過程如下。
第1次調(diào)用;a=2、b=0、c=3,執(zhí)行b++和c++后b=1、c=4,f(a)=a+b+c=2+1+4=7
第2次調(diào)用:a=2、b=0、c=4.執(zhí)行b++和c++后b=1、c=5,f(a)=a+b+c=2+1+5=8
第3次調(diào)用:a=2、b=0、c=5,執(zhí)行b++和c++后b=1、c=6,f(a)=a+b+c=2+1+6=9
所以輸出結(jié)果為選項A。
17.C
18.C\n\tC。【解析】二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次。
19.D
20.D本題中del(char*s)函數(shù)實現(xiàn)的功能是:逐個讀入S數(shù)組中的字符,如果遇到數(shù)字,則將數(shù)字存在s中,遇到非數(shù)字字符則跳過。所以最后輸出的應(yīng)該是字符串S中所有的數(shù)字的個數(shù)。
21."bi.dat"fp'bi.dat'\r\nfp解析:要向文件bi.dat中寫數(shù)據(jù),所以要打開文件bi.dat。fp是指向文件bi.dat的指針,是將數(shù)據(jù)寫入fp指向的文件中去。
22.
23.66解析:++的優(yōu)先級高于*,先作自加運算,b=++a*++a=2.0*3.0=6.0。b按實型輸出6.000000。
24.c=getchar()
25.c>='a'&&c<='z'c>='a'&&c<='z'解析:小寫字母在內(nèi)存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>='a'&&c<='z'判斷是不是小寫字母;c!='\\n'判斷是用換行符結(jié)束循環(huán)。
26.
27.1a61a6解析:對于指針變量的運算,就是對地址的運算。本題中由于指針指向的是整型變量,所以,使指針變量移動9個位置也就是移動18個字節(jié)。注意,本題是以十六進(jìn)制輸出的。
28.55解析:分析程序,當(dāng)a=3;b=4;c=5時,判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結(jié)果為5。
29.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個;維表代表一種關(guān)系。
30.軟件工具軟件工具解析:軟件開發(fā)環(huán)境是各類軟件開發(fā)工具的集合體。
31.調(diào)試調(diào)試
32.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1
33.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
34.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。本程序首先定義了一個全局變量m=17,m=17的作用域在整個程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過fun函數(shù)返回兩個形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。
35.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實現(xiàn)過程是將相鄰兩個字符進(jìn)行比較,如果當(dāng)前字符小于下一個字符,則通過中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+l]。最終打印輸出得到的字符串str,所以第三空應(yīng)填:'%s',str。
36.
解析:冒泡排序法是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)線性表的長度為n,則在最壞的情況下,冒泡排序需要經(jīng)過遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。
37.軟件開發(fā)
38.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。程序調(diào)試與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。先要發(fā)現(xiàn)軟件的錯誤,然后借助于調(diào)試工具找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,而調(diào)試主要在開發(fā)階段。
39.22解析:計算機(jī)存儲一個字符用1個字節(jié),存儲字符串時,每個字符用占用1個字節(jié),另在字符串的有效字符之后存儲1個字符串的結(jié)束標(biāo)記符。所以存儲字符串“X”要占用2個字節(jié),存儲字符'x'只要1個字節(jié)。注意:sizeof()函數(shù)和strlen()函數(shù)的作用。
40.數(shù)據(jù)庫管理系統(tǒng)或DBMS數(shù)據(jù)庫管理系統(tǒng)或DBMS解析:數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫,簡稱DBMS。它對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過DBMS進(jìn)行數(shù)據(jù)庫的維護(hù)工作。它提供多種功能,可使多個應(yīng)用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數(shù)據(jù)庫。因此,數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫管理系統(tǒng)是實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件。本題的答案是數(shù)據(jù)庫管理系統(tǒng)或DBMS。
41.A解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中的結(jié)點空間是動態(tài)生成的,它們在內(nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。
42.D解析:本題考查的是switch語句。switch語句中的case或default只是一種入口標(biāo)號,它并不形成一種子句的概念。當(dāng)滿足其中某個標(biāo)號的條件而進(jìn)入switch語句中時,如果沒碰到break語句,將一直執(zhí)行到switch語句的結(jié)尾。題目中使用了一個while循環(huán)使k從5遞減到1,當(dāng)k=5或4的時候從default標(biāo)號進(jìn)入switch,碰到break;語句立即跳出,沒有改變n:當(dāng)k=3時,執(zhí)行了一次n+=k;;k=2時,也執(zhí)行了一次n+=k;k=1時,執(zhí)行了兩次n+=k;所以最終n的值為3+2+1+1=7。故應(yīng)該選擇D。
43.C【解析】在鏈表中因為除了存放數(shù)據(jù)元素之外,還要存放指針,所以鏈表花費的存儲空間要比順序表還要多,在插入和刪除數(shù)據(jù)元素時,只需要移動相應(yīng)的記錄指針即可,在鏈表中,數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不一定相同,因為是靠指針來實現(xiàn)對數(shù)據(jù)的指定的,所以不能進(jìn)行隨機(jī)存取。
44.A樹形結(jié)構(gòu)是一類重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹是n(n≥0)個結(jié)點的集合,對應(yīng)任意一棵非空樹,它具有以下幾點重要的性質(zhì)。
①有且僅有一個特定的稱為根的結(jié)點。
②當(dāng)n>1時,其余結(jié)點可分為m(m>0)個互不相交的有限集T1,T2,…,TM,其中每一個集合本身又是一棵樹,稱為子樹。
因此,本題的正確答案有且只有一個。
45.B(27)B)解析:函數(shù)feof的功能是:測試fp所指的文件的位置是否已達(dá)到文件尾,如果達(dá)到文件尾,則函數(shù)返回非0值,否則返回0,表示文件尚未結(jié)束。
46.C解析:考查二維數(shù)組元素的引用方法。題中通過二維數(shù)組的行、列下標(biāo)來定位元素的位置,從而實現(xiàn)元素的引用。
47.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個方面的作用,①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測試和驗收的依據(jù)。
48.C解析:C語言中函數(shù)的定義分為有參函數(shù)的定義和無參函數(shù)的定義。無參函數(shù)的定義形式為:
類型標(biāo)識符函數(shù)名()
{說明部分
語句
}
有參函數(shù)的定義有兩種形式:
類型標(biāo)識符函數(shù)名(形式參數(shù)列表)
形式參數(shù)說明
{說明部分
語句
}
或
類型標(biāo)識符函數(shù)名(類型名形參1,類型名形參2,…)
{說明部分
語句
}
其中函數(shù)名為用戶定義的C語言的合法標(biāo)識符,其前面的類型標(biāo)識符用來說明函數(shù)值的類型,可以是C允許的任何類型,如int、char、float、double和指針類型等。當(dāng)函數(shù)值為整型時類型標(biāo)識符可以省略,如果函數(shù)沒有返回值,類型標(biāo)識符可以是void型。當(dāng)函數(shù)的形參多于一個時,各個形參之間用逗號分隔。
49.D解析:fgetc函數(shù)是指從指定的文件讀入一個字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
50.C解析:修改數(shù)據(jù)庫的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時,通過兩級映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨立性。數(shù)據(jù)的獨立性包括物理獨立性和邏輯獨立性。
51.C解析:本題考查按位與“&”。因為1&1=1,0&0=0,所以任何數(shù)與自身按位與,結(jié)果仍為此數(shù),不發(fā)生變化。
52.C解析:實參可以是表達(dá)式,在類型上應(yīng)按位置與形參一一對應(yīng)匹配。如果類型不匹配,C編譯程序按賦值兼容的規(guī)則進(jìn)行轉(zhuǎn)換。
53.A解析:程序的執(zhí)行效率是與數(shù)據(jù)的存儲結(jié)構(gòu)密切聯(lián)系的。
54.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號的十進(jìn)制整型數(shù)輸出,所以第一個輸出語句輸出的結(jié)果為a,97;第二個輸出語句輸出的結(jié)果為k=12。
55.C解析:p被定義為指針型變量,指向字符數(shù)組a的首地址。執(zhí)行p+=3;指針后移3位,指向d。strcpy(p,'ABCD')將字符串'ABCD'(連同\'\\0\')復(fù)制到p所指向的地址單元中,strlen()函數(shù)計算p所指向的字符串的長度,返回字符串中字符的個數(shù)(不計\'\\0\'),返回值為字符串'ABCD'中字符的個數(shù)4。
56.C解析:語句“p=s;”是使指針p指向字符數(shù)組s。*p則引用了p所指位置的數(shù)組元素。注意:通過指針來引用一維數(shù)組元素。
57.B解析:scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址。選項A不是C語言中的輸入語句,故選項A不正確;選項C中輸入的是變量字符串而不是地址字符串,不滿足scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址,故選項C不正確;選項D不是C語言中的輸入語句,故選項D不正確:所以,4個選項中選項B符合題意。
58.C解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。選項C)中第一個參數(shù)的表達(dá)式不正確,因此不能得到正確的結(jié)果。
59.B解析:class[10]是結(jié)構(gòu)體型的數(shù)組,class[3]為{'Zhao',16,69}。
60.DD。【解析】本題主要考查對排序算法的理解。冒泡排序法首先將第一個記錄的關(guān)鍵字與第二個記錄的關(guān)鍵字進(jìn)行比較,若逆序則交換,然后比較第二個與第三個,以此類推,直至第n-1個與第n個記錄的關(guān)鍵字進(jìn)行比較。第一趟冒泡排序使最大的關(guān)鍵字元素放到最后。以此類推,進(jìn)行第2~n次冒泡排序。如果在排序過程中不存在逆序,則排序結(jié)束。在最壞情況下,冒泡排序中,若初始序列為“逆序”序列,則需要比較n(D-1)/2次??焖倥判蚴菍γ芭菖判虻囊环N改進(jìn)。它的基本思想是:通過一趟排序?qū)⒋庞涗浄指畛瑟毩⒌膬刹糠?,其中一部分記錄的關(guān)鍵字比另一部分記
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 足球訓(xùn)練科技的發(fā)展與團(tuán)隊配合、個人技巧的進(jìn)步
- 跨文化背景下的節(jié)日慶祝習(xí)慣比較研究
- 零售業(yè)資產(chǎn)證券化的策略與實踐
- 跨區(qū)域醫(yī)療資源分配與醫(yī)養(yǎng)服務(wù)網(wǎng)絡(luò)構(gòu)建
- 質(zhì)量提升關(guān)鍵點之一-對標(biāo)行業(yè)標(biāo)桿的血檢儀器如精準(zhǔn)度保持措施詳解
- 廣西2025年01月廣西壯族自治區(qū)衛(wèi)生健康對外交流合作中心2025年招考工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 跨文化背景下電商平臺的發(fā)展策略
- 四年級數(shù)學(xué)下冊折線統(tǒng)計圖教案蘇教版
- 高中語文情感美文不要隨便牽手更不隨便放手
- 高效的時間管理卓越的演講表現(xiàn)
- 利那洛肽治療便秘病例
- 部編版小學(xué)語文四年級下冊第二單元教材分析
- 2024年OTC焊接機(jī)器人基本操作培訓(xùn)
- 參考消息電子版在線閱讀(角度區(qū))
- 小學(xué)五年級《美術(shù)》上冊知識點匯總
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2016-2023年湖南鐵路科技職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2023南頭古城項目簡介招商手冊
- 機(jī)修知識培訓(xùn)教材課件
- 跨云平臺的DevOps集成
- 小學(xué)綜合實踐活動《察探究活動跟著節(jié)氣去探究》課教案
評論
0/150
提交評論