版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022-2023年廣東省中山市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.下列敘述中正確的是()。
A.在switch語句中不一定使用break語句
B.在switch語句中必須使用default語句
C.break語句必須與switch語句中的case配對使用
D.break語句只能用于switch語句
3.設(shè)有遞歸算法如下試問計(jì)算x(x(8))時(shí)需要計(jì)算()次x函數(shù)。A.8B.9C.16D.18
4.參加百年阿里培訓(xùn)的n位同學(xué)結(jié)伴去西湖旁邊為游人指路,兩人一組,他們打算先讓體重之和恰好為102公斤的同學(xué)一組,請給出一個(gè)算法找到這樣的組合,或者確定他們中不存在這樣的組合,其中最優(yōu)的算法時(shí)間復(fù)雜度為?(假設(shè)體重均為整數(shù))()
A.O(log(n))B.O(n)C.O(nlog(n))D.O(n^2)
5.
6.執(zhí)行下列程序后,輸出的結(jié)果是()。
#include<stdio.h>
#defineS(X)X*X
voidmain()
{ihta=9,k=3,m=2;
a/=S(k+m)/S(k+m);
printf("%d",A);
}
A.1B.4C.9D.0
7.有3個(gè)節(jié)點(diǎn)的二叉樹可能有()種。
A.12B.13C.5D.15
8.使用下列二維圖形變換矩陣A=a*T,,其中,a是行向量(xy1),是齊次坐標(biāo)形式的二維點(diǎn)。給定的變換矩陣T如下所示,則將產(chǎn)生的變換結(jié)果為()A.圖形放大2倍
B.圖形放大2倍,同時(shí)沿X、Y坐標(biāo)軸方向各移動(dòng)一個(gè)單位
C.沿X坐標(biāo)軸方向各移動(dòng)2個(gè)單位
D.沿X坐標(biāo)軸放大2倍,同時(shí)沿X、Y坐標(biāo)軸方向各移動(dòng)一個(gè)單位
9.若已包括頭文件且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語句錯(cuò)誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
10.以下選項(xiàng)中與“if(a==l)a=b;elsea++;”語句功能不同的switch語句是()。
A.switch(a){casel:a=b;break;default:a++;}
B.switch(a==l){case0:a=b;break;casel:a++;}
C.switch(a){default:a++;break;casel:a=b;}
D.switch(a==l){casel:a=b;break;case0:a++;}
11.若已知一個(gè)棧的進(jìn)棧序列是l,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=3,則P2為()。
A.可能是2B.一定是2C.可能是1D.一定是1
12.有以下程序:#include<stdio.h>voidf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf(“%d,%d”,m,n);}voidf(int*p,int*q){p=p+1;*q=*q+1;}程序的運(yùn)行結(jié)果是()。A.2,3B.1,3C.1,4D.1,2
13.以下可以正確且安全地用作用戶標(biāo)識符的一組選項(xiàng)是()。
A._32int,long64B.Switch,unsignedC.Abc,getchD.3break,enter
14.最壞情況下時(shí)間復(fù)雜度不是n(n-1)/2的排序算法是()
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
15.在堆棧中存取數(shù)據(jù)的原則是。A.先進(jìn)先出B.后進(jìn)先出C.先進(jìn)后出D.隨意進(jìn)出
16.下列程序段的時(shí)間復(fù)雜度為()。A.O(n)B.O(log2n)C.O(n3)D.O(n2)
17.以下選項(xiàng)中非法的字符常量是A.A.'\101'
B.'\65'
C.”\xff'
D.'\019'
18.若用一個(gè)大小為6的數(shù)組來實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為0和3,當(dāng)從隊(duì)列中刪除一個(gè)元素,再加入兩個(gè)元素后,rear和front的值分別為多少()。
A.1和5B.2和4C.4和2D.5和1
19.若f(n)=3n2+2n+1,則f(n)=()。
A.O(n2)B.O(n)C.O(2n)D.O(3n2)
20.有以下程序:#include<stdio.h>main(){chara==‘0’,b=‘A’;inti;for(i=1;i<6;i++)if(i%2==0)putchar(a+i);elseputchar(b+i);}程序運(yùn)行后的輸出結(jié)果是()。
A.A2A3BB.2B4DFC.B4CD7D.B2D4F
二、2.填空題(20題)21.有以下語句段
intnl=10,n2=20;
printf("______",n1,n2);
要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開始,請?zhí)羁铡?/p>
n1=10
n2=20
22.以下程序段中,錯(cuò)誤的行號是【】。①#include<stdio.h>②main()③{charstr[14];str[]={"IloveChina!"};④printf("%s",str);⑤}
23.面向?qū)ο蟮哪P椭?,最基本的概念是對象和______。
24.以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù),請?zhí)羁铡?/p>
structst
{charname[20];doublescore;};
main()
{structstex;
pfintf("exsize:%d\n",sizeof(______));}
25.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。
26.以下程序中函數(shù)fun()的功能是構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單向鏈表中所有結(jié)點(diǎn)中的字符串。請?zhí)羁胀瓿珊瘮?shù)disp。
#include<atdio.h>
typedefstructnode/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*/
{charsub[3];
structnode*next;
}Node
Node~un(chars)/*建立鏈表*/
{......}
voiddisp(Node*h)
{Node*Ps
p=h->next;
while(【】)
{printf("%s\n",p->suh);p=【】;}
}
main()
{Node*hd;
hd=fun();disp(hd);prinff("\n");
27.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
28.下面程序的功能是將字符串s中所有的字符c刪除,補(bǔ)足所缺語句。
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')【】;
s[j]='\0';
puts(s);
}
29.求任意一個(gè)數(shù)(用16位二進(jìn)制碼表示)的補(bǔ)碼。
main()
{unsignedinta;
【】;
scanf("%O",&a);
printf("%o\n",getbits(a));
}
unsignedintgetbits(value)
unsignedintvalue;
{unstgnedintz;
z=【】;
if(z==0100000)
【】;
else
z=value;
return(z);
}
30.在運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。
31.下列程序輸出的結(jié)果是【】。
fun(intx)
{staticinta=3;
a+=x;
return(a);
}
main()
{intk=2,m=1,n;
n=fun(k);
n=fun(m);
printf("%d\n",n);
}
32.以下程序中select函數(shù)的功能是:在N行M列的二維數(shù)組中,選出一個(gè)最大值作為函數(shù)值返回,并通過形參傳回此最大值所在的行下標(biāo)。請?zhí)羁铡?/p>
#defineN3
#defineM3
select{inta[N][M],int*n;
{inti,j,row=l,eolum=l;
for(i=0;i<N;i++
forj=0;j<M;j++)
if(a[i][j]>a[row][colum]){row=i;colum=j:}
*n=______;
return______;
}
main()
{inta[N][M]={9,11,23.6,1,15,9,17,20},max,nj
max=select(a,&n);
printf("max=%d,line=%d\n",max.n;
}
33.棧中允許進(jìn)行插入和刪除的一端叫做______。
34.【】是數(shù)據(jù)庫設(shè)計(jì)的核心。
35.下列程序執(zhí)行輸出的結(jié)果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(A);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
36.下面函數(shù)用來求出兩個(gè)整數(shù)之和,并通過形參傳回兩數(shù)相加之和值。請?zhí)羁铡?/p>
intadd(intx,inty,【】,)
{【】=x+y;}
37.下列程序輸出的結(jié)果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
38.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎汀R韵潞瘮?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請?jiān)跈M線處填入正確內(nèi)容。
structlink
{intdata;structlink*next;}
main()
{structlink*head;
......
sum(head);
......
}
sum(【】);
{structlink*p;ints=0;
p=head->next;
while(p){s+=p->data;p=p->next;}
return(s);}
39.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。
40.下面程序的輸出結(jié)果是()。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
三、1.選擇題(20題)41.設(shè)intx=1,y=1;表達(dá)式(!x||--y)的值是()。
A.0B.1C.2D.-1
42.以下程序的輸出結(jié)果是______。#defineTIMES(X)X*Xmain(){inta=16,k=2,m=1;a/=TIMES(k+m)/TIMES(k+m);printf("d\n",a);}
A.16B.2C.9D.1
43.已知i、j、k為整型變量,若從鍵盤輸入1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語句是()。
A.scanf("%2d%2d%2d",&i,&j,&k);
B.scanf("%d%d%d",&i,&j,&k);
C.scanf("%d,%d,%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
44.有以下程序main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是
A.隨機(jī)值B.0C.5D.6
45.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次
46.設(shè)有如下三個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
47.以下敘述中不正確的是
A.在不同的函數(shù)中可以使用相同的名字的變量
B.函數(shù)中的形式參數(shù)是局部變量
C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在一個(gè)函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
48.執(zhí)行下列程序后的輸出結(jié)果是______。main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
A.-1B.1C.8D.0
49.若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+1)+2)表示的數(shù)組元素是______。intt[3][3],*pt[3],k;for(k=0;k<3k++)pt[k]=&t[k][0]
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
50.有如下定義語句:intaa[][3]={12,23,34,4,5,6,78,89,45};,則45在數(shù)組aa中的行列坐標(biāo)各為
A.3,2B.3,1C.2,2D.2,1
51.在下面語句中,其含義為“p為指向含n個(gè)元素的一維數(shù)組的指針變量”的定義語句是()
A.intp[n]B.int*p();C.int*p(n);D.int(*p)[n]
52.有下列二叉樹,對此二叉樹前序遍歷的結(jié)果為()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ
53.下面程序段中,輸出*的個(gè)數(shù)是char*s="\ta\018bc";for(;*s!='\0';s++)printf("*");
A.9B.5C.6D.7
54.分布式數(shù)據(jù)庫系統(tǒng)不具有的特點(diǎn)是()。A.A.數(shù)據(jù)分布性和邏輯整體性B.位置透明性和復(fù)制透明性C.分布性D.數(shù)據(jù)冗余
55.非空的循環(huán)單鏈表head的尾結(jié)點(diǎn)(由p所指向),滿足()
A.p->next==NULIB.p==NULLC.p->next=headD.p=head
56.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n')switch(c-'2'){case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+4);case4:putchar(c+4);break;}printf("\n");}輸入以下數(shù)據(jù),<CR>代表一個(gè)回車符,2743<CR>程序的輸出結(jié)果是()。
A.877B.966C.778D.766
57.若有下列說明和語句,則對結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
58.能正確表示邏輯關(guān)系:“a≥10或a≤0”的C語言表達(dá)式是
A.a>=10ora<=0
B.a>=0|a<=10
C.a>=10&&a<=0
D.a>=10‖a<=0
59.數(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)系
60.下面的程序段運(yùn)行后,輸出結(jié)果是
inti,j,x=0;
staticinta[8][8];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<8;i++)
x+=a[i][j];
printf("%d",x);
A.9B.不確定值C.0D.18
四、選擇題(20題)61.
62.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
A.概要B.抽象C.邏輯D.規(guī)劃
63.若有以下說明,則()不是對strcpy庫函數(shù)正確的調(diào)用。strcpy庫函數(shù)用于復(fù)制一個(gè)字符串:char*strl="abCd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";
A.strcpy(str2,strl)
B.strcpy(str3,strl)
C.strcpy(strl,str2)
D.strcpy(str5,strl)
64.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.2B.3C.7D.0
65.
則下面對m數(shù)組元素的引用中錯(cuò)誤的是()。
A.
B.
C.
D.
66.
67.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.1234B.5678C.9101112D.1111
68.沒有以下語句
則Z的二進(jìn)制值是()。
A.00010100B.00011011C.00011100D.00011000
69.
70.(55)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是()
A.程序結(jié)構(gòu)應(yīng)有助于讀者理解
B.不限制goto語句的使用
C.減少或取消注解行
D.程序越短越好
71.以下選項(xiàng)中關(guān)于C語言常量的敘述錯(cuò)誤的是()。
A.經(jīng)常被使用的變量可以定義成常量
B.常量分為整型常量、實(shí)型常量、字符常量和字符串常量
C.常量可分為數(shù)值型常量和非數(shù)值型常量.
D.所謂常量,是指在程序運(yùn)行過程中,其值不能被改變的量
72.有以下程序
73.已知inta,b;doublec;,則以下語句中錯(cuò)誤的函數(shù)調(diào)用是
A.scanf("%d,%x,%lf",&a,&b,&c);B.scanf("%d,%d,%le",&a,&b,&c);
C.scanf("%o,%x,%o",&a,&b,&c);D.scanf("%d,%o,%e",&a,&b,&c);
74.
75.有以下程序main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運(yùn)行后的輸出結(jié)果是______。
A.22B.76C.72D.62
76.若有如下說明和定義
structtest
{intml;charm2;floatm3;
unionuu{charul[5];intu2[2];}ua;
}myaa;
則sizeof(structtest)的值是
A.12B.16
C.14D.9
77.
78.在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。
A.PDL(過程設(shè)計(jì)語言B.PAD圖C.N—S圖D.DFD圖
79.有以下程序已知字母A的ASCIl碼為65,程序運(yùn)行后的輸出結(jié)果是()。
A.E。68B.D,69C.E,DD.輸出無定值
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從字符串str中,刪除所有小寫字母c。請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:1#include2#include3#include4#defineM45#defineN56intfun(inta[m][n])7{89}10voidmain()11{12FILE*wf;13intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};14inti,j,y;15system("CLS");16printf("Theoriginaldatais:\n");17for(i=0;i<m;i++)18{for(j=0;j<n;j++)19printf("%6d",aa[i][j]);20printf("\n");21}22y=fun(aa);23printf("\nThesum:%d\nM,y);24printf("\n");25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%d",y);28fclose(wf)29/******************/30}
參考答案
1.B
2.Adefault語句在switch語句中可以省略,所以B選項(xiàng)錯(cuò)誤;switch語句中并非每個(gè)case后都需要使用break語句,所以C選項(xiàng)錯(cuò)誤;break語句還可以用于for等循環(huán)結(jié)構(gòu)中,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
3.D
4.B
5.B
6.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guān)運(yùn)算。本題中宏運(yùn)算過程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
7.C
8.D
9.C數(shù)組名sl是代表sl數(shù)組首地址的地址常量,因?yàn)椤?”左邊不能出現(xiàn)常量,所以s1="ABCDE"的方法是錯(cuò)誤的。
10.B題中當(dāng)a的值為l時(shí),關(guān)系表達(dá)式a==l的值為真,即1,因此程序?qū)⑻D(zhuǎn)到easel執(zhí)行a++操作,與題干程序剛好相反。
11.A
12.B在f(int*p,int*q)函數(shù)中,執(zhí)行“p=p+1;”是將p所對應(yīng)的地址加1,而“*q=*q+1;”是將q所指向n的地址所對應(yīng)的值加1,所以m的值沒有變,而n的值則變?yōu)?。故本題答案為B選項(xiàng)。
13.AC語言中,合法的標(biāo)識符由字母、數(shù)字和下劃線組成,并且第1個(gè)字符必須是字母或下劃線。選項(xiàng)D中的“3break”錯(cuò)誤;用戶標(biāo)識符不能是C語言中的關(guān)鍵字或函數(shù),選項(xiàng)B中的“unsigned”是關(guān)鍵字,不是合法的用戶標(biāo)識符,“Switch”是合法的用戶標(biāo)識符;選項(xiàng)C中的“getch”是庫函數(shù)名,不是合法的用戶標(biāo)識符,而C語言區(qū)分字母大小寫,“Abc”是合法的用戶標(biāo)識符;選項(xiàng)A中的兩個(gè)標(biāo)識符都是合法的用戶標(biāo)識符。故本題答案為A選項(xiàng)。
14.D
15.C
16.A
17.D【答案】D
【知識點(diǎn)】字符常量的考察
【解析】在C語言中要求八進(jìn)制字符常量的表示為\\ddd形式,但是八進(jìn)制中只有0~7,7個(gè)數(shù)字,沒有9這個(gè)數(shù)字,所以選擇D。
18.B
19.A
20.D程序首先定義字符變量a并賦初值‘0’,定義字符變量b并賦初值‘A’。然后執(zhí)行for循環(huán),當(dāng)i為偶數(shù)時(shí),輸出字符“a+i”;當(dāng)i為奇數(shù)時(shí),輸出字符“b+i”。因?yàn)閿?shù)字和字母的ASCII值都是按順序遞增的,所以本題輸出為B2D4F。故本題答案為D選項(xiàng)。
21.n1=%d\nn2=%d\n或n1=%d\nn2=%d或n1=%2d\nn2=%2d\n或n1=%2d×nn2=%2dn1=%d\\nn2=%d\\n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2d\\n或n1=%2d×nn2=%2d解析:printf函數(shù)有兩種參數(shù):格式控制參數(shù)和輸出項(xiàng)參數(shù),其中格式控制參數(shù)由兩種成分組成;格式說明和普通字符,普通字符將被簡單地復(fù)制顯示,格式說明項(xiàng)將引起一個(gè)輸出參數(shù)項(xiàng)的轉(zhuǎn)換與顯示,它是由“%”引出并以一個(gè)類型描述符結(jié)束的字符串。本題中,n1=和n2=就是普通字符,可以直接顯示,又因?yàn)閚1,n2為整數(shù),所以格式說明項(xiàng)為%d,也可以在%與d之間加上域?qū)?,另外還要在每行輸出結(jié)束時(shí)加轉(zhuǎn)義字符\\n進(jìn)行換行。所以,應(yīng)填寫n1=%d\\nn2=%d\\n,n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2d\\n或n1=%2d\\nn2=%2d。
22.③數(shù)組可以在定義時(shí)整體賦初值,但不能在賦值語句中整體賦初值。因此,可將第三行改為charstr[14]={"IloveChina!"};
23.類類
24.
25.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。
26.p!=NULL或P或p!=0或p!='0'p->next或(*p).nextp!=NULL或P或p!=0或p!='0'\r\np->next或(*p).next解析:程序中定義了一個(gè)結(jié)構(gòu)體類型名Node,其中定義了一個(gè)指向結(jié)點(diǎn)類型的指針next。接下來用Node定義了頭結(jié)點(diǎn)指針變量h和指向第一個(gè)結(jié)點(diǎn)的指針變量p,在滿足p未指向最后一個(gè)結(jié)點(diǎn)的空指針時(shí)(即為NULL),輸出p所指向結(jié)點(diǎn)的字符串,所以第一處應(yīng)填p!=NULL,然后將p指向下一個(gè)非空結(jié)點(diǎn),所以第二處應(yīng)填P->next或與其等效的形式,反復(fù)執(zhí)行直到所有的結(jié)點(diǎn)都輸出。
27.33解析:本題考查do…while語句形式:
do循環(huán)體
while表達(dá)式
首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。
28.s[j++]=s[i]
29.unsignedintgetbits()value&0100000z=~value+1unsignedintgetbits()\r\nvalue&0100000\r\nz=~value+1
30.循環(huán)鏈表循環(huán)鏈表解析:在鏈表的運(yùn)算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空表的運(yùn)算統(tǒng)一起來。循環(huán)鏈表具有兩個(gè)特點(diǎn):①在循環(huán)鏈表中增加了一個(gè)表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。②循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針不是空,而是指向表頭結(jié)點(diǎn)。
31.6
32.rowa[row][colum]row\r\na[row][colum]解析:通過對題意的分析,在select()函數(shù)中,變量row的作用是用來記錄最大元素的行下標(biāo),column的作用是用來記錄最大元素的列下標(biāo)。程序中通過一個(gè)循環(huán)求得數(shù)組元素中最大值的行列下標(biāo),分別存放在變量row和colmnn中,根據(jù)題意,應(yīng)該把行下標(biāo)賦值給形參指針變量n指向的變量,把最大值a[row][columa]作為函數(shù)值返回。
33.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。
34.數(shù)據(jù)模型數(shù)據(jù)模型
35.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++=8,所以k=8。
36.int*p*p或p[0]int*p\r\n*p或p[0]
37.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。本程序首先定義了一個(gè)全局變量m=17,m=17的作用域在整個(gè)程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個(gè)局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過fun函數(shù)返回兩個(gè)形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。
38.structlink*headstructlink*head解析:考查用指針引用結(jié)構(gòu)體變量成員數(shù)據(jù)的方法。因?yàn)楸绢}中是用結(jié)構(gòu)體變量構(gòu)成了鏈表,所以要從鏈表頭節(jié)點(diǎn),逐個(gè)節(jié)點(diǎn)的引用結(jié)構(gòu)體的數(shù)據(jù)域,需要有指向結(jié)構(gòu)體變量的指針,依次指向各個(gè)節(jié)點(diǎn),即p=p->next,而用指針引用結(jié)構(gòu)體成員數(shù)據(jù)的方法為:p->data。
39.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。
40.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值.若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計(jì)算表達(dá)式的值.若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式的值為假,結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句;i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。
41.A解析:當(dāng)邏輯或運(yùn)算符兩邊的運(yùn)算對象至少有一個(gè)為1時(shí),整個(gè)邏輯表達(dá)式的值是1;如果兩邊的運(yùn)算對象都為0,則整個(gè)邏輯表達(dá)式的值為0。題中!x=0,--y=0,所以整個(gè)表達(dá)式的值是0。
42.B解析:宏定義的作用是進(jìn)行字符的替換,應(yīng)先將賦值語句的右邊進(jìn)行宏替換,即等號右邊為:k+m*k+m/k+m*k+m=2+1*2+1/2+1*2+1=2+2+0+2+1=7,然后計(jì)算a/=7,即a=a/7=16/7=2。
43.C解析:使用scanf()函數(shù)時(shí),要求除格式控制符以外的字符都要原樣輸入,“,”為非格式符,要原樣輸入。選項(xiàng)A,輸入格式描述為“%2d%2d%2d”,意思是輸入一個(gè)長度為6的數(shù)字串,scanf()將每兩個(gè)為一組讀入3個(gè)變量中,不滿足鍵盤輸入1,2,3的條件,故A錯(cuò)誤;選項(xiàng)B中,輸入格式描述符為“%d%d%d”,輸入要用空格隔開,故錯(cuò)誤;選項(xiàng)D中,輸入格式描述符為“i=%d,j=%d,k=%d”,應(yīng)該從鍵盤輸入i=1,j=2,k=3,才能使得i,j,k的值為1,2,3,故選項(xiàng)D錯(cuò)誤。4個(gè)選項(xiàng)中C正確。
44.B解析:本題考核的知識點(diǎn)是指向一維數(shù)組的指針變量,通過賦值語句“s=x+3”,使指針變量s指向數(shù)組元素x[3],輸出語句中的s[2]等價(jià)于*(s+2),即x[5]僖為0。所以,B選項(xiàng)為所選。
45.B解析:本題考查while語句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級大于不等于運(yùn)算符'!='的優(yōu)先級。
46.C解析:本題考查數(shù)據(jù)庫的關(guān)系代數(shù)運(yùn)算。R表中只有一個(gè)域名A,有兩個(gè)記錄(也叫元組),分別是m和n;S表中有兩個(gè)域名,分別是B和C,其所對應(yīng)的記錄分別為1和3。注意觀察表T,它是由R的第一個(gè)記錄依次與S的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算恰恰符合關(guān)系代數(shù)的笛卡兒積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡兒積運(yùn)算用“×”來表示。因此,上述運(yùn)算可以表示為T=R×S。因此,本題的正確答案為C。
47.D解析:C語言在函數(shù)中說明的變量為局部變量,只在函數(shù)內(nèi)起作用但不會(huì)影響到其他函數(shù)。所以在不同的函數(shù)中使用相同的函數(shù)名不代表是同一函數(shù),A)項(xiàng)正確。在函數(shù)定義時(shí)聲明的參數(shù)只在函數(shù)內(nèi)部起作用,是函數(shù)的局部變量,B)正確。在一個(gè)函數(shù)中定義的變量是這個(gè)函數(shù)的局部變量,所以只在這個(gè)函數(shù)內(nèi)起作用,C)正確。復(fù)合語句中定義的變量其作用域是這個(gè)復(fù)合語句,不會(huì)擴(kuò)大到整個(gè)函數(shù),所以D)項(xiàng)錯(cuò)誤。注意:函數(shù)的書寫風(fēng)格。
48.D
49.C解析:本題考查通過指針引用數(shù)組元素。*(*(pt+1)+2)等價(jià)于*(pt[1]+2),pt[1]+2是t[1][2]的地址,故*(pt[1]+2)是t[1][2]的值。
50.C解析:考查對于第一維大小的決定規(guī)則的掌握情況。第一維大小的決定規(guī)則:當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小。當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),則第一維的大??;所得的商數(shù)+1。數(shù)組元素的下標(biāo)(行列號)是從零開始的。
51.D
52.D解析:對二叉樹的前序遍歷是指:先訪問根結(jié)點(diǎn),然后訪問左子樹,最后訪問右于樹,并且,在訪問左、右子樹時(shí),先訪問根結(jié)點(diǎn),再依次訪問其左、右子樹。記住3種遍歷的順序:①前序,訪問根一按前序遍歷左子樹一按前序遍歷右子樹:②中序,按中序遍歷左子樹一訪問根一按中序遍歷右子樹;③后序,按后序遍歷左子樹呻按后序遍歷右子樹一訪問根。
53.C解析:本題中,格式符。表示的是八進(jìn)制無符號形式輸出整型數(shù)(不帶前導(dǎo)0),字符常量在內(nèi)存中占一個(gè)字節(jié),存放的是ACSII碼代碼值。C語言規(guī)定,所有字符常量都作為整型量來處理,在計(jì)算機(jī)內(nèi)部,其對應(yīng)的整數(shù)值就是ACSII字符集中該字符的序號,即&*s中有幾個(gè)字符就輸出幾個(gè)*。
54.D解析:分布式數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)分布性、邏輯整體性、位置透明性和復(fù)制透明性的特點(diǎn),其數(shù)據(jù)也是分布的;但分布式數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)經(jīng)常重復(fù)存儲(chǔ),數(shù)據(jù)也并非必須重復(fù)存儲(chǔ),主要視數(shù)據(jù)的分配模式而定。若分配模式是一對多的,即一個(gè)片段分配到多個(gè)場地存放,則是冗余的數(shù)據(jù)庫,否則是非冗余的數(shù)據(jù)庫。
55.C
56.A解析:本題通過一個(gè)while循環(huán)向鍵盤緩沖區(qū)讀取字符,直到讀到的字符是回車鍵結(jié)束循環(huán)。當(dāng)讀到的c為'2'時(shí),c-'2'為0,switch語句中沒有case0:所以沒有輸出,繼續(xù)讀下一個(gè);當(dāng)c為'7'時(shí),c-'2'=5,也沒有輸出;當(dāng)c為'4'時(shí),c-'2'=2,執(zhí)行case2:后面的語句輸出一個(gè)字符c+4='4'+4='8';當(dāng)c為'3'時(shí),c-'2'=1,執(zhí)行case1:后面的語句,連續(xù)輸出兩次c+4='3'+4='7'。故程序輸出結(jié)果是877,應(yīng)該選擇A。
57.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪問結(jié)構(gòu)體的成員,可以通過結(jié)構(gòu)變量訪問,即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。
58.D
59.CC?!窘馕觥繑?shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺和軟件平臺五個(gè)部分組成,可見DB和DBMS都是DBS的組成部分。
60.C解析:本題主要考查的是用二維數(shù)組首地址和下標(biāo)來引用二維數(shù)組元素的方法。通過分析可知,程序中的雙重循環(huán)定義了一個(gè)如下的二維數(shù)組:
012
234
456
由于數(shù)組的下標(biāo)是從0開始的,所以二維數(shù)組元素a[i][j]表示的是二維數(shù)組a的第i+1行、第j+1列對應(yīng)位置的元素。
61.B
62.A軟件設(shè)計(jì)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是根據(jù)用戶的需求先確定軟件系統(tǒng)的總體結(jié)構(gòu)和總的設(shè)計(jì)原則。
63.Cstrcpy(sl,s2)函數(shù)的功能是將字符串s2復(fù)制到字符串s1中。要保證s1存儲(chǔ)區(qū)能容納下s2字符串。
64.A因?yàn)閒un(intx)是一個(gè)遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過3次遞歸調(diào)用,其過程可以描述為“fun(7)=7一fun(5)=7一(5一fun(3))=7一(5一(3一fun(1)))=7一(5一(3—3))=7—5=2”,所以最后輸出結(jié)果為2。因此.A選項(xiàng)正確。
65.C數(shù)組m下標(biāo)從0到4計(jì)算,共5個(gè)元素,選項(xiàng)c)中m[0]=5,則m[m[0]]為m[5],超出了數(shù)組m的下標(biāo)范圍。因此正確答案為C)。
66.A
67.D在for(i=0;i<12;i++)e[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時(shí),數(shù)組C的4個(gè)元素的值分別為l、1、1、1。所以選項(xiàng)D)正確。
68.B本題考查兩個(gè)位運(yùn)算符。按位異或運(yùn)算
69.B
70.A注:和設(shè)計(jì)風(fēng)格有關(guān)
71.AC語言中,常量是指在程序運(yùn)行過程中其值不能被改變的量,變量是指運(yùn)行過程中其值可以改變的量,二者不能混淆,所以A選項(xiàng)錯(cuò)誤。
72.A本題考查的是break語句。d0…while循環(huán)是“先執(zhí)行,后判斷”,所以無論條件如何,它都至少會(huì)執(zhí)行一遍。程序首先初始化變量i為5,然后進(jìn)A.d0…while循環(huán)體,首先判斷(i%3==1),因?yàn)?%3=2,所以if條件不滿
溫馨提示
- 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年店面租賃合同模板
- 2024年度版權(quán)許可合同:版權(quán)持有者與使用者的許可協(xié)議
- 2024年建筑工程抹灰工程專業(yè)分包協(xié)議
- 2024服裝加工訂單合同
- 2024年區(qū)塊鏈技術(shù)研究與應(yīng)用服務(wù)承包合同
- 2024工業(yè)設(shè)備購銷合同模板
- 2024年企業(yè)購置綠色環(huán)保廠房合同
- 2024年度網(wǎng)絡(luò)安全防護(hù)及監(jiān)控合同
- 2024房地產(chǎn)合同模板房屋拆遷協(xié)議
- 2024年度9A文礦產(chǎn)資源開發(fā)利用合作合同
- 浙江省杭州市小升初數(shù)學(xué)真題重組卷
- 腸瘺護(hù)理查房
- 《水泥用鐵質(zhì)校正料》
- 社會(huì)工作服務(wù)項(xiàng)目管理課件
- 全國職業(yè)院校技能大賽(酒水服務(wù))考試題庫(含答案)
- 吊車司機(jī)作業(yè)安全行為規(guī)范(三篇)
- 鼠疫防治應(yīng)急預(yù)案
- 《青藏鐵路精神》課件
- 事業(yè)單位獎(jiǎng)勵(lì)審批表主要事跡教師300字范文六篇
- 2024農(nóng)村集體經(jīng)濟(jì)壯大之路
- 油船貨物操作教材配套課件第四章 惰性氣體系統(tǒng)
評論
0/150
提交評論