版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年山西省晉中市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.請(qǐng)讀程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若運(yùn)行時(shí)從鍵盤上輸入9876543210,則上面程序的輸出結(jié)果是______。
A.a=98,b=765,c=4321
B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000
D.a=98,b=765.0,c=4321.0
2.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“THIS\0”,*b=“OK\0\0”;printf(“%d,%d,%d,%d”,strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運(yùn)行后的輸出結(jié)果是()。
A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,4
3.
4.一個(gè)遞歸算法必須包括()。
A.遞歸部分B.終止條件和遞歸部分C.迭代部分D.終止條件和迭代部分
5.假設(shè)某算法的計(jì)算時(shí)間可用遞推關(guān)系式T(n)=2T(n/2)+n,T(1)=1表示,則該算法的時(shí)間復(fù)雜度為()
A.O(logn)B.O(n*logn)C.O(n)D.O(n^2)
6.設(shè)有定義“intm=1,n=2;”,則以下if語(yǔ)句中,編譯時(shí)會(huì)產(chǎn)生錯(cuò)誤信息的是()。
A.if(m>n)m--elsen--;
B.if(m=n){m++;n++;}
C.if(m<0&&n<0){}
D.if(m>0);elsem++;
7.數(shù)組A中,每個(gè)元素的長(zhǎng)度為4個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開始連續(xù)存放在存儲(chǔ)器內(nèi),該數(shù)組按行存放時(shí),元素A[8][5]的起始地址為()。
A.SA+292B.SA+296C.SA+300D.304
8.
9.下列程序的輸出結(jié)果是()。main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}
A.22B.76C.72D.62
10.若有以下程序段intm=0xabc,n=0xubc;m-=n;printf("%X\n",m);執(zhí)行后輸出結(jié)果是
A.0X0B.0x0C.0D.0XABC
11.
12.已知函數(shù)的調(diào)用形式為fread(buf,size,count,fp),參數(shù)buf的含義是
A.一個(gè)整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)
B.一個(gè)文件指針,指向要讀的文件
C.一個(gè)指針;指向要讀入數(shù)據(jù)的存放地址
D.一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)
13.有以下程序#include<stdio.h>intfun(intx;inty){if(x=y(tǒng))reurn(x);elsereturn((x+y)/2);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序運(yùn)行后的輸出結(jié)果是______。A.3B.6C.8D.12
14.在一個(gè)帶頭結(jié)點(diǎn)的單鏈表HL中,若要在第一個(gè)元素之前插入一個(gè)由指針p指向的結(jié)點(diǎn),應(yīng)該使用的語(yǔ)句為()
A.HL=p;p->next=HL;
B.p->next=HL;HL=p;
C.p->next=HL->next;HL->next=p;
D.p->next=HL;p=HL;
15.排序方法中,將整個(gè)無(wú)序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱______。
A.希爾排序B.冒泡排序C.插入排序D.選擇排序
16.以下敘述中錯(cuò)誤的是()。
A.c語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
B.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題
C.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
D.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
17.棧通常采用的兩種存儲(chǔ)結(jié)構(gòu)是A.A.線性存儲(chǔ)結(jié)構(gòu)和鏈表存儲(chǔ)結(jié)構(gòu)
B.散列方式和索引方式
C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組
D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)
18.已知字母A的ASCII碼為十進(jìn)制的65,下面程序main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}的輸出是_________。
A.67,DB.B,CC.C,DD.不確定的值
19.下列程序的輸出結(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
20.若定義了函數(shù)double*function(),則函數(shù)function的返回值為()。
A.實(shí)數(shù)型B.實(shí)數(shù)的地址C.指向函數(shù)的指針D.函數(shù)的地址
二、2.填空題(20題)21.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請(qǐng)?zhí)羁铡?/p>
doublefun(doublex){return(x*x-2*x+6);}
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun([6]);
y2=fun([7]);
printf("y1=%lf,y2=%lf\n",y1,y
22.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。
23.有以下定義語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear,
union{intshare1;
floatshare2;
}share;
}a;
24.數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
25.以下程序是從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們的和。請(qǐng)?zhí)羁铡?/p>
main()
{
inti,a[20],sum,count;
sum=count=【】;
for(i=0;i<20;i++)scanf("%d",【】);
for(i=0;i<20;i++)
{
if(a[i]>0)
{count++:
sum+=【】;
}
}
printf("sum=%d,count=%d\n",sum.count);
}
26.下面程序的功能是:從輸入的正整數(shù)中選3個(gè)數(shù)進(jìn)行輸出,要求這些數(shù)都是2的倍數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{inta,i=0;
scanf("%d",&A);
do
{if(a>0&&a%2==0)
{printf("%d\n",A);i++;}
if(i!=3)
{scanf("%d",&A);}
}while(());
}
27.如果一個(gè)工人可管理多個(gè)設(shè)備,而一個(gè)設(shè)備只被一個(gè)工人管理,則賣體“工人”與實(shí)體“設(shè)備”之間存在【】關(guān)系。
28.在數(shù)據(jù)流圖的類型中有兩種類型,它們是變換型和()。
29.若輸入thistestterminal,以下程序的輸出結(jié)果為:terminaltestthis。請(qǐng)?zhí)羁铡?/p>
#defineMAXLINE20
【】
{inti;
char*pstr[3],str[3][MAXLINE];
for(i=0;i<3;++)pstr[i]=str[i];
for(i=0;i<3;i++)scanf("%s",pstr[1]);
sort(pstr);
for(i=0;i<3;i++)prntf("%s",pstr[i]);
}
sort(【】)
char*pstr[3];
{inti,j;
char*p;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(strcmp(*(pstr+i,*(pstr+j)>0
{p=*(pstr+i);
*(pstr+i=【】;
*(pstr+j)=p;
}
30.若有如下定義,則該數(shù)組的第一維大小為【】。
intb[][4]={1,2,3,4,5,6,7,8,9}
31.設(shè)有下列宏定義:
#defineA2
#defineB(A+3)
則執(zhí)行賦值語(yǔ)句“k=B*20;”(k為int型變量)后,k的值是______。
32.在循環(huán)中,continue語(yǔ)句與break語(yǔ)句的區(qū)別是:______語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。
33.下列程序的輸出結(jié)果是______.
#include<stdio.h>
fun()
{staticinta=O;
a+=3;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
34.在一棵二叉樹上第6層的結(jié)點(diǎn)個(gè)數(shù)最多是______個(gè)。
35.下面函數(shù)用來(lái)求出兩個(gè)整數(shù)之和,并通過(guò)形參傳回兩數(shù)相加之和值。請(qǐng)?zhí)羁铡?/p>
intadd(intx,inty,【】,)
{【】=x+y;}
36.程序的運(yùn)行結(jié)果為【】。
main()
{charc1='a',c2='b',c3='c';
printf("a%cb%c\tc%c\n",c1,c2,c3);
}
37.軟件生命周期包括8個(gè)階段。為了使各時(shí)期的任務(wù)更明確,又可分為3個(gè)時(shí)期:軟件定義期、軟件開發(fā)期、軟件維護(hù)期。編碼和測(cè)試屬于【】期。
38.在C語(yǔ)言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【】。
39.下列程序的循環(huán)次數(shù)是______。
x=2;
do
{x=x*x;}
while(!x);
40.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的【】。
三、1.選擇題(20題)41.下列程序的輸出結(jié)果是()。
main()
{intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7)
if(p[i]%2)j+=p[i];
printf("%dXn",j);}
A.42B.45C.56D.60
42.在以下程序段中,已知血型數(shù)據(jù)占兩個(gè)字節(jié),則輸出結(jié)果是unionun{inti;doubley;}structst{chara[10];unionunb;};printf("%",sizeof(structst));
A.14B.18C.20D.16
43.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
44.下列可用于C語(yǔ)言用戶標(biāo)識(shí)符的一組是
A.void,define,WORD
B.a3_b3,_123,Car
C.For,-abc,IFCase
D.2a,DO,sizeof
45.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}執(zhí)行后的輸出結(jié)果是
A.8,6B.8,3C.6,4D.7,4
46.若有下面的說(shuō)明和定義,則sizeof(structaa)的值是______。structaa{intr1;doubler2;floatr3;unionuu{charu1[5];longu2[2]}ua;}mya;
A.30B.29C.24D.22
47.有以下程序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
48.CPU處理數(shù)據(jù)基本單位為字,一個(gè)字的字長(zhǎng)()
A.為8個(gè)二進(jìn)制位B.為16個(gè)二進(jìn)制位C.為32個(gè)二進(jìn)制位D.與CPU芯片的型號(hào)有關(guān)
49.下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是______。
A.除了最后—層外,每—層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C.完全二叉樹—般不是滿二叉樹
D.具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+1
50.執(zhí)行語(yǔ)句printf(“%ukn”,+12345)的輸出結(jié)果是()。
A.12345B.0C.-1D.非定值
51.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)
52.1.以下選項(xiàng)中屬于C語(yǔ)言數(shù)據(jù)類型的是()
A.復(fù)數(shù)型B.邏輯型C.雙精度型D.集合型
53.C語(yǔ)言規(guī)定,程序中各函數(shù)之間()
A.既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B.不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C.允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D.不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
54.假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為
A.log2nB.n2C.O(n1.5)D.n(n-1)/2
55.有以下程序:main(){charal='M'a2='m';printf("%c\n",(al,a2));}以下敘述中正確的是______。
A.程序輸出大寫字母MB.程序輸出小寫字母mC.格式說(shuō)明符不足,編譯出錯(cuò)D.程序運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息
56.在下列敘述中,正確的一條是______。
A.如果形參發(fā)生改變,不會(huì)改變主調(diào)函數(shù)的實(shí)參值
B.在C語(yǔ)言中,函數(shù)可以遞歸調(diào)用或遞歸定義
C.數(shù)組名作函數(shù)參數(shù)時(shí),也采用“值傳送”方式
D.預(yù)處理時(shí),宏名用字符串代替,并檢查語(yǔ)法正確與否
57.有以下函數(shù):fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);}該函數(shù)的功能是()。
A.計(jì)算a和b所指字符串的長(zhǎng)度之差
B.將b所指字符串復(fù)制到a所指字符串中
C.將b所指字符串連接到a所指字符串后面
D.比較a和b所指字符串的大小
58.在C語(yǔ)言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是()。
A.%B.\C.%和\D.**
59.下列關(guān)于隊(duì)列的敘述中正確的是______。A.在隊(duì)列中只能插入數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表
60.在一棵二叉樹上,第5層的結(jié)點(diǎn)數(shù)最多是()A.8B.9C.15D.16
四、選擇題(20題)61.以下數(shù)組定義中錯(cuò)誤的是()。
A.intx[2][3]=|1,2,3,4,5,6|;
B.intx[][3]=|0|
C.intx[][3]={|1,2,3|,|4,5,6|}
D.intx[2][3]=||1,2|,|3,4|,|5,6||
62.程序中已構(gòu)成如下圖所示的不帶頭結(jié)點(diǎn)的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點(diǎn),指針變量s總是作為指針指向鏈表的第一個(gè)結(jié)點(diǎn)。
若有以下程序段:
該程序段實(shí)現(xiàn)的功能是()。
A.刪除尾結(jié)點(diǎn)B.尾結(jié)點(diǎn)成為首結(jié)點(diǎn)C.刪除首結(jié)點(diǎn)D.首結(jié)點(diǎn)成為尾結(jié)點(diǎn)
63.下列程序中c的二進(jìn)制值是()。chara=2,b=4,c;c=a^b>>2;A.00000011B.00010100C.00011100D.00011000
64.
65.
66.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒(méi)有任何關(guān)系
67.
68.設(shè)有以下定義和語(yǔ)句:
則以下敘述中正確的是()。
A.str數(shù)組長(zhǎng)度和P所指向的字符串長(zhǎng)度相等
B.*P與str[0]的值相等
C.str與P的類型完全相同
D.數(shù)組str中存放的內(nèi)容和指針變量P中存放的內(nèi)容相同
69.
70.
71.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
72.
73.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.3B.5C.7D.9
74.在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫(kù)系統(tǒng)階段D.三個(gè)階段相同
75.以下選項(xiàng)中,不能作為合法常量的是
A.1.24e03B.1.34e0.3C.1.24e+3D.1.34e0
76.定義無(wú)符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
77.
78.
79.
80.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.2B.3C.7D.0
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:用下面的公式求π的近似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)為止。π/4≈1-1/3+1/5-1/7+…例如,程序運(yùn)行后,輸入0.0001,則程序輸出3.1414。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),該函數(shù)的功能是:實(shí)現(xiàn)B=A+A',即把矩陣A加上A的轉(zhuǎn)置,存放在矩陣B中。計(jì)算結(jié)果在main()函數(shù)中輸出。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。
試題程序:
參考答案
1.C解析:scanf()把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶錄入的第10位被scanf()遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。
2.Astrlen函數(shù)求得參數(shù)中字符串的長(zhǎng)度(不包括字符串結(jié)束標(biāo)識(shí)“\\0”)sizeof函數(shù)求得特定類型參數(shù)所占存儲(chǔ)空間的長(zhǎng)度。題干中a是數(shù)組名,由于定義時(shí)省略維數(shù)大小,因此數(shù)組大小是初始化的字符個(gè)數(shù),即a的數(shù)組大小為6。綜上,strlen(a)只計(jì)算字符“T”“H”“I”“S”,結(jié)果為4;sizeof(a)求得數(shù)組a的大小,結(jié)果為6;指針b指向一個(gè)字符串“OK\\0\\0”,所以strlen(b)只計(jì)算字符“O”“K”,結(jié)果為2;sizeof(b)求得指針占用存儲(chǔ)空間的大小,結(jié)果為4。故本題答案為A選項(xiàng)。
3.A
4.B
5.B
6.A選項(xiàng)A中,if語(yǔ)句的語(yǔ)句塊“m--”后面少了分號(hào),不合法,編譯會(huì)出錯(cuò)。其他選項(xiàng)都是正確的。故本題答案為A選項(xiàng)。
7.B
8.C
9.C解析:函數(shù)slzeof(a)的功能是求出字符串a(chǎn)中的字符占用存儲(chǔ)空間的大小,由于字符數(shù)組a有長(zhǎng)度為7,所以i=7;函數(shù)strlen(a)的功能是:求出字符串a(chǎn)的長(zhǎng)度。而每個(gè)字符串都以'\\0'為字符串的結(jié)束標(biāo)記,所以j的值等于2。
10.C解析:C語(yǔ)言中的自反賦值運(yùn)算符?!癿-=n”相當(dāng)于“m=m-n”,兩個(gè)相等的數(shù)相減,其值為0。
11.C
12.C解析:這是一道考查fread函數(shù)的題。buf是一個(gè)指針,fread是讀入數(shù)據(jù)的存放地址;fwrite是輸出數(shù)據(jù)的地址(以上指的是起始地址)。
13.B解析:在主函數(shù)中,第—次調(diào)用fun函數(shù),將變量b,c的值傳給形參x,y,在fun()函數(shù)中執(zhí)行if語(yǔ)句,判斷b和c的值是否相等,由于在主函數(shù)中賦初值b=5,c=6,所以判斷條件不滿足,執(zhí)行else語(yǔ)句,返回表達(dá)式(x+y)/2的值,即:(5+6)/2,因?yàn)閰?shù)的類型都為int型,所以結(jié)果也為整型:5,第二次調(diào)用時(shí)8和5也不相等,所以返回值為6,因此,選項(xiàng)B是正確的。
14.C
15.A解析:希爾排序法的基本思想是:將整個(gè)無(wú)序列分割成若干小的子序列分別進(jìn)行插入排序。
16.BC語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言。結(jié)構(gòu)化程序設(shè)計(jì)是以模塊化設(shè)計(jì)為中心的,有三種基本結(jié)構(gòu):順序、選擇和循環(huán)結(jié)構(gòu)。各模塊相互獨(dú)立,因而可將原來(lái)較為復(fù)雜的問(wèn)題化簡(jiǎn)為一系列簡(jiǎn)單模塊并充分利用現(xiàn)有模塊搭建新系統(tǒng),提高程序的重用性和可維護(hù)性。
17.A解析:和線性表類似,棧也有兩種存儲(chǔ)方法,一是順序棧,二是鏈?zhǔn)綏?。棧的順序存?chǔ)結(jié)構(gòu)是利用一組地址連續(xù)的存儲(chǔ)單元一次存儲(chǔ)自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對(duì)而言,鏈?zhǔn)綏5牟僮鞲子趯?shí)現(xiàn)。注意:這3種運(yùn)算方法在各種存儲(chǔ)結(jié)構(gòu)中的應(yīng)用。
18.A解析:由于字符“5”和“3”的ASCII碼相差為2,所以ch1經(jīng)過(guò)運(yùn)算后的值應(yīng)為65+2=67;同理,ch2經(jīng)過(guò)運(yùn)算后的值應(yīng)為65+3=68,即是字符“D”。
19.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。
20.B
21.
22.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。
23.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4-10。
24.共享性共享性解析:數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫(kù)的主要目的。
25.0&a[i]a[i]0\r\n&a[i]\r\na[i]解析:本題要求從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),井計(jì)算它們的和。程序中首先要對(duì)存放正數(shù)個(gè)數(shù)的變量count及存放和值的變量sum初始化為0,所以第一空應(yīng)填0。接著要求從終端讀入數(shù)據(jù)到數(shù)組中,可以通過(guò)scanf函數(shù)實(shí)現(xiàn),因此第二空應(yīng)填&a[i]。最后通過(guò)sum+=a[i];語(yǔ)句累加正數(shù)a[i]的值到sum中,因此第三空應(yīng)填a[i]。
26.i<3
27.一對(duì)多一對(duì)多解析:實(shí)體之間的聯(lián)系有3類:一對(duì)一,一對(duì)多,多對(duì)多。設(shè)有兩個(gè)實(shí)體集E1和E2,如果E2中的每一個(gè)實(shí)體與E1中的任意個(gè)實(shí)體(包括零個(gè))有聯(lián)系,而E1中的每一個(gè)實(shí)體最多與E2中的一個(gè)實(shí)體有聯(lián)系,則稱這樣的聯(lián)系為“從E2到E1的一對(duì)多的聯(lián)系”,通常表示為“l(fā):n的聯(lián)系”。由此可見(jiàn),工人和設(shè)備之間是一對(duì)多關(guān)系。
28.事務(wù)型事務(wù)型解析:典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。
29.main()pstr*(pstr+j)
30.3
31.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:k=B*20=(A+3)*20=(2+3)*20=100。
32.continuecontinue解析:continue語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語(yǔ)句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。
33.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完子函數(shù)之后,變量a所做的改變都要保存。
34.3232解析:根據(jù)二叉樹的性質(zhì),在二叉樹的第K層上,最多有2k-1個(gè)結(jié)點(diǎn)。所以,第6層的結(jié)點(diǎn)數(shù)最多為32。
35.int*p*p或p[0]int*p\r\n*p或p[0]
36.aabbccaabbcc解析:printf函數(shù)先輸出a,遇%c,接著輸出變量c1的值a,然后輸出bb,遇%t,從第9個(gè)位置開始輸出cc。
37.軟件開發(fā)軟件開發(fā)解析:軟件生命周期可以分為3個(gè)時(shí)期:軟件定義期,包括問(wèn)題定義、可行性研究和需求分析3個(gè)階段;軟件開發(fā)期,包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試4個(gè)階段;軟件維護(hù)期,即運(yùn)行維護(hù)階段。編碼和測(cè)試屬于軟件開發(fā)階段。
38.88解析:在一般系統(tǒng)中,一個(gè)float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位),一個(gè)double型數(shù)據(jù)占8個(gè)字節(jié)。
39.11解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán);do…while語(yǔ)句的特點(diǎn)是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。
40.模式或邏輯模式或概念模式模式也稱邏輯模式或概念模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,例如數(shù)據(jù)記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成,數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等。
41.B解析:在C語(yǔ)言中,數(shù)組的下標(biāo)默認(rèn)為0,因此數(shù)組p的下標(biāo)范圍為:0~7。程序循環(huán)過(guò)程為:第1次循環(huán)i=0,執(zhí)行循環(huán),并且i自加,得i=1,因此p[i]為p[1]=12,12%2=0,不執(zhí)行后面的語(yǔ)句:接著進(jìn)行第2次循環(huán),此時(shí)i=1,小于7執(zhí)行循環(huán),并且i自加,得i=2,因此p[i]為p[2]=13,13%2=1,執(zhí)行后面的語(yǔ)句;這樣一直到退出循環(huán)。最后,i的值為.i=13+15+17=45。
42.B解析:本題考查了結(jié)構(gòu)體和共用體類型的特點(diǎn)。結(jié)構(gòu)體變量的各個(gè)數(shù)據(jù)成員分別占據(jù)不同的存儲(chǔ)空間,而共用體變量的數(shù)據(jù)成員共同占據(jù)一段存儲(chǔ)空間。所以共用體un的變量占8個(gè)字節(jié),而結(jié)構(gòu)st中,變量所占據(jù)的存儲(chǔ)空間為成員a和b的存儲(chǔ)空間之和,所以答案為B。
43.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。
44.B解析:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線,排除選項(xiàng)C)和D);C語(yǔ)言中還規(guī)定標(biāo)識(shí)符不能為C語(yǔ)言的關(guān)鍵字,而選項(xiàng)A)中void為關(guān)鍵字,故排除選項(xiàng)A)。
45.C解析:本題考查的知識(shí)點(diǎn)是運(yùn)算符的優(yōu)先級(jí).在復(fù)合賦值語(yǔ)句中,應(yīng)該由右向左依次賦值,在表達(dá)式中,右端由i*=k得i=2*2為4,k=k+i,即k值為6,m=k故m=6.所以4個(gè)選項(xiàng)中C正確。
46.D解析:結(jié)構(gòu)伸變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和,每個(gè)成員分別占有自己的內(nèi)存單元;共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。結(jié)構(gòu)體變量aa中,成員r1占2個(gè)字節(jié),r2占8個(gè)字節(jié),r3占4個(gè)字節(jié),共用體ua占8個(gè)字節(jié),所以共占用2+8+4+8=22個(gè)字節(jié)。
47.A解析:在switch語(yǔ)句中break語(yǔ)句的作用是退出分支語(yǔ)句,若沒(méi)有break語(yǔ)句則一直向下執(zhí)行。本題中首先計(jì)算switch后面括號(hào)里的表達(dá)式a%3,印15%3為0;執(zhí)行case0:后面的語(yǔ)句m++;m自加1,即m為1遇到break語(yǔ)句;然后跳出switch語(yǔ)句,所以最后輸出的m的值為1,所以選項(xiàng)A正確。
48.D
49.B解析:滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后—層上只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。
50.A解析:“%u”表示輸出無(wú)符號(hào)的整數(shù)(注意:如果輸出值前有符號(hào),將自動(dòng)轉(zhuǎn)化為相應(yīng)的無(wú)符號(hào)數(shù)輸出)。
51.A解析:作為一個(gè)算法,一般應(yīng)該具有下列4個(gè)特征:(1)可行性,即考慮到實(shí)際的條件能夠達(dá)到一個(gè)滿意的結(jié)果;(2)確定性,算法中的每一個(gè)步驟都必須是有明確定義的,(3)有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;(4)擁有足夠的情報(bào)。
52.C解析:C語(yǔ)言的數(shù)據(jù)類型分為基本類型、構(gòu)造類型、指針類型、空類型四大類,其中,基本類型分為整型、字符型、實(shí)型三類。實(shí)型又稱浮點(diǎn)型,包括單精度型和雙精度型兩種。
53.A解析:C語(yǔ)言規(guī)定,程序中各函數(shù)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用。
54.D解析:假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序要經(jīng)過(guò)n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。
55.B解析:輸出項(xiàng)表是一個(gè)逗號(hào)表達(dá)式,它的值為a2,因此輸出的是a2的值。
56.A
57.D解析:本題要求閱讀的代碼是一個(gè)函數(shù),閱讀之前先要看清函數(shù)的定義,該函數(shù)有兩個(gè)參數(shù),都是字符指針,這說(shuō)明它接收的是兩個(gè)字符串.該函數(shù)沒(méi)有定義返回類型,C語(yǔ)言規(guī)定函數(shù)的返回類型為int時(shí)可以省略,所以切不可將其看成是無(wú)返回類型的void型函數(shù),它是int型函數(shù)。函數(shù)體中除了返回語(yǔ)句外,只有一條while循環(huán)語(yǔ)句,該循環(huán)的循環(huán)條件為(*a!='\\'0}&&(*b!='\\0')&&(*a==*B),即當(dāng)a和b所指處都不是字符結(jié)束符'\\0'并且a和b所指處的內(nèi)容相等時(shí)執(zhí)行循環(huán)。而循環(huán)體中只是簡(jiǎn)單地將指針a和b同時(shí)往后移動(dòng)1位。循環(huán)結(jié)束后返回a所指內(nèi)容減去b所指內(nèi)容的差。換個(gè)角度去考慮,也就是說(shuō)當(dāng)字符串a(chǎn)或b中有一個(gè)結(jié)束了或者是它們的相同位置中有一個(gè)字符不同時(shí),則返回該位置兩個(gè)字符之差。若兩者長(zhǎng)度相同而且所有對(duì)應(yīng)字符都相同的話,最后返回的是'\\0\\-'\\0'=0,否則的話就返回兩個(gè)字符串第一對(duì)不相同的字符之差.這時(shí)應(yīng)該可以看出來(lái),這個(gè)函數(shù)實(shí)現(xiàn)的是對(duì)兩個(gè)字符串的比較。所以,4個(gè)選項(xiàng)中D正確。
58.A解析:在C語(yǔ)言中,“%”運(yùn)算符兩側(cè)的運(yùn)算數(shù)必須是整型。
59.C隊(duì)列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,選項(xiàng)A和選項(xiàng)B錯(cuò)誤。允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)頭。在隊(duì)列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊(duì)列又稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表,它體現(xiàn)了“先來(lái)先服務(wù)”的原則,選項(xiàng)C正確,選項(xiàng)D錯(cuò)誤。
60.DD)根據(jù)二叉樹的性質(zhì):二叉樹第i(i≥1)層上至多多有2i-1個(gè)結(jié)點(diǎn)。得到第5層的結(jié)點(diǎn)數(shù)最多是16個(gè)。
61.DD選項(xiàng)中x[2][3]定義的是一個(gè)兩行三列的二維數(shù)組,而在給數(shù)組元素賦值時(shí)卻賦成了三行,所以錯(cuò)誤。
62.D本題考查鏈表的操作,本題中首先是s指向了它的下個(gè)結(jié)點(diǎn),題目中說(shuō)明了
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工業(yè)機(jī)器人系統(tǒng)操作員職業(yè)技能認(rèn)證模擬試卷及答案
- 2025年下半年衛(wèi)生監(jiān)督信息員培訓(xùn)測(cè)試題及答案
- 2025年幼兒園副園長(zhǎng)年度工作總結(jié)
- 2025年三級(jí)攝影(攝像)師考試題庫(kù)及完整答案
- 河道治理及生態(tài)修復(fù)工程施工方案與技術(shù)措施
- 醫(yī)療服務(wù)2026年特色發(fā)展
- 2026年銷售技巧提升培訓(xùn)課程
- 2026 年民政局離婚協(xié)議書正規(guī)模板含全部核心條款
- 2026 年離婚協(xié)議書合規(guī)制式模板
- 2026 年法定化離婚協(xié)議書規(guī)范模板
- 2026年殘疾人聯(lián)合會(huì)就業(yè)服務(wù)崗招聘筆試適配題含答案
- 2026年山西警官職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫(kù)帶答案解析
- 2026年農(nóng)夫山泉-AI-面試題目及答案
- 2026凱翼汽車全球校園招聘(公共基礎(chǔ)知識(shí))綜合能力測(cè)試題附答案
- 山東省威海市環(huán)翠區(qū)2024-2025學(xué)年一年級(jí)上學(xué)期1月期末數(shù)學(xué)試題
- 2025年手術(shù)室護(hù)理實(shí)踐指南知識(shí)考核試題及答案
- 外貿(mào)公司采購(gòu)專員績(jī)效考核表
- 彩禮分期合同范本
- 胸腺瘤伴重癥肌無(wú)力課件
- 十五五安全生產(chǎn)規(guī)劃思路
- 一年級(jí)地方課程教案
評(píng)論
0/150
提交評(píng)論