




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022-2023年海南省三亞市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下不能定義為用戶標(biāo)識符的是()。
A.scanfB.VoidC.3comD.int
2.
3.
4.設(shè)有序表中的元素為(13,18,24,35,47,50,62),則在其中利用二分法查找值為24的元素需要經(jīng)過()次比較容易
A.1B.2C.3D.4
5.下面不正確的字符賦值或賦初值的方式為()。
A.chars[10]=”hello!”
B.chars[10]={‘h’,‘e’,‘l’,‘l’,‘o’,‘!’}
C.chars[10];s=”hello”
D.char[]=”hello!”
6.x>0&&x<=10的相反表達(dá)式為()。
A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>10
7.有以下函數(shù):
此函數(shù)的功能是()。A.比較p和q所指字符串的大小
B.計(jì)算p和q所指字符串的長度差
C.將q所指字符串連接到P所指字符串后面
D.將q所指字符串復(fù)制到p所指字符串中
8.設(shè)有6個(gè)結(jié)點(diǎn)的無向圖,該圖至少應(yīng)有()條邊才能確保是一個(gè)連通圖。
A.5B.6C.7D.8
9.
10.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過程中可以出棧,則下列不可能的一個(gè)出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
11.下列敘述中正確的是()。
A.順序存儲結(jié)構(gòu)的存儲一定是連續(xù)的,鏈?zhǔn)酱鎯Y(jié)構(gòu)的存儲空間不一定是連續(xù)的
B.順序存儲結(jié)構(gòu)只針對線性結(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)只針對非線性結(jié)構(gòu)
C.順序存儲結(jié)構(gòu)能存儲有序表,鏈?zhǔn)酱鎯Y(jié)構(gòu)不能存儲有序表
D.鏈?zhǔn)酱鎯Y(jié)構(gòu)比順序存儲結(jié)構(gòu)節(jié)省存儲空間
12.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計(jì)劃B.軟件詳細(xì)設(shè)計(jì)說明書C.用戶手冊D.軟件需求規(guī)格說明書
13.請選出可用作C語言用戶標(biāo)識符的一組()。
A.voiddefineWORD
B.a3_b3_123IF
C.For_abccase
D.2aDOsizeof
14.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
15.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
16.有定義語句intb;charc[10];,則正確的輸入語句是______。A.scallf("%d%s",&b,&c);
B.scallf("%d%s",&b,c);
C.scanf("%d%s",b,c)
D.scanf("%d%s",b,&c);
17.下列敘述中,不正確的是
A.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題
B.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
C.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持
18.結(jié)構(gòu)化程序所規(guī)定的三種最基本控制結(jié)構(gòu)是A.A.輸入、處理、輸出
B.樹形、網(wǎng)形、環(huán)形
C.順序、選擇、循環(huán)
D.主程序、子程序、函數(shù)
19.如下程序的時(shí)間復(fù)雜度為(其中m>1,e>0)A.logmB.m的平方C.m的1/2方D.m的1/3方
20.下面關(guān)于線性表的敘述中,錯(cuò)誤的是()。
A.線性表采用順序存儲,必須占用一片連續(xù)的存儲單元
B.線性表采用順序存儲,便于進(jìn)行插入和刪除操作
C.線性表采用鏈接存儲,不必占用一片連續(xù)的存儲單元
D.線性表采用鏈接存儲,便于插入和刪除操作
二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
22.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
inta=5;
fun(intb)
{staticinta=10;
a+=b++;
printf("%d",a);
}
main()
{intc=20;
fun(c);
a+=c++;
printf("%d\n",a);
}
23.設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
24.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。
25.()是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。
26.若有如下程序:
voidsub()
{staticintx=6;
x/=2;printf("%d",x);}
main()
{intm;
for(m=0;m<=2;m++)sub();}
則程序運(yùn)行后的輸出結(jié)果是【】。
27.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu),循環(huán)隊(duì)列屬于______結(jié)構(gòu)。
28.最簡單的交換排序方法是______。
29.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及列數(shù)據(jù)的操作運(yùn)算。
30.以下程序是求矩陣a,b的和,結(jié)果存入矩陣c中,并按矩陣形式輸出,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta[3][4]={13,-2,7,5},{1,0,4,-3},{6,8,0,2}};
intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}};
inti,j,c[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
c[i][j]=【】;
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%3d",c[i][j]);
printf("\n");}}
31.在數(shù)據(jù)結(jié)構(gòu)中,順序存儲結(jié)構(gòu)的數(shù)據(jù)元素所占的存儲空間是______的。
32.對于長度為n的順序存儲的線性表,當(dāng)隨機(jī)插入和刪除—個(gè)元素時(shí),需平均移動(dòng)元素的個(gè)數(shù)為【】。
33.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
34.以下程序的功能是進(jìn)行位運(yùn)算main(){unsignedchara,b;a=7^3;b=~4&3;pfintf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是
35.以下函數(shù)fun的功能是返回str所指字符中中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為“Hello!”,c中的字符為'e',則函數(shù)返回字符串"ello!"的首地址。若str所指字符串為空中或不包含c中的字符,則函數(shù)返回NULL。請?zhí)羁铡?/p>
char*fun(char*str,charc)
{intn=0;char*p=str;
if(p!=NULL)
while(P[n]!=c&&p[n]!='\0')n++;
if(p[n]=='\0')retumNULL;
return(【】);
}
36.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
37.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanguage",t;
inti,j,k;
k=strlen(a);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<=k;j+=2;)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
printf("\n");
}
38.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。
39.函數(shù)調(diào)用語句:“fsets(buf,n,fp);”從fp指向的文件中讀入n個(gè)字符放到buf字符數(shù)組中,函數(shù)返回值為______。
40.常見的拓?fù)浣Y(jié)構(gòu)有【】。
三、1.選擇題(20題)41.有以下語句,則對a數(shù)組元素的引用不正確的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A.a[p-B.C.*(&a[i])D.p[i]*(*(a+i))
42.以下敘述不正確的是
A.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成
B.一個(gè)C源程序必須包含一個(gè)main函數(shù)
C.C程序的基本組成單位是函數(shù)
D.在C程序中,注釋說明只能位于一條語句的后面
43.下列選項(xiàng)中,不能作為合法常最的是()。
A.1.2340000B.1.234.4C.1.2340000D.1.234
44.設(shè)有以下定義和語句:inta[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];則.(P[0]+1)所代表的數(shù)組元素是()。
A.a[0][1]B.a[1][0]C.s[1][1]D.a[1][2]
45.有以下程序main()intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)for{j=4;j<7-i;j++)if{x[j]>x[j+1]){k=x[j];x[j]=x[j+l];x[j+l]=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n');}程序運(yùn)行后的輸出結(jié)果是
A.75310246B.1234567C.76310462D.13570246
46.設(shè)樹T的度為4,其中度為1,2,3,4的結(jié)點(diǎn)個(gè)數(shù)分別為4,2,1,1,則T中的葉子結(jié)點(diǎn)數(shù)為()。
A.5B.6C.7D.8
47.以下程序運(yùn)行時(shí)若要正確輸出函數(shù)的入口地址和輸入數(shù)的絕對值,應(yīng)在程序空缺處填入的正確選項(xiàng)是()。abs(intx){if(x>=0)returnx:elsereturn-x;}main(){inty,z,(*p)(intx)=abs;scanf("%d",&y);z=(*p)(y);______;}
A.printf("%d%d\n",&p,z)
B.printf("%d%d\n",p,z)
C.printf("%d%d\n",*p,z)
D.Printf("%d%d\n",p,*z)
48.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法
A.對象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)
49.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
50.下列關(guān)于棧的描述中錯(cuò)誤的是()。A.棧是先進(jìn)后出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入與刪除操作中,不需要改變棧底指針
51.已知小寫字母a的ASCII碼為97,大寫字母A的ASCII碼為65,以下程序的結(jié)果是______。main(){unsignedinta=32,b=66;printf("%c\n",b|b);}
A.66B.98C.bD.B
52.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是
A.kk>=′A′&&kk<=′Z′
B.!(kk>=′A′||kk<=′Z′)
C.(kk+32)>=′a′&&(kk+32)<=′Z′
D.isalpha(kk)&&(kk<91)
53.以下程序的輸出結(jié)果是______。main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",p[i]);}
A.52B.51C.53D.97
54.設(shè)有以下語句:charstrl[]="string",str2[8],*str3,*str4="string";則_______不是對庫函數(shù)的正確調(diào)用。
A.strcpy(strl,"HELLO1");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4");
55.設(shè)有條件表達(dá)式:(EXP)?i++;j--,則以下表達(dá)式中(EXP)完全等價(jià)的是()。
A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)
56.單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為______。
A.外模式B.概念模式C.內(nèi)模式D.存儲模式
57.有以下程序main(){inta=15,b=21,m=0;switCh(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf("%d\n",m);程序運(yùn)行后的輸出結(jié)果是
A.1B.2C.3D.4
58.在下列字符序列中,不可用做C語言標(biāo)識符的是()
A.student___numB.classC.#88D.month___12
59.若有下列說明和語句,則對結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
60.以下程序執(zhí)行后sum的值是()main(){inti,sum;for(i;i<6;i++)sum+=i;printf("%d\n",sum);}
A.15B.14C.不確定D.0
四、選擇題(20題)61.(45)信息隱蔽的概念與下述哪一種概念直接相關(guān)()
A.軟件結(jié)構(gòu)定義
B.模塊獨(dú)立性
C.模塊類型劃分
D.模擬耦合度
62.下面程序段的運(yùn)行結(jié)果是()。
A.8B.12C.4D.7
63.
64.面下程序段的運(yùn)行結(jié)果是
charstr[]="ABC",*p=str;
printf("%d\n",*(p+3));
A.67B.0C.字符’C’的地址D.字符’C’
65.
66.非空循環(huán)鏈表所表示的數(shù)據(jù)結(jié)構(gòu)()。
A.有根結(jié)點(diǎn)也有葉子結(jié)點(diǎn)B.沒有根結(jié)點(diǎn)但有葉子結(jié)點(diǎn)C.有根結(jié)點(diǎn)但沒有葉子結(jié)點(diǎn)D.沒有根結(jié)點(diǎn)也沒有葉子結(jié)點(diǎn)
67.有以下程序:
voidmain()
{inta=1,b=2,m=0,n=0,k;
k=((n=b>a)+b)‖(m=a<b);
printf("%d,%d\n",k,m);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.0,0B.0,1C.1,0D.1,1
68.在一個(gè)C源程序文件中所定義的全局變量。其作用域?yàn)?)。A.由具體定義位置和extern說明來決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
69.
70.有以下程序
71.
72.將c語言的整數(shù)設(shè)為整數(shù)類1,則下面屬于類I實(shí)例的是()。
A.一103B.10E3C.10.3D.“0103”
73.
有以下程序:
#include<stdio.h>
voidfun(char*t,char*s)
{while(*t!=O)t++;
while((*t++=*s++)!=0);
}
main
{charss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);printf("%S,%s",ss,aa);
}
程序運(yùn)行結(jié)果是()。
A.accxyy,bbxxyy
B.ace,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
74.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.PrphsbnB.ProhsbnC.ProgsbnD.Program
75.
76.以下程序的輸出結(jié)果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);A.A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
77.
78.
79.設(shè)有以下語句:typedefstructTY{charC;inta{41;}CIN;
則下面敘述中正確的是()。
A.CIN是structTr類型的變量
B.TT是struct類型的變量
C.可以用,lr定義結(jié)構(gòu)體變量
D.可以用CIN定義結(jié)構(gòu)體變量
80.在數(shù)據(jù)庫設(shè)計(jì)的各階段中,負(fù)責(zé)將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的階段是
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將tt所指字符串中的小寫字母全部改為對應(yīng)的大寫字母,其他字符不變。
例如,若輸入“Ab,cD”,則輸出“AB,CD”。
請改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODIl.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計(jì)題(1題)82.某學(xué)生的記錄由學(xué)號、8門課程成績和平均分組成,學(xué)號和8門課程的成績已在主函數(shù)中給出,請編寫函數(shù),其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。例如,學(xué)生的成績是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。注意:部分源程序給出如下。請勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun部位中填入你編寫的若干語句。試題程序:#include<stdio.h>#defineN8typedefstruct{charnum[10];doubles[N];doubleave;}STREC;voldfun(STREC*a){}voidmainSTRECs={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};inti;fun(&s);printf("The%ssstudentdata:\n",s.num);for(i=0;i<N;i++)printf("%4.1fkn",s.s[i]);printf("\nknave=%7.3fkn",s.aVe);printf("\n");}
參考答案
1.D解析:標(biāo)識符是C語言中用來表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語句標(biāo)號等用途的字符序列。標(biāo)識符由1~32個(gè)字符組成,第一個(gè)字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識符不能與C關(guān)鍵字相同,并區(qū)分大小寫。選項(xiàng)D)錯(cuò)誤,因?yàn)閕nt是C語言中的關(guān)鍵字。
2.C
3.D
4.C
5.C
6.A
7.A函數(shù)fun接收兩個(gè)整型指針變量作為參數(shù),通過while循環(huán),比較p和q對應(yīng)位上的各個(gè)字符,如果字符相同,繼續(xù)向后比較;否則循環(huán)結(jié)束,返回第1次對應(yīng)不同字符的ASCII差值。所以函數(shù)fun是對p和q指向的字符串進(jìn)行比較,其大小是按第1個(gè)對應(yīng)位置上不同字符的ASCII值來比較的。本題答案為A選項(xiàng)。
8.A:在一個(gè)無向圖G中,若從頂點(diǎn)Vi到頂點(diǎn)Vj有路徑相連,則稱Vi和Vj是連通的。連通圖是指任意兩個(gè)結(jié)點(diǎn)之間都有一個(gè)路徑相連。6個(gè)節(jié)點(diǎn)的無向圖,至少要5個(gè)邊才能確保是任意兩個(gè)節(jié)點(diǎn)之間都有路徑相連。下圖是一種可能的連接方式:故本題選A。
9.C
10.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。
11.A解析:順序存儲結(jié)構(gòu)就是用一組地址連續(xù)的存儲單元依次存儲該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯Y(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲序號是不連續(xù)的,并且各結(jié)點(diǎn)在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲,鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰節(jié)約空間的說法,所以選項(xiàng)D不正確。
12.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個(gè)方面。所以選擇D。
13.B解析:C語言規(guī)定,標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個(gè)字符必須是字母或下劃線。A)中的void與C語言的關(guān)鍵字重名,不合法;C)中的case和C語言的關(guān)鍵字重名,不合法;D)中的2a是數(shù)字開頭,而且sizeof與C語言的關(guān)鍵字重名,不合法。
14.D解析:本題考查指向字符串指針的運(yùn)算方法。執(zhí)行p=s+1后,指針變量p就指向字符串中的第二個(gè)字符“B”,然后輸出字符串“BCD”并換行;下面繼續(xù)執(zhí)行循環(huán)語句,指針變量p指向下一個(gè)字符“C”,輸出字符串“CD”,最后一次循環(huán),p指向字符“D”,輸出字符串“D”。
15.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。
16.B解析:scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是地址,而不是變量名。對于變量,通過地址運(yùn)算符“&”求出內(nèi)存中的地址;對于數(shù)組c[10],數(shù)組名c即為數(shù)組在內(nèi)存中的地址。
17.B解析:B選項(xiàng)錯(cuò)誤,原因是,數(shù)據(jù)庫應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一個(gè)。
18.C解析:結(jié)構(gòu)化程序設(shè)計(jì)方法采用順序、選擇和循環(huán)三種基本程序控制結(jié)構(gòu)編寫程序,從而使程序具有好的結(jié)構(gòu)。
19.A
20.B
21.99解析:本題考查函數(shù)的綜合知識。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(dá)式轉(zhuǎn)換成所需類型。如:(double)a是將a轉(zhuǎn)換成double類型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
22.30253025解析:本題定義了一個(gè)fun函數(shù),其中有語句a+=b++,b先使用,后自增,所以a=a+b。主函數(shù)中的c=20帶入到fun函數(shù)中,a的值變?yōu)?0,執(zhí)行fun函數(shù)中的printf,輸出30(注意輸出函數(shù)中%d后有空格),函數(shù)調(diào)用結(jié)束,且返回main函數(shù),此時(shí)a=5,c=20,執(zhí)行a+=c++,即a=a+c,此時(shí)a值為25。
23.350350解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹的定義,在一棵完全二叉樹中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒有度為1的結(jié)點(diǎn)。本題中,完全二叉樹共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。
24.一對多(或1∶N)一對多(或1∶N)解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對一(1∶1)的聯(lián)系、一對多(1∶N)或多對一(N∶1)的聯(lián)系和多對多(N∶N)的聯(lián)系。
25.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性是指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。數(shù)據(jù)在磁盤上的數(shù)據(jù)庫中怎樣存儲是由DBMS管理的,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲改變時(shí)。應(yīng)用程序不用改變。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。
26.310
27.存儲或物理或存儲結(jié)構(gòu)或物理結(jié)構(gòu)存儲或物理或存儲結(jié)構(gòu)或物理結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間。供隊(duì)列循環(huán)使用??芍?,循環(huán)隊(duì)列應(yīng)當(dāng)是物理結(jié)構(gòu)。
28.冒泡排序冒泡排序解析:交換排序是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法。冒泡排序是一種最簡單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線性表變成有序。
29.存儲結(jié)構(gòu)存儲結(jié)構(gòu)解析:數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運(yùn)算。
30.a[i][j]+b[i][j]a[i][j]+b[i][j]解析:此題是雙重for循環(huán)結(jié)構(gòu)應(yīng)用在了二維數(shù)組中。外層for循環(huán)用來控制二維數(shù)組的行,內(nèi)層for循環(huán)控制二維數(shù)組的列。
31.連續(xù)連續(xù)解析:順序存儲結(jié)構(gòu)具有兩個(gè)特點(diǎn):1)數(shù)據(jù)元素所占空間是連續(xù)的;2)數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。
32.n/2n/2解析:刪除—個(gè)元素,平均移動(dòng)的元素個(gè)數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個(gè)元素,平均移動(dòng)元素個(gè)數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2:所以總體平均移動(dòng)元素個(gè)數(shù)為n/2。
33.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結(jié)果為35。
34.A
35.str+n或p+nstr+n或p+n解析:此題主要是將形參c中的字符與str中的字符相比較,返回以形參c中字符開頭的后續(xù)字符串,函數(shù)fun中的變量n用于記錄形參c中字符在str字符串中的位置,故返回的結(jié)果用str+n或p+n表示。
36.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
37.a[i]>a[j]a[i]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點(diǎn)是:由于題目只要求將下標(biāo)值為偶數(shù)的元素從小到大排序,所以內(nèi)外層for循環(huán)的條件變量變更條件都是+=2。最后通過條件a[i]>a[j]對元素大小進(jìn)行判斷并交換。
38.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
39.buf的首地址buf的首地址解析:考查fgets()函數(shù)的功能,fgets()函數(shù)用來從文件中讀入字符串。調(diào)用格式為:fgets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個(gè)int型變量。調(diào)用函數(shù)fgets()時(shí),最多能讀入n-1個(gè)字符,系統(tǒng)自動(dòng)在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。
40.星型、總線型和環(huán)型星型、總線型和環(huán)型
41.D解析:本題考查數(shù)組指針的應(yīng)用。選項(xiàng)D)第一層括號中為數(shù)組a中第i項(xiàng)元素的值,外面再加指針運(yùn)算符沒有意義。
42.D解析:本題考查C語言的基本基礎(chǔ)知識。在C程序中,注釋用符號“/*”開始,而以符號“*/”結(jié)束。程序的注釋可以放在程序的任何位置。通常將注釋放在程序的開始,以說明本程序的功能;或者放在程序的某個(gè)語句后面,以對此語句的功能進(jìn)行描述。無論將注釋放有何處,在程序進(jìn)行編譯時(shí),編譯程序不會(huì)處理注釋的內(nèi)容;且注釋內(nèi)容也不會(huì)出現(xiàn)在目標(biāo)程序中。
43.B
44.C解析:*p[3]是指針數(shù)組,它由3個(gè)指向整型數(shù)據(jù)的指針元素組成,p[0]=a[1]是將a數(shù)組第一行的首地址賦給第0個(gè)指針元素,p[0]+1表示a[1]+1即a[1][1]的地址,所以*(p[0]+1)表示a[1][1]。
45.A解析:主函數(shù)中定義了一個(gè)整型數(shù)組x,并初始化.接著執(zhí)行了一個(gè)二重for循環(huán),在該二重循環(huán)的作用是將數(shù)組的前4個(gè)元素按從大到小排序,接著用了一個(gè);重循環(huán)(也是冒泡算法)將數(shù)組的后4個(gè)元素按從小到大的順序排序,故最后依次輸出數(shù)組的個(gè)元素的值為75310246,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
46.D解析:根據(jù)給定的條件,在樹中,各結(jié)點(diǎn)的分支總數(shù)為:4×1+2×2+1×3+4×1=15:樹中的總結(jié)點(diǎn)數(shù)為:15(各結(jié)點(diǎn)的分支總數(shù))+1(根結(jié)點(diǎn))=16:非葉子結(jié)點(diǎn)總數(shù)為:4+2+1+1=8。因此,葉子結(jié)點(diǎn)數(shù)為16(總結(jié)點(diǎn)數(shù))-8(非葉子結(jié)點(diǎn)總數(shù))=8。因此,本題的正確答案為D。
47.B解析:可以使用函數(shù)指針來調(diào)用函數(shù)。調(diào)用形式為:(*指針變量)(實(shí)參表列)。注意:調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞。
48.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
49.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。
50.B棧是限定只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,它們的操作特點(diǎn)是先進(jìn)后出,因此具有記憶作用。??梢圆捎庙樞虼鎯?,也可以采用鏈?zhǔn)酱鎯Α?/p>
51.C解析:位運(yùn)算符“|”的作用是按位或,即兩個(gè)二進(jìn)制數(shù)的相應(yīng)位中只要一個(gè)為1,該位的結(jié)果值為1。最后以字符型輸出,98對應(yīng)的字符“b”。
52.B解析:C語言的字符以其ASCII碼的形式存在,所以要確定某個(gè)字符是大寫字母,只要確定它的ASCII碼在'A'和'Z'之間就可以了,選項(xiàng)A)和C)符合要求。函數(shù)isalpha用來確定一個(gè)字符是否為字母,大寫字母的ASCII碼值的范圍為65到90,所以如果一個(gè)字母的ASCII碼小于91,那么就能確定它是大寫字母。
53.C解析:題中*p=&x[1][1];是指將數(shù)組x的數(shù)組元素x[1][1]的地址賦值給指針變量p,使p指向x[1][1]這個(gè)數(shù)組元素,那么p[0]即為指針變量p當(dāng)前所指向的數(shù)組元素x[1][1]的值。
54.C解析:C語言中:strcpy(st1,st2);,其兩個(gè)參數(shù)均為字符指針或字符數(shù)組,選項(xiàng)C中的目的串指針str3沒有指向具體有效的存儲單元,故是錯(cuò)誤的調(diào)用。
55.B解析:條件表達(dá)式的形式為:“表達(dá)式1?表達(dá)式2:表達(dá)式3”。其含義為:當(dāng)“表達(dá)式1”的值為非零時(shí),求出“表達(dá)式2”的值,此時(shí)“表達(dá)式2”的值就是整個(gè)條件表達(dá)式的值;當(dāng)“表達(dá)式1”的值為零時(shí),求出“表達(dá)式3”的值,此時(shí)“表達(dá)式3”的值就是整個(gè)條件表達(dá)式的值。對于本題來說,當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語句i++;當(dāng)EXP等于0時(shí),執(zhí)行語句j--;這等同于條件表達(dá)式“(EXP!=0)?i++:i++;”。
56.A解析:選項(xiàng)A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;選項(xiàng)B)不正確,全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;選項(xiàng)C)不正確,物理存儲數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲方面的描述;選項(xiàng)D)不正確,存儲模式即為內(nèi)模式。
57.A解析:在switch語句中break語句的作用是退出分支語句,若沒有break語句則一直向下執(zhí)行。本題中首先計(jì)算switch后面括號里的表達(dá)式a%3,印15%3為0;執(zhí)行case0:后面的語句m++;m自加1,即m為1遇到break語句;然后跳出switch語句,所以最后輸出的m的值為1,所以選項(xiàng)A正確。
58.C
59.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問結(jié)構(gòu)體的成員,可以通過結(jié)構(gòu)變量訪問,即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。
60.C
61.B
62.C本題考查兩個(gè)知識點(diǎn):strlen函數(shù)的功能
63.D
64.B本題主要考查指向字符串的指針變量。在該題中,指針變量p指向的應(yīng)該是該字符串中的首地址,p+3指向的是字符串結(jié)束標(biāo)志’\\0’的地址,因而*(p+3)的值為0。
65.B
66.A在單鏈表的第一個(gè)結(jié)點(diǎn)前增加一個(gè)表頭結(jié)點(diǎn),隊(duì)頭指針指向表頭結(jié)點(diǎn),最后一個(gè)結(jié)點(diǎn)的指針域的值由NULL改為指向表頭結(jié)點(diǎn),這樣的鏈表稱為循環(huán)鏈表。循環(huán)鏈表是線性結(jié)構(gòu),有且只有一個(gè)根結(jié)點(diǎn),每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件。循環(huán)鏈表表頭結(jié)點(diǎn)為根結(jié)點(diǎn),鏈表的最后一個(gè)結(jié)點(diǎn)為葉子節(jié)點(diǎn),雖然它含有一個(gè)指向表頭結(jié)點(diǎn)的指針,但是表頭結(jié)點(diǎn)并不是它的一個(gè)后件。故選擇A選項(xiàng)。
67.C先計(jì)算b>a,b=2,a=1,所以n=1,1+b=3,不為0,所以或運(yùn)算結(jié)果為1,不計(jì)算右邊的表達(dá)式的值,所以m的值不變,k=1,m=0.
68.A全局變量的作用域是從聲明處到文件的結(jié)束。所以選擇A)
69.D
70.A本題考查的是二維數(shù)組的定義、賦初值和對二維數(shù)組元素的引用。在funfl函數(shù)中,首先將s[0][k]的值賦給m,然后通過for循環(huán),遍歷s[1][k]s[n-1][k]之中的數(shù),將遇到的比m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國激光雷達(dá)行業(yè)運(yùn)營狀況及投資前景預(yù)測報(bào)告
- 科技創(chuàng)新與電子信息工程的發(fā)展
- 電子貨幣與傳統(tǒng)金融的互補(bǔ)關(guān)系研究
- 2025-2030年中國桂圓市場運(yùn)行動(dòng)態(tài)及發(fā)展建議分析報(bào)告
- 2025-2030年中國方向盤行業(yè)前景調(diào)查及未來風(fēng)險(xiǎn)評估報(bào)告
- 2025-2030年中國掘進(jìn)機(jī)行業(yè)十三五規(guī)劃與發(fā)展趨勢分析報(bào)告
- 2025-2030年中國微型揚(yáng)聲器(受話器)行業(yè)發(fā)展?fàn)顩r與投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國學(xué)前教育行業(yè)十三五規(guī)劃及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國口腔醫(yī)療器械行業(yè)規(guī)模分析及發(fā)展建議研究報(bào)告
- 2025-2030年中國厭氧市場運(yùn)行現(xiàn)狀及發(fā)展前景預(yù)測報(bào)告
- 工程電磁場靜電場第講
- TBPMA 0009-2021 生活飲用水二次供水水箱(池)清洗消毒技術(shù)規(guī)范
- 《產(chǎn)業(yè)基礎(chǔ)創(chuàng)新發(fā)展目錄(2021年版)》(8.5發(fā)布)
- YY/T 0729.4-2009組織粘合劑粘接性能試驗(yàn)方法第4部分:傷口閉合強(qiáng)度
- GB/T 1040.3-2006塑料拉伸性能的測定第3部分:薄膜和薄片的試驗(yàn)條件
- GB 4706.20-2004家用和類似用途電器的安全滾筒式干衣機(jī)的特殊要求
- 血管“斑塊”的風(fēng)險(xiǎn)課件
- mks spectra介紹殘余氣體分析儀
- 中山大學(xué)抬頭信紙中山大學(xué)橫式便箋紙推薦信模板a
- 無形資產(chǎn)評估完整版課件
- 制冷系統(tǒng)方案的設(shè)計(jì)pptx課件
評論
0/150
提交評論