版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年廣東省茂名市全國計算機等級考試C語言程序設(shè)計真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序運行后,若從鍵盤輸入(從第1列開始)
123<回車>
45678<回車>
則輸出結(jié)果是A.A.1267B.1256C.1278D.1245
2.以下選項中合法的C語言常量是()。
A.‘C-STR’B.2014.1C.”\1.0D.2EK
3.若有說明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為Thecityisbeautiful\0
B.s1的內(nèi)容更新為isbeaut\0
C.s1的內(nèi)容更新為Thecity\0isbeautiful\0
D.s1的內(nèi)容更新為Thecityisbeautiful\0
4.若已定義x和y為double類型,則表達式:x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.5
5.以下程序的功能是()。#include<stdio.h>main(){FILE*fPl;*fp2;fp1:fopen("file1","r");fp2:fopen("file2","w");while(!Feof(fP1))fputc(fgetc(fP1),fp2);fclose(fP1);fclose(fp2);}
A.將磁盤文件的內(nèi)容顯示在屏幕上
B.將兩個磁盤文件合為一個
C.將一個磁盤文件復(fù)制到另一個磁盤文件中
D.將兩個磁盤文件合并后送屏幕
6.有以下程序:
程序運行后的輸出結(jié)果是()。
A.0B.1C.2D.3
7.有以下程序:intfun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}執(zhí)行后的結(jié)果是()。A.7B.3C.2D.0
8.下列敘述中錯誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫技術(shù)的根本目標是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
9.設(shè)散列表長m=14,散列函數(shù)H(K)=K%11,已知表中已有4個結(jié)點:r(15)=4;r(38)=5;r(61)=6;r(84)=7,其他地址為空,如用二次探測再散列處理沖突,關(guān)鍵字為49的結(jié)點地址是_____。
A.8B.3C.5D.9
10.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序運行后,若從鍵盤輸入(從第1列開始)
123<回車>
45678<回車>
則輸出結(jié)果是
A.1267B.1256C.1278D.1245
11.有以下程序:#include<stdio.h>#deflneS1(z)4*z+4*(z)#defineS2(x,y)4*(x)*(y)+y*xmain(){inta=1,b=2;printf(“%d,”,S1(a+b));printf(“%d,”,S2(a,b)+S1(3));printf(“%d”,S2(3+a,b+3));}程序運行后的輸出結(jié)果是()。
A.18,34,100B.24,34,92C.24,34,100D.18,34,92
12.若棧采用順序存儲方式存儲,現(xiàn)兩棧共享空間V[1..m],top[i]代表第i個棧(i=1,2)棧頂,棧1的底在v[1],棧2的底在V[m],則棧滿的條件是()。
A.|top[2]-top[1]|=0
B.top[1]+1=top[2]
C.top[1]+top[2]=m
D.top[1]=top[2]
13.已知一個無向圖(邊為正數(shù))中頂點A,B的一條最短路P,如果把各個邊的權(quán)重(即相鄰兩個頂點的距離)變?yōu)樵瓉淼?倍,那么在新圖中,P仍然是A,B之間的最短路,以上說法是()A.錯誤B.正確
14.在C語言中,函數(shù)返回值的類型最終取決于()。
A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達式值的類型
C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型
D.函數(shù)定義時形參的類型
15.以下敘述中錯誤的是()。
A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出
B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變
C.當程序執(zhí)行中,數(shù)組元素的下標超出所定義的下標范圍時,系統(tǒng)將給出“下標越界”的出錯信息
D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)
16.若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
17.對線性表進行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲,并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈式方式存儲,并按關(guān)鍵碼值排好序
D.線性表以鏈式方式存儲,并按關(guān)鍵碼的檢索頻率排好序
18.以下程序運行后的輸出結(jié)果是______。intd=1;fun(intp){staticintd=d;d+=p;printf("%d",d);returnd;}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
19.若有定義inta=5,b=7;,則表達式a%=(b%2)運算后,a的值為()。
A.0B.1C.11D.3
20.
二、2.填空題(20題)21.在具有n個單元、順序存儲的循環(huán)隊列中,隊滿時,共有【】個元素。
22.若有以下程序段:
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
則執(zhí)行后,c3中的值是【】。
23.若有定義:inta=4,b=5,c=6;然后順序執(zhí)行下列語句后,變量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);
24.數(shù)據(jù)庫保護分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
25.在面向?qū)ο蠓椒ㄖ?,類的實例稱為______。
26.以下說明語句中,【】是結(jié)構(gòu)體類型名。
typedefstruct
{intn;
charch[8];
}PER;
27.有以下語句段:
intn1=10,n2=20;
printf("【】",n1,n2);
要求按以下格式輸出n1和n2的值:
n1=10
n2=20
每個輸出行從第一列開始,請?zhí)羁铡?/p>
28.若a=1,b=2,c=3,d=4;則條件表達式a>b?a:c<d?c:d的結(jié)果為()。
29.下面程序的運行結(jié)果是【】。
voidswap(int*a,int*b)
{
int*tp;
t=a;a=b;b=t;
}
main()
{
intx=3,y=5,*p=&x,*q=&y;
swap(p,q);
printf("%d%d\n",*p,*q);
}
30.僅依據(jù)規(guī)格說明書描述的程序功能來設(shè)計測試實例的方法稱為【】。
31.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
32.當輸入1、3、2時,程序運行的結(jié)果為【】。
#include<math.h>
main()
{floata,b,c,disc,x1,x2,p,q;
do
{scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
}while(disc<=0);
p=-b/(2*a);q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf("\nx1=%6.2f;x2=%6.2f\n",x1,x2);
}
33.以下程序中給指針p分配三個double型動態(tài)內(nèi)存單元,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{dOuble*p;
p=(double*)malloc();
p[0]=1.5;p[1]=2.5;p[2]=3.5
printf("%f%f%f\n",p[0],p[1],p[2]);
}
34.strcmp函數(shù)的功能是【】。
35.某二義樹中度為2的結(jié)點有18個,則該二叉樹中有______個葉子結(jié)點。
36.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于【】。
37.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的______性來實現(xiàn)的。
38.函數(shù)voidfun(float*sn,intn)的功能是:根據(jù)以下公式計算s,計算結(jié)果通過形參指針sn傳回;n通過形參傳入,n的值大于或等于0。請?zhí)羁铡?/p>
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti;
for(i=0;i<=n;i++)
{f=【】*f;
w=f/(2*i+1);
s+=w;
}
【】=s;
}
39.面向?qū)ο蟮哪P椭?,最基本的概念是對象和______。
40.下列程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d\n",a-b?a-b:a+b);
}
三、1.選擇題(20題)41.下列敘述中正確的是()。
A.C程序由函數(shù)組成
B.C程序由主函數(shù)構(gòu)成
C.C程序由函數(shù)和過程構(gòu)成
D.在C程序中無論是整數(shù)還是實數(shù),都可以正確無誤的表示出來
42.有以下程序main(){inta=i,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",B);}程序運行后的輸出結(jié)果是
A.3B.4C.5D.6
43.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘中正確的是______。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
44.以下有四組用戶標識符,其中合法的一組是()
A.For-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
45.若有下面的程序段:chars[]="china";char*p;p=s;則下列敘述正確的是
A.s和p完全相同
B.數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等
C.s數(shù)組長度和p所指向的字符串長度相等
D.*p與s[0]相等
46.有以下程序:main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);}程序運行后的輸出結(jié)果是()。
A.3B.2C.1D.0
47.下列程序是用來判斷數(shù)組中特定元素的位置所在。如果輸入如下整數(shù):876675896101301401980431451777#include<conio.h>#include<stdio.h>intfun(int*s,intt,int*k){inti;*k=0;for(i=0;i<t;i++)if(s[*k]<s[i])*k=i;returns[*k];}main(){inta[10]={876,675,896,101,301,401,980,431,45l,777},k;clrscr();fun(a,10,&k);printf("%d,%d\n",k,a[k]);}則輸出結(jié)果為
A.7,431B.6C.980D.6,980
48.與數(shù)學(xué)式子應(yīng)的C語言表達式是
A.3*xn/(2*x-1)
B.3*x**n/(2*x-1)
C.3*pow(x,n)*(1/(2*x-1))
D.3*pow(n,x)/(2*x-1)
49.以下不正確的定義語句是()。
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={O,1,3,5,7,9};
C.charc1[]={'1','2','3','4','5'};
D.charc2[]={'\x10','\xa','\x8'};
50.有以下程序main(){chara='a',b;printf("%c,",++A);printf("%c\n"。b=a++);}程序運行后的輸出結(jié)果是
A.b,bB.b,cC.a,bD.a,c
51.下列可用于C語言用戶標識符的一組是
A.void,define,WORD
B.a3_b3,_123,Car
C.For,-abc,IFCase
D.2a,DO,sizeof
52.下面結(jié)構(gòu)體的定義語句中,錯誤的是()。
A.structord{intx;inty;intz;};structorda;
B.structord{intx;inty;intz;};orda;
C.structord{intx;inty;intz;}a;
D.struct{intx;inty;intz;}a;
53.有如下程序main(){inti,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}該程序的執(zhí)行結(jié)果是______。
A.6B.3C.死循環(huán)D.0
54.一個C程序中______。
A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
D.main函數(shù)必須出現(xiàn)在固定位置
55.fgets(str,n,fp)函數(shù)從文件中讀入一個字符串,以下正確的敘述是()
A.字符串讀入后不會自動加入'\0'
B.fp是file類型的指針
C.fgets函數(shù)從文件中最多讀入n-1個字符
D.fgets函數(shù)從文件中最多讀入n個字符
56.當說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的內(nèi)存是()。
A.各成員所需要內(nèi)存量的總和
B.結(jié)構(gòu)中第一個成員所需的內(nèi)存量
C.成員中占內(nèi)存最大者所需的容量
D.結(jié)構(gòu)中最后一個成員所需要的內(nèi)存量
57.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性的是()。
A.線性表B.隊列C.樹D.棧
58.關(guān)于return語句,正確的說法是______。
A.在主函數(shù)和其他函數(shù)中均可出現(xiàn)
B.必須在每個函數(shù)中出現(xiàn)
C.可以在同一個函數(shù)中出現(xiàn)多次
D.只能在除主函數(shù)之外的函數(shù)中出現(xiàn)一次
59.數(shù)據(jù)庫系統(tǒng)的核心是()A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫
60.請讀程序片段:charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));上面程序片段的輸出結(jié)果
A.68B.0C.字符'D'的地址D.不確定的值
四、選擇題(20題)61.以下敘述中正確的是(
)。A.C語言中的全部數(shù)據(jù)類型都是基本類型B.C語言中的全部數(shù)據(jù)類型都是構(gòu)造類型C.C語言中的數(shù)據(jù)類型只有兩種,即基本類型和構(gòu)造類型D.以上都不對
62.若有定義語句:doublea,*p=&a;,以下敘述中錯誤的是()。A.定義語句中的*號是一個間址運算符
B.定義語句中的*號是一個說明符
C.定義語句中的p只能存放double類型變量的地址
D.定義語句中,*p=&a把變量a的地址作為初值賦給指針變量P
63.
64.有如下程序:
main()
{intx=1,a=0,b=0;
switch(x)
{
case0:b++;
casel:a++;
case2:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
該程序的輸出結(jié)果是()。
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
65.
66.程序運行后的輸出結(jié)果是()。A.7B.0C.3D.8
67.以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是______。
A.隊列B.線性表C.二叉樹D.棧
68.若要用函數(shù)fopen打開一個新的二進制文件,該文件要既能讀也能寫,則應(yīng)以()方式打開文件。
A."wb"B."wb+"C."rb+"D."rb"
69.若有下面的程序段
#include"stdio.h"
main()
{inti=6;
while(i--)
printf("%d",--i);
printf("\n");
}
那么程序的輸出結(jié)果為
A.531B.420
C.654321D.死循環(huán)
70.下列程序的輸出結(jié)果是
intb=2;
intfunc(int*a)
{b+=*a;return(b);}
main()
{inta=2,res=2;
res+=func(&a);
printf("%d\n",res);
}
A.2
B.4C.6
D.8
71.
以下程序的輸出結(jié)果是()。
unionmyun
{struct
{intx,y,z;)u;
intk:
}a;
main
{a.u.x=4;a.u.y=5;a.u.z=6;
k=0;
printf(%d\n",a.u.x);
}
A.4B.5C.6D.0
72.有以下程序main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運行后的輸出結(jié)果是______。
A.22B.76C.72D.62
73.
74.以下敘述中錯誤的是()。
A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間
C.全局變量的生存期是整個程序的運行期間
D.靜態(tài)局部變量的初值是在編譯時賦予的,在程序執(zhí)行期間不再賦予初值
75.函數(shù)fseek的正確調(diào)用形式是()。
A.fseek(位移量,起始點,文件類型指針);
B.fseek(文件類型指針,位移量,起始點);
C.fseek(文件類型指針,起始點,位移量);
D.fseek(起始點,位移量,文件類型指針);
76.有以下程序段
#include<stdio.h>
voidfun(char*fname,char*st)
{FILE*myf;
inti;
myf=fopen(fname,"w");
for(i=0;i<strlen(st);i++)fputc(st[i],myf);
fclose(myf);
}
main()
{fun("test.t","newworld");
fun("test.t","hello,");}
程序執(zhí)行后,文件test.t中的內(nèi)容是A.A.hello,
B.newworldhello,
C.newworld
D.hello,rld
77.
以下程序的輸出結(jié)果是()。
intf(intA)
{returna%2;}
main
{ints[8]={1,3,5,2,4,6},i,d=0;
for(i=0;f(s[8]);i++)d+=s[i];
printf("%d\n",d);
}
A.9B.11C.19D.21
78.在下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是()。
A.外模式B.內(nèi)模式C.概念模式D.邏輯模式
79.
80.以下敘述中錯誤的是()。
A.getehar函數(shù)用于從磁盤文件讀入字符
B.gets匿數(shù)用于從終端讀入字符串
C.取ns函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:對M名學(xué)生的學(xué)習(xí)成績,按從低到高的順序找出m(m≤10)名學(xué)生來,并將這些學(xué)生數(shù)據(jù)存放在一個動態(tài)分配的連續(xù)存儲區(qū)中,此存儲區(qū)的首地址作為函數(shù)值返回。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù).不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計題(1題)82.編寫函數(shù)fun,其功能是:實現(xiàn)兩個字符串的連接(不要使用庫函數(shù)strcat),即把p2所指的字符串連接到
pl所指的字符串的后面。
例如,分別輸入下面兩個字符串:
程序輸出:
注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
參考答案
1.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf(“%c%c\\n”,c5,c6)輸出45。
2.B所謂常量,是指在程序運行的過程中,其值不能被改變的量。在C語言中,有整型常量、實型常量、字符常量和字符串常量等類型。選項A是字符串,需要使用雙引號;選項C不是合法的常量形式;選項D為實型常量中的指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù)。故本題答案為B選項。
3.D解析:該函數(shù)用來使兩個字符串連接成為一個字符串。strcat(str1,str2)將str2中的字符連接到str1的字符后面,并在最后加一個“\\0”。連接后新的字符串存放在strl中。注意:用于字符串處理的函數(shù)。
4.C解析:這是一個逗號表達式,它的值應(yīng)為表達式y(tǒng)=x+3/2的值,而前一個表達式已給x賦值1,在沒有進行類型轉(zhuǎn)換的情況下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。
5.C解析:程序首先定義了兩個文件類型的指針fp1、fp2。為讀打開文件filel,并讓指針fp1指向該文件;為寫打開文件file2,并讓指針fp2指向該文件。循環(huán)執(zhí)行從文件file1中讀取一個字符,輸出到文件file2中,直到文件file1結(jié)束。因此程序的功能是將文件file1中的內(nèi)容復(fù)制到文件file2中。
6.B第一次執(zhí)行外循環(huán)i的值為1,滿足條件,判斷第一次內(nèi)循環(huán),j的值為3,不滿足條件,跳出內(nèi)循環(huán)。第二次執(zhí)行外循環(huán)i的值為2,同理也不滿足內(nèi)循環(huán)條件,跳出內(nèi)循環(huán)。第三次執(zhí)行外循環(huán)i的值為3,此時進入內(nèi)循環(huán)判斷條件時,條件成立,執(zhí)行m=m%j,m的值為1,跳出內(nèi)循環(huán),跳出外循環(huán)打印m的值。
7.C調(diào)用函數(shù)fun(7)時,由于x的值為7,執(zhí)行語句“p=x-fun(x-2);”,相當于執(zhí)行p=7-fun(5);\r\n調(diào)用函數(shù)fun(5)時,由于x的值為5,執(zhí)行語句“p=x-fun(x-2);”,相當于執(zhí)行p=7-fun(3);\r\n調(diào)用函數(shù)fun(3)時,由于x的值為3,執(zhí)行語句“p=x-fun(x-2);”,相當于執(zhí)行p=7-fun(1);\r\n調(diào)用函數(shù)fun(1)時,由于X的值為1,執(zhí)行語句“return(3);”,函數(shù)的返回值為3。\r\n因此函數(shù)調(diào)用fun(7)等價于7-(5-fun(3)),即7-(5-(3-fun(1))),即7-(5-(3-3)),所以函數(shù)fun(7)的返回值為2。答案為C。
8.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計算機中的存儲方式。數(shù)據(jù)的存儲結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計算機存儲器里的實現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項A的說法是錯誤的。
數(shù)據(jù)庫可以看成是長期存儲在計算機內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點。不同的用戶可以使用同一個數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標是要解決數(shù)據(jù)的共享問題。因此,選項B的說法是正確的。
數(shù)據(jù)庫設(shè)計是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計一個結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計,也就是設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計,即設(shè)計基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項C的說法是錯誤的。
數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項D的說法是正確的。因此,本題的正確答案是選項A。
9.D
10.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf('%c%c\\n',c5,c6)輸出45。
11.D程序中S1和S2都是宏定義。S1(a+b)宏展開后的表達式為4*a+b+4*(a+b),即4*1+2+4*(1+2),結(jié)果為18;S2(a,b)宏展開后的表達式為4*(a)*(b)+b*a,即4*(1)*(2)+2*1,結(jié)果為10;S1(3)宏展開后的表達式為4*3+4*(3),結(jié)果為24;32(3+a,b+3)宏展開后的表達式為4*(3+a)*(b+3)+b+3*3+a,即4*(3+1)*(2+3)+2+3*3+1,結(jié)果為92。最終輸出:18,34,92。故本題答案為D選項。
12.B
13.B
14.A解析:在C語言中,應(yīng)當在定義函數(shù)時指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認按整型處理。在定義函數(shù)時對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達式類型一致。如果函數(shù)值的類型和return語句中的表達式類型不一致,則以函數(shù)值的類型為準,由系統(tǒng)自動進行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。
15.C解析:在C語言中,除字符數(shù)組外,一個數(shù)組不能通過數(shù)組名對數(shù)姐進行整體引用,因此選項A是對的。數(shù)組名中存放的是一個地址常量,它代表整個數(shù)組的首地址,因此選項B是對的。C語言程序在運行過程中,系統(tǒng)不自動檢驗數(shù)組元素的下標是否越界,因此選項C是錯誤的。C語官規(guī)定可以通過賦初值來定義數(shù)組的大小,這時數(shù)組說明符的一對方括號中可以不指定數(shù)組的大小,因此選項D也是正確的。所以,4個選項中選項C符合題意。
16.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次。
17.A解析:對線性表進行二分法檢索,要求線性表是按順序方式存儲的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
18.C解析:靜態(tài)局部變量在編譯時賦初值,即只賦韌值一次,在程序運行時它已有初值。以后每次調(diào)用時不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時的值,而對自動變量賦初值,不是在編譯時進行的,而在函數(shù)調(diào)用時進行,每調(diào)用一次函數(shù)重新給一次初值,相當于執(zhí)行一次賦值語句。本題在程序開頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第一次調(diào)用函數(shù)fun時,d初值為5,p由主函數(shù)傳遞過來的值為1,則d=d+p=5+1=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。
19.A解析:本題考查'%'運算符的使用。運算符'%'要求兩個運算對象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。本題中表達式ao%=(b%2)等價于a=a%o(b%2)=5%(7%2)=5%1=0。
20.B
21.n-1
22.00解析:在賦值運算中。如果表達式中變量和常量的數(shù)據(jù)類型不一致就會自動進行類型轉(zhuǎn)換。系統(tǒng)會計算1.0/c2,由于1.0是實型,所以均先轉(zhuǎn)化為雙精度型0.500000,再和c1轉(zhuǎn)化后的雙精度數(shù)相乘得0.500000。但其要賦值給整型變量c3,故要進行強制轉(zhuǎn)換,c3的值為0。
23.11解析:本題考查的是基本賦值運算符和賦值表達式。a-=(b-5)等價于a=a-(b-5)=4,c=a=4;a%3=1,c=(a%3)+(b=1)=2,其中b的值被b=1確定為1。
24.完整性控制完整性控制
25.對象對象解析:類描述的是具有相似性質(zhì)的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質(zhì),它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
26.PERPER解析:本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個結(jié)構(gòu)體類型,此時,也可以用PER來定義變量。
27.n1=%d\nn2=%dn1=%d\\nn2=%d解析:根據(jù)輸出結(jié)果,可以確定“格式控制”為n1=%d\\nn2=%d,其中,“n1=”和“n2=”是按原樣輸出的字符,“%d”是按十進制整數(shù)輸出,“\\n”是轉(zhuǎn)義字符,用于輸出回車換行。
28.3
29.3535解析:在主函數(shù)中通過定義和賦初值使p和q分別指向了x和y,執(zhí)行函數(shù)調(diào)用“swap(p,q)”,把p和q中的地址值傳給了形參指針.變量a和b,a和b分別指向了實參x和y。在函數(shù)swap()中交換了指針變量a和b的值,并沒有交換a和b指向的實參的值,所以函數(shù)調(diào)用返回后x和y依舊是原來的值。
30.黑箱法黑箱法
31.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
32.x1=-1.00;x2=-2.00
33.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:本題考核的知識點是malloc()函數(shù).該函數(shù)的調(diào)用格式是“malloc(n)”,作用是申請n個字符的存儲單元,并返回該存儲區(qū)的首地址,實際調(diào)用的時候可在前面加上“(類型說明符*)”,以轉(zhuǎn)換成需要的類型的地址.所以在此空格處應(yīng)該填寫3*sizeof(double)或size(double)*3或其他等價的表達式。
34.字符串的比較strcmp函數(shù)的原型是intstrcmp(char*s1,char*s2);功能是對s1和s2所指字符串進行比較,若s1<s2返回負數(shù),若s1==s2返回0,若s1>s2返回正數(shù)。
35.1919解析:二叉樹具有如下性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。根據(jù)題意,度為2的節(jié)點為18個,那么,葉子結(jié)點就應(yīng)當是19個。
36.存儲結(jié)構(gòu)
37.封裝封裝
38.-1*sn-1*sn解析:根據(jù)公式可知,第一處應(yīng)填-1;由于計算結(jié)果要通過形參指針sn傳回,所以第二處應(yīng)填*sn。
39.類類
40.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1;②(表達式1,表達式2)形式的結(jié)果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
41.A解析:本題涉及C語言最基本的兩個知識點:①C程序是由函數(shù)構(gòu)成的,有且僅有一個主函數(shù),也可以有其他的函數(shù);②整數(shù)在允許的范圍內(nèi)可以準確無誤的表示出來,但計算機的存儲能力有限,不能表示無限精度的實數(shù)。
42.B解析:在一個循環(huán)體中,若執(zhí)行到break則跳出循環(huán)體,執(zhí)行循環(huán)體后面第一條語句;若執(zhí)行到continue則開始下一次循環(huán)體的執(zhí)行。本題中a的初始值為1,在循環(huán)體中首先判斷a,如果>=8就用break跳出循環(huán),接下來的判斷語句a%2==1,是判斷a除以2的余數(shù)是否為1,即a是否為奇數(shù),是的話給a累加一個5,然后用continue開始下一次循環(huán).若兩個條件都不滿足就讓a自減一個3.因此第1次循環(huán)開始a為1不大于8,且是奇數(shù),所以a被累加5開始下一次循環(huán);第2次循環(huán)開始a為6不大于8,不是奇數(shù),所以a被減去3;第3次循環(huán)開始a為3不大于8,是奇數(shù),所以a被加上一個5;第4次開始a為8,滿足第一個條件跳出循環(huán)。b在第1次循環(huán)時等于1,以后每次累加1,所以最后輸出為4,選項B正確.
43.A解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達的今天,數(shù)據(jù)庫與網(wǎng)絡(luò)的結(jié)合擴大了數(shù)據(jù)關(guān)系的應(yīng)用范圍。數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值,而數(shù)據(jù)的不一致性指的是同一個數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。
44.C
45.D解析:字符型指針變量p中存放的是'china'的首地址,所以選項A)和B)錯誤。e數(shù)組長度為6,而p所指向的字符串長度為5,二者不相等,排除選項C)。
46.D解析:位與運算符“&”,按二進位進行“與”運算,如果兩個相應(yīng)的二進制位都為1,則該位的結(jié)果值為1,否則為0;取反運算符“~”,用來對一個二進制按位取反,即將0變1,1變0。在prinf()函數(shù)的表達式中,“&”前面表達式的值為1(3/2=1)表示為二進制為00000001,而按位取反運算符“~”的優(yōu)先級高于按位與運算符“&”,先計算“&”后面的取反運算符“~”。z的二進制表示為00000001,取反后為11111110,最后進行“&”,即“00000001&11111110”可知結(jié)果為00000000,故最后的值為0。
47.D解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運算。此外,一開始應(yīng)知道*k的值為數(shù)組中的某一下標值,即*k=0,本函數(shù)的功能是找出數(shù)組中的最大元素的位置及最大元素的值。
48.C解析:在該題中,x的n次方應(yīng)該調(diào)用函數(shù)pow(x,n)計算,pow(x,n)的參數(shù)寫反了。
49.B解析:選項B中初值列表中的初值個數(shù)超過了數(shù)組包含的元素的個數(shù)。
50.A解析:程序中的第一個輸出語句輸出表達式++a的值,該++a是在使用a之前,先使a的值加1,即為a加1為字符b,此時a的值為b,所以第一個輸出語句輸出的值為b,第二個輸出語句中輸出的b的值,這時b的值為表達式a++的值,a++是在使用a之后(此時a的值為b,所以賦給b的值為B),使a的值加一因此第二個輸出的值也為b.所以,4個選項中選項A符合題意。
51.B解析:C語言規(guī)定標識符只能由字母、數(shù)字和下畫線3種字符組成,且第一個字符必須為字母或下畫線,排除選項C)和D);C語言中還規(guī)定標識符不能為C語言的關(guān)鍵字,而選項A)中void為關(guān)鍵字,故排除選項A)。
52.B
53.C解析:在循環(huán)過程中,i的值一直沒有被改變,所以這是一個死循環(huán)。
54.B解析:本題主要考查main函數(shù)的基本知識。main函數(shù)可以出現(xiàn)在C程序的任何地方。
55.C
56.A解析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員分別使用不同的內(nèi)存空間,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和,結(jié)構(gòu)中每個成員相互獨立。
57.C解析:線性結(jié)構(gòu),是指數(shù)據(jù)元素只有一個直接前件元素和直接后件元素。線性表是線性結(jié)構(gòu)。棧和隊列是指對插入和刪除操作有特殊要求的線性表,樹是非線性結(jié)構(gòu)。
58.C
59.B數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心。DBMS是負責(zé)數(shù)據(jù)庫的建立、使用和維護的軟件。DBMS建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過DBMS。另外,DBMS還承擔(dān)著數(shù)據(jù)庫的安全保護工作,按照DBA所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
60.B
61.D在C語言中,數(shù)據(jù)類型可分為:基本數(shù)據(jù)類型,構(gòu)造數(shù)據(jù)類型,指針類型,空類型四大類
62.A在變量定義doublea,*p:&a;中,*號是一個指針運算符,而非間址運算符,因此A)錯誤。
63.A
64.A\n當X為1時,執(zhí)行case1,a自加等于1,因為case1后沒有break,接著執(zhí)行case2,此時a的值為2,b自加為1,故選擇A選項。
\n
65.D
66.C題意統(tǒng)計字符s中阿拉伯數(shù)字的個數(shù)。chars[]=’012xy\08s34f4w2’;元素是字符型?!?=48;而’\0’=0;因此可以計算出’、0’之前阿拉伯數(shù)字的個數(shù),由字符串s可知,有3個阿拉伯數(shù)字。答案為C選項。
67.C解析:線性表、棧和隊列所表達和處理的數(shù)據(jù)以線性結(jié)構(gòu)為組織形式。棧是一種特殊的線性表,它只能在固定的一端進行插入和刪除操作,又稱后進先出表(LastInFirstOut);隊列是插入在一端進行,刪除在另一端進行的線性表,又稱先進先出表(FirstInFirstOut)。
68.B本題考查文件使用方式標識符。方式“wb”為輸出打開一個二進制文件;方式“wb+”為讀寫建立一個新的二進制文件;方式“rb+”為讀寫打開一個二進制文件;方式“rb”為輸入打開一個二進制文件。
69.B題目給出的程序主要結(jié)構(gòu)是while循環(huán)。自減運算符“--”在題目中出現(xiàn)了兩次,一次是在while語句的判別表達式中,出現(xiàn)的形式為i--,即先利用變量i的值進行判別,再執(zhí)行i-1操作。另一次是在輸出函數(shù)printf中,出現(xiàn)的形式為--i,先執(zhí)行i-1操作,再將結(jié)果進行輸出。程序初始時,i=6,第一次循環(huán)時,因為i滿足while的判別條件,故執(zhí)行while內(nèi)部的語句,并進行i-1操作,i=5。執(zhí)行到printf語句時,先進行i-1操作,再將結(jié)果輸出,得到i=4,這時i的值依然滿足while循環(huán)條件,故可以執(zhí)行下一次循環(huán),過程與第一次循環(huán)類似。以此類推,直到while循環(huán)終止,最終程序輸出的結(jié)果為420。
70.C在本題程序中,首先定義了一個全局整型變量b,并給其賦初值為2,然后定義一個函數(shù)func,該函數(shù)帶有一個指針類型的形參,在函數(shù)體中,通過形參的值來改變?nèi)肿兞縝的值,b+=*a等價于b=b+(*a),然后通過return語句返回計算后的變量b的結(jié)果。
在主函數(shù)中,定義兩個整型變量a和res,并都賦初值為2,然后調(diào)用func函數(shù),傳遞的形參是變量a的地址,即使形參指針變量a指向?qū)崊⒆兞縜的值,通過b+=*a計算,可以得到b=2+2=4。由于變量b是一個全局變量,作用域是整個程序,而非函數(shù)func,因此,在主函數(shù)中變量res的最后結(jié)果為2+4=6,程序最后的輸出結(jié)果為6。
71.D因為a是結(jié)構(gòu)體變量,最后一次輸入的值為結(jié)構(gòu)體中的值,即a中的任何一個值都為0。
72.C題目中需要求出程序的輸出值i,j,其中i的值由sizeof決定,j的值由strl
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年遼寧輕工職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 2025年長春財經(jīng)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(必刷)
- 2026年嘉興職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫附答案解析
- 車間工人培訓(xùn)制度
- 教育培訓(xùn)制度細則
- 保姆用餐規(guī)范制度
- 成人培訓(xùn)中心管理制度
- 復(fù)崗護理人員培訓(xùn)制度
- 教師培訓(xùn)費使用制度
- 駕駛員安全培訓(xùn)班制度
- 2025成人高考全國統(tǒng)一考試專升本英語試題及答案
- 代辦煙花爆竹經(jīng)營許可證協(xié)議合同
- 國企員工總額管理辦法
- 企業(yè)級AI大模型平臺落地框架
- 常見傳染病的預(yù)防與護理
- TD/T 1036-2013土地復(fù)墾質(zhì)量控制標準
- 蘇教版六年級數(shù)學(xué)上冊全冊知識點歸納(全梳理)
- 車位包銷合同協(xié)議模板
- 病歷書寫規(guī)范版2025
- 泄漏管理培訓(xùn)課件
評論
0/150
提交評論