




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022年廣東省清遠(yuǎn)市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯誤,以下語句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;
B.*p=&n;
C.scanf("%d",&p)
D.printf("%d\n",p);
2.設(shè)有關(guān)鍵碼初始化序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P,A,M,Q,R,S,Y,X}是采用()方法對初始序列精細(xì)第一堂排序的結(jié)果。
A.直接插入排序B.二路歸并排序C.快速排序D.基數(shù)排序
3.設(shè)有定義“doublex=5.16894;”,則語句“printf(“%lf\n”,(int)(x*1000+0.5)/1000.);”的輸出結(jié)果是()。
A.5.16900B.5.16800C.0.00000D.輸出格式說明符與輸出項(xiàng)不匹配,產(chǎn)生錯誤信息
4.下列敘述中正確的是:()A.C語言程序中,main()函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)
B.C語言程序中,main()函數(shù)的位置沒有限制,函數(shù)內(nèi)不可以嵌套定義函數(shù)
C.C語言程序中,main()函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)
D.C語言程序中,main()函數(shù)必須在其它函數(shù)之后,函數(shù)內(nèi)可以嵌套定義函數(shù)
5.有下列程序:main(){char*P[]={"3697","2584");inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。A.35B.37C.39D.3975
6.在Internet中,域名服務(wù)器的主要功能是實(shí)現(xiàn)()的轉(zhuǎn)換。
A.IP地址到域名(主機(jī)名字)B.域名到IP地址C.主機(jī)IP地址和路由器IP地址之間D.路由器IP地址之問
7.有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
8.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對象的敘述中正確的是()。
A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式
9.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語句中錯誤的是()。
A.a++;B.b++;C.c++;D.d++;
10.
11.有以下程序:#include<stdio,h>#include<string,h>struetSTU{intnam;floatTotalSeore;};voidf(strnctSTUp){structSTUs[2]={{20044,550},{20045,537}};p.num=s[1].num;p.TotalScore=s[1].TotalScore;main(){structSTUs[2]={{20041,703},{20042,580}};f(s[0]);printf("%d%3.Of\n",s[0].num,s[0].TotalSeore);}程序運(yùn)行后的輸出結(jié)果是()。
A.20045537B.20044550C.20042580D.20041703
12.若有定義:floatx=1.5;inta=1.b=3.c=2;則正確的switch語句是()。A.
B.
C.
D.
13.設(shè)有下列二叉樹:
對此二叉樹后序遍歷的結(jié)果為
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
14.
15.若已包括頭文件且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語句錯誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
16.有以下程序:#include<stdio.h>main(){ints[12]=(1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);}程序的運(yùn)行結(jié)果是()。
A.2344B.4332C.1234D.1123
17.
18.將兩個字符串連接起來組成一個字符串時,選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
19.有以下程序:#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序的運(yùn)行結(jié)果是()。
A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1
20.有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf(“%d”,--y);}程序的運(yùn)行結(jié)果是()。
A.852B.963C.741D.875421
二、2.填空題(20題)21.軟件工程的出現(xiàn)是由于【】。
22.數(shù)據(jù)庫技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。
23.以下程序的輸出結(jié)果是【】。
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d\n",s);
}
24.函數(shù)fun的功能是計(jì)算xn。
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函數(shù)中已經(jīng)正確定義變量m,a,b并賦值,要調(diào)用函數(shù)fun計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)用語句為【】。
25.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{charm;
m='B'+32;printf("%c\n",m);
26.成本估算模型中,Putnam估算模型是一種【】模型。
27.軟件的【】設(shè)計(jì)又稱為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
28.計(jì)算圓的周長、面積和球體積。
#definePI3.1415926
#define【】L=2*PI*R;【】;V=4.0/3.0*PI*R*R*R
main()
{floatr,l,s,v;
printf("inputaradus:");
scanf("%f",&r);
CIRCLE(r,l,s,v);
printf("r=%.2f\nl=%.2f\ns=%.2f\nv=%.2f\n",【】);
}
29.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。
30.【】(黑箱或白箱)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
31.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。
32.在進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時,應(yīng)遵循的最主要原理是【】。
33.若有以下程序:
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
執(zhí)行后的輸出結(jié)果是【】。
34.以下程序的輸出結(jié)果是【】。
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(6,3,a)
printf("%d,a)
}
35.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
36.下面程序的輸出結(jié)果是【】。
main()
{inti=3,j=2;
char*a="DCBA";
printf("%c%c\n",a[i],a[j])
}
37.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{inta=1,b=2,c;
c=max(a,b);
printf("maxis%d\n",c);}
max(intx,inty)
{intz;
z=(x>y)?x:y;
return(z);}
38.軟件生命周期包括2今階段。為了使各時期的任務(wù)更明確,又可分為3個時期:軟件定義期、軟件開發(fā)期、軟件維護(hù)期。編碼和測試屬于【】期。
39.對一組記錄{54,38,96,23,15,72,60,45,83}進(jìn)行直接插入排序時,當(dāng)插入第5個記錄到有序表時,尋找插入位置需比較【】次。
40.以下程序運(yùn)行后的輸出結(jié)果是【】。
structNODE
{intk;
structNODE*link;
};
main()
{structNODEm[5],*p=m,*p=m,*q=m+4;
inti=0;
while(p!=q)
{p->k=++i;p++
q->k=i++;q--;
}
q->k=i;
for(i=0;i<5;i++)
printf("%d",m[i].k);
ptintf("\n");
}
三、1.選擇題(20題)41.以下定義語句中正確的是______。
A.chara='A'b='B';
B.floata=b=19.0;
C.inta=10,*b=&a;
D.float*a,b=&a;
42.以下程序的輸出結(jié)果是#include<stdio.h>in[fun(intn,int*s){intn,f2;if(n==0‖n==1)*s=1;else{fun(n-1,&f1);fun(n-2,&f2);*s=f1+f2;}}voidmain(){intx;fun(6,&x);pfintf("\n%d",x);}
A.7B.13C.9D.10
43.下列程序的輸出結(jié)果是
#include"stdio.h"
main()
{inti,a=0,b=0;
for(i=1;i<10;i++)
{if(i%2==0)
{a++;
continue;}
b++;}
printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
44.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3,(int)(x+y)%2/4的值是
A.2.5B.2.75C.3.5D.0
45.下面四個選項(xiàng)中,均是不正確的八進(jìn)制數(shù)或十六進(jìn)制數(shù)的選項(xiàng)是
A.0160x8f018
B.0abc0170xa
C.010-0x110x16
D.0a127ff-123
46.以下選項(xiàng)中可作為C語言合法常量的是()。
A.-80B.-80C.-80.0D.-80.0e
47.有如下說明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
48.有以下程序:#include<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){inti1,i2;i1=f(2);i2=f(1+1);printf("%d%d",i1,i2);}程序的運(yùn)行結(jié)果是()。
A.1212B.117C.1111D.127
49.以下敘述中正確的是()。
A.C語言的源程序不必通過編譯就可以直接運(yùn)行
B.C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C.C語言程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行
D.C語言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
50.以下敘述中不正確的是
A.預(yù)處理命令行都必須以#號開始
B.在程序中凡是以#號開始的語句行都是預(yù)處理命令行
C.宏替換不占用運(yùn)行時間,只占編譯時間
D.在以下定義是正確的:#definePI3.1415926;
51.相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
52.以下選項(xiàng)中可作為C語言合法常量的是______。
A.-80B.-80C.-8e1.0D.-80.0e
53.在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個數(shù)為______。A.32B.31C.64D.63
54.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲形式是______。
A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼
55.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語句是()A.p=1;B.*q=2;C.q=p;D.*p=5;
56.有以下程序:main(){intk=5,n=0;while(k>0);{switch(k){default;break;case1:n+=k;case2;case3:n+=k;}k--;}printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是______。
A.0B.4C.6D.7
57.設(shè)有以下語句()structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0]則表達(dá)式()的值是6。
A.p++->nB.p->n++C.(*P).n++D.++p->n
58.將E-R圖轉(zhuǎn)換到關(guān)系模式時,實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
59.
執(zhí)行下列程序中的輸出語句后,a的值是()。
main
{inta;
printf("%d\n",(a=2*3,a*5,a+7));
}
A.17B.37C.6D.13
60.請選出以下程序的輸出結(jié)果______。#include<stdio.h>sub(x,y,z)intx,y,*z;{*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}
A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-7
四、選擇題(20題)61.在下列結(jié)論中,只有一個是錯誤的,它是()。
A.C語言允許函數(shù)的遞歸調(diào)用
B.C語言中的continue語句,可以通過改變程序的結(jié)構(gòu)而省略
C.有些遞歸程序是不能用非遞歸算法實(shí)現(xiàn)的
D.C語言中不允許在函數(shù)中再定義函數(shù)
62.
63.
64.
65.非空循環(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)
66.
67.
68.
69.若想定義int型變量a,b,c,d并都賦值為1,以下寫法中錯誤的是()。
A.inta=b=c=d=1;
B.inta=1,b=1,c=1,d=1;
C.inta,b,c,d;a=b=c=d=1;
D.inta,b,c,d=1;a=b=c=d;
70.若變量X、y已正確定義并賦值,以下符合c語言語法的表達(dá)式是()。
A.++x,y=x-一B.x+l=yC.x=x+10--x+yD.double(x)/lO
71.有以下程序:
#include<stdio.h>
main()
{inta=2,b;
b=a<<2;printf("%d\n",b);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.2
B.4
C.6
D.8
72.已定義以下函數(shù)
fun(char*p2,char*p1)
{
while((*p2=*p1)!=’\0’){p1++;p2++;}
}
函數(shù)的功能是
A.將p1所指字符串復(fù)制到p2所指內(nèi)存空間B.將p1所指字符串的地址賦給指針p2
C.對p1和p2兩個指針?biāo)缸址M(jìn)行比較D.檢查p1和p2兩個指針?biāo)缸址惺欠裼小?’
73.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運(yùn)行維護(hù)過程
74.有以下程序:
#include<stdio.h>
main()
{unsignedchara=8,C;
C=a>>3:
printf("%d\n",c);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.32B.16C.1D.0
75.
76.
77.
78.
79.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
80.(54)在下列幾種排序方法中,要求內(nèi)存量最大的是______。
A.插入排序
B.選擇排序
C.快速排序
D.歸并排序
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:計(jì)算n!。例如,若輸人:6,則輸出:6!=720.000000。
請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請勿改動主函數(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.A選項(xiàng)B)的正確寫法應(yīng)為p=&n;選項(xiàng)C)的正確寫法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫法應(yīng)為print("%d\\n",*p)。
2.C
3.A表達(dá)式“(int)(x*1000+0.5)”使用了強(qiáng)制轉(zhuǎn)換,其計(jì)算結(jié)果為5169,(5169/1000.0)=5.169。所以“printf(“%lf\\n”,5.169);”結(jié)果是5.16900。故本題答案為A選項(xiàng)。
4.B每個C程序有且只有一個主函數(shù)main,C程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對圓括號不能省略,main函數(shù)可以位于程序的任意位置。函數(shù)不可以嵌套定義,但函數(shù)可以嵌套調(diào)用。
5.D執(zhí)行第一次for循環(huán)時,用表達(dá)式p[i][J]!=\o來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語句。if語句表示(p[i][j]-\o)除2的余數(shù)不為0時,即字符串所有奇數(shù),執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時,輸出為397,執(zhí)行第2次循環(huán)體。對字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
6.B在Internet中,把域名翻譯為IP地址的軟件稱為域名系統(tǒng)DNS,運(yùn)行域名系統(tǒng)的主機(jī)稱為域名服務(wù)器。域名服務(wù)器的主要功能是實(shí)現(xiàn)入網(wǎng)主機(jī)名字和IP地址的轉(zhuǎn)換。
7.D本題主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過第一次do-while循環(huán)后,執(zhí)行t=t-1這條語句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),如果關(guān)系表達(dá)式不成立,退出循環(huán)。由此可見,只要輸入變量n的值為負(fù)奇數(shù),則一定會使t==n成立,故退出do-while循環(huán)。
8.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。
9.D解析:本題考核的知識點(diǎn)是在自加運(yùn)算符的運(yùn)算對象。自加運(yùn)算對象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個不正確的語句,所以,4個選項(xiàng)中選項(xiàng)D符合題意。
10.B
11.D解析:函數(shù)f中定義了結(jié)構(gòu)體類型的變量P作為形參,在main函數(shù)中,將結(jié)構(gòu)體變量s[0]中的值傳給了形參變量P,在函數(shù)f中,雖然改變了p中的內(nèi)容,但其改變對main函數(shù)中s[0]的值不產(chǎn)生影響,所以main函數(shù)中輸出s[0]的數(shù)據(jù)仍然是main函數(shù)中初始化時的數(shù)據(jù)。
12.AB)選項(xiàng)中switch(n[nx);語句中不應(yīng)該有最后的分號。switch(expr1),中的exp1不能用浮點(diǎn)類型或Iong類型,也不能為一個字符串,所以C)錯誤。case后面常量表達(dá)式的類型必須與switch后面表達(dá)式的類型一致,所以D)錯誤。
13.D解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應(yīng)該為:后序遍歷左子樹->,后序遍歷右子樹->,訪問根結(jié)點(diǎn)。按照定義,后序遍歷序列是DEBFCA,故答案為D。
14.A
15.C數(shù)組名sl是代表sl數(shù)組首地址的地址常量,因?yàn)椤?”左邊不能出現(xiàn)常量,所以s1="ABCDE"的方法是錯誤的。
16.B在“for(i=0;i<12;i++)c[s[i]]++”中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo)。當(dāng)退出循環(huán)時,數(shù)組c的4個元素的值分別為4、3、3、2。故本題答案為B選項(xiàng)。
17.D
18.C將兩個字符串連接起來組成一個字符串,選用strcat函數(shù)來連接。
19.D執(zhí)行語句“intm=1,n=2,*p=&m,*q=&n,*r;”,即指針變量p指向m,指針變量q指向n。執(zhí)行語句“r=p;p=q;q=r;”,即通過指針變量r,將指針p和指針q的指向交換。因此最后輸出1,2,2,1。故本題答案為D選項(xiàng)。
20.A第1次for循環(huán),y的值為9,“y%3”的值為0,滿足if條件輸出“--y”,即先自減后輸出,所以輸出8;第2次for循環(huán),y的值為7,“y%3”的值為1,不滿足if條件,不執(zhí)行printf語句;第3次for循環(huán),y的值為6,“y%3”的值為0,滿足if條件輸出“--y”,即先自減后輸出,所以輸出5;第4次for循環(huán),y的值為4,不滿足if條件,不執(zhí)行printf語句;第5次for循環(huán),y的值為3,滿足if條件,輸出2;第6次for循環(huán),y的值為1,不滿足if條件,不執(zhí)行printf語句。故本題答案為A選項(xiàng)。
21.軟件危機(jī)的出現(xiàn)軟件危機(jī)的出現(xiàn)
22.共享性共享性解析:數(shù)據(jù)庫技術(shù)的主要特點(diǎn)有以下幾個方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。
23.2222解析:在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]…b[9]的值相加,結(jié)果為22。
24.fun(a4)+fun(b4)-fun((a+b)3);fun(a,4)+fun(b,4)-fun((a+b),3);解析:函數(shù)fun的功能是計(jì)算x的n次方,a的4次方的調(diào)用函數(shù)為fun(a,4),b的4次方的調(diào)用函數(shù)為fun(b,4),(a+b)的3次方的調(diào)用函數(shù)為fun((a+b),3),計(jì)算m=a4+b4-(a+b)3的函數(shù)調(diào)用語句為:fun(a,4)+fun(b,4)-fun((a+b),3);
25.bb解析:在ASCII碼表中,至少有3個值考生得記?。?,0,的ASCII碼為48;‘A’的ASCII碼為65;‘a(chǎn)’的ASCII碼為97。因?yàn)橛涀∵@3個后,其他字母和數(shù)字的ASCII碼就可以很容易推出來了。本題中,“B”的ASCII碼為‘A’+1=66,所以,字符類型m的ASCII為66+32=98=97+1=‘a(chǎn)’+1,所以最后輸出的結(jié)果為字符‘b’。
26.動態(tài)多變量動態(tài)多變量
27.概要概要
28.CIRCLE(RLSV)S=PI*R*Rr1sv
29.floatfloat解析:在此表達(dá)式中x是float類型的變量,經(jīng)過開方所得到的結(jié)果仍是float類型,再和2.8進(jìn)行運(yùn)算時,應(yīng)該先將2.8轉(zhuǎn)換成float類型再運(yùn)算,最后結(jié)果仍是float型。
30.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設(shè)計(jì)測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測試技術(shù)分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
31.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個表達(dá)式的值為++a的值,++a的值為7。請注意前綴++,--和后綴++,--的區(qū)別。
32.模塊獨(dú)立原理模塊獨(dú)立原理
33.99解析:f(3,4)=(4-3)×3=3,f(3,5)=(5-3)×3=6,所以d=f(f(3,4),f(3,5))=f(3,6)=(6-3)×3=9。
34.3131解析:在函數(shù)調(diào)用時,形參值和改變,不會改變實(shí)參的值。
35.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。
36.AB
37.maxis2maxis2解析:函數(shù)通過參數(shù)來傳遞數(shù)據(jù)是單向的,只能由實(shí)參傳給形參而不能由形參傳給實(shí)參,但是可以通過函數(shù)的返回值將函數(shù)中的數(shù)據(jù)帶回。注意:函數(shù)的兩種調(diào)用方式及函數(shù)調(diào)用的語法要求。
38.軟件開發(fā)軟件開發(fā)解析:軟件生命周期包括8個階段:問題定義、可行性研究、需求分析、系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試、運(yùn)行維護(hù)。為了使各時期的任務(wù)更明確,又可以分為3個時期:軟件定義期,包括問題定義、可行性研究和需求分析3個階段;軟件開發(fā)期,包括系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測試4個階段;軟件維護(hù)期,即運(yùn)行維護(hù)階段??芍幋a和測試屬于軟件開發(fā)階段。
39.11解析:直接插入排序是在已排好序的序列中用順序查找法查找插入位置。第5個記錄是15,15和23比較,就知道15應(yīng)放在原23放的位置,23及其以后的記錄后移。
40.1343113431解析:程序首先定義了一個結(jié)構(gòu)體NODE,在主函數(shù)中聲明了一個該結(jié)構(gòu)體的數(shù)組m[5]和兩個結(jié)構(gòu)體指針p和q,并分別初始化p指向m(指向數(shù)組的第—個元素):q指向m+4(指向數(shù)組的最后一個元素)。接下來定義并初始化一個整型變量i為0。然后用一個while循環(huán),在p和q不相等的時候執(zhí)行循環(huán)體:讓p所指結(jié)構(gòu)體的成員k等于++i的值,然后讓p指向下一個結(jié)構(gòu)體;讓q所指結(jié)構(gòu)體的成員k等于i++的值,然后讓q指向前一個結(jié)構(gòu)體。i從0開始交替調(diào)用++i和i++,兩個表達(dá)式的值依次分別為1和1、3和3……。所以當(dāng)p==q循環(huán)結(jié)束時,實(shí)際循環(huán)了兩次,p和q都指向m數(shù)組的中間位置m[2],i自增了4次,所以q->k=i;就是讓m[2]k=4。所以程序最后輸出為:13431。
41.C解析:選項(xiàng)A中a='A'b='B'中缺少一個逗號;B中只能定義一個,如a=19.0;D中b是float類型的,不能取指針地址。
42.B
43.B解析:continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。
44.A解析:x+y的值為實(shí)型7.200000,經(jīng)強(qiáng)制類型轉(zhuǎn)化成整型7。a%3的值為1,1*7的值為7,7%2值為1。1/4的值為0,而非0.25,因而為兩個整數(shù)相除的結(jié)果為整數(shù),舍去小數(shù)部分。與實(shí)型x相加,最終得結(jié)果為2.500000。
45.D解析:八進(jìn)制中,不可能包括8以上的數(shù)字,它的范圍只在07之間,以0開頭。同樣,十六進(jìn)制是以0x開頭,數(shù)字在0~9和A~F之間。
46.A
47.B解析:在C語言的數(shù)組元素的引用方法,我們在前面已經(jīng)講過了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來引用,對于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對此地址使用“間接訪問運(yùn)算符”:*(p+1)就代表存儲單元a[1],注意:一對圓括號不可少。同樣,對于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來引用…,對于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時,若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來表示。
48.B解析:根據(jù)define的定義,可得f(2)=2*5+1=11,f(1+1)=1+1*5+17。
49.B
50.D解析:帶參數(shù)的宏定義如下:#define宏名(參數(shù))字符串。本題中,宏定義的作用是指定用標(biāo)識符PI來代替“3.1415926”這個字符串,但宏定義不是C語句,不必在行末加分號。
51.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對于數(shù)據(jù)庫系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫系統(tǒng)三代的特點(diǎn)。
52.A解析:選項(xiàng)B中,以0開頭表示是一個八進(jìn)制數(shù),而八進(jìn)制數(shù)的取值范圍是0~7,所以-080是不合法的;選項(xiàng)C和D中,e后面的指數(shù)必須是整數(shù),所以也不合法。
53.C在滿二叉樹中每層的結(jié)點(diǎn)數(shù)都達(dá)到最大值,而且葉子結(jié)點(diǎn)全部出現(xiàn)在最底層。第l層(根結(jié)點(diǎn)所在的層)有20個結(jié)點(diǎn),第2層有21個結(jié)點(diǎn),……第n層有2n-1個結(jié)點(diǎn)。在深度為7的滿二叉樹中,第7層有27-l=64個結(jié)點(diǎn)(全部是葉子結(jié)點(diǎn))、在深度為7的滿二叉樹中,共有27—1=127個結(jié)點(diǎn)、因此本題的正確答案是C
54.D解析:將—個字符常量放到一個字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲單元中。
55.D解析:本題考核的知識點(diǎn)是指針變量定義和賦值語句的基本應(yīng)用。在使用一個指針變量之前,先要用聲明語句對其進(jìn)行定義,在定義了一個指針變量之后,系統(tǒng)就為這個指針變量分配了一個存儲單元,用它來存放地址。在C語言中有兩個有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個指針變量p并讓它指向n,然后定義了一個指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個指向指針的指針變量小顯然不正確,所以,4個選項(xiàng)中選項(xiàng)D符合題意。
56.D解析:在switch語句中,若case語句后沒有break語句,則執(zhí)行完本層case后會繼續(xù)執(zhí)行后面case中的操作。k的初值為5,while條件成立,進(jìn)入switch(5),執(zhí)行default語句,退出switch,執(zhí)行k--后得4,再進(jìn)入while循環(huán),執(zhí)行switch(4),退出switch,再執(zhí)行k--后得3,繼續(xù)while循環(huán),執(zhí)行switch(3),n=n+k=3,再執(zhí)行k--后得2,進(jìn)入while循環(huán),執(zhí)行case2,再執(zhí)行n=n+k=5,然后執(zhí)行k--后得1,最后一次進(jìn)入while循環(huán),執(zhí)行case1,n=n+k=6,然后繼續(xù)執(zhí)行case2和case3后的語句,n=n+k=7,且執(zhí)行k--后得0,此時while條件不滿足,退出循環(huán),輸出n的值為7。
57.D
58.B解析:關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。
59.C解析:本題考查逗號表達(dá)式。本題的返回值是a+7,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度林業(yè)資源保護(hù)與合理利用林地承包合同
- 人教版七年級上冊第一章第二節(jié)鄉(xiāng)村與城市教學(xué)設(shè)計(jì)2
- 二零二五年度中小企業(yè)發(fā)展專項(xiàng)貸款合同
- 二零二五年度紅木家具出口貿(mào)易代理合同
- 2025年度資質(zhì)使用許可及項(xiàng)目合作框架協(xié)議
- 二零二五年度環(huán)境保護(hù)外部專家顧問協(xié)議
- 二零二五年度企業(yè)員工借用物品使用安全責(zé)任書
- 二零二五茶山產(chǎn)權(quán)轉(zhuǎn)讓與茶葉種植技術(shù)培訓(xùn)合同
- 二零二五年度耕地租賃與農(nóng)業(yè)廢棄物處理合作協(xié)議
- 二零二五年度職業(yè)經(jīng)理人職務(wù)消費(fèi)與報(bào)銷管理協(xié)議
- 《安全原理》習(xí)題庫及參考答案
- 分離工程授課教案
- 《HSK標(biāo)準(zhǔn)教程3》第10課
- 人民醫(yī)院能源托管服務(wù)項(xiàng)目可研技術(shù)方案書
- 系統(tǒng)上線驗(yàn)收合格證書
- ABO血型鑒定及交叉配血
- 消防水箱安裝施工方案
- 【重慶長安汽車公司績效管理現(xiàn)狀、問題及優(yōu)化對策(7600字論文)】
- 孔軸的極限偏差表
- 熱軋鋼板和鋼帶尺寸允許偏差
評論
0/150
提交評論