




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022年江蘇省南京市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.在n個結(jié)點(diǎn)的線性表的數(shù)組實現(xiàn)中,算法的時間復(fù)雜度是O(1)的操作是()。
A.訪問第i(1<=i<=n)個結(jié)點(diǎn)和求第i個結(jié)點(diǎn)的直接前驅(qū)(1<i<=n)
B.在第i(1<=i<=n)個結(jié)點(diǎn)后插入一個新結(jié)點(diǎn)
C.刪除第i(1<=i<=n)個結(jié)點(diǎn)
D.以上都不對
3.有下列程序段: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ù)
4.將兩個字符串連接起來組成一個字符串時,選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
5.判斷一個棧ST(最多元素為Maxsize)為空的條件是()。
A.ST->top!==一1
B.ST->top==-1
C.ST->top!==Maxsize-1
D.ST->top==Maxsize-1
6.設(shè)棧S和隊列Q的初始狀態(tài)為空,元素e1,e2,e3,e4,e5和e6依次通過棧S,一個元素出棧后即進(jìn)隊列Q,若6個元素出隊的序列是e2,e4,e3,e6,e5,e1,則棧S的容量至少應(yīng)該是()。
A.6B.4C.3D.2
7.若以“a+”方式打開一個已存在的文件,以下敘述正確的是()。
A.文件打開時,原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作
B.文件打開時,原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進(jìn)行重寫和讀操作
C.文件打開時,原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫和讀操作
D.文件打開時,原有文件內(nèi)容被刪除,只可進(jìn)行寫操作
8.有以下程序
#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);
}
程序運(yùn)行后,若從鍵盤輸入(從第1列開始)
123<回車>
45678<回車>
則輸出結(jié)果是
A.1267B.1256C.1278D.1245
9.以下不能輸出字符A的語句是(注:字符A的ASCII值為65,字符a的ASCII值為97)()。
A.printf(“%c\n”,‘a(chǎn)’-32);
B.printf(“%d\n”,‘A’);
C.printf(“%c\n”,65);
D.printf(“%c\n”,‘B’-1);
10.數(shù)據(jù)庫設(shè)計的四個階段是:需求分析、概念設(shè)計、邏輯設(shè)計和______。A.編碼設(shè)計B.測試階段C.運(yùn)行階段D.物理設(shè)計
11.以三級模式為框架形成的3種數(shù)據(jù)庫中,真實存在于計算機(jī)外存的數(shù)據(jù)庫是()。
A.概念數(shù)據(jù)庫B.用戶數(shù)據(jù)庫C.物理數(shù)據(jù)庫D.邏輯數(shù)據(jù)庫
12.若有定義“inta=3,*p=&a,**q=&p;”,則以下敘述中錯誤的是()。
A.q是指針變量,*q就是變量a
B.p是指針變量,p指向變量a
C.q指向變量p,所以*q指向變量a
D.*p與**q都代表變量a
13.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
14.A.A.75310246B.01234567C.76310462D.13570246
15.若有如下程序:#definePI3.1415926#defineA(r)2*PI*rmain(){floata,1;a=3.0;1=A(a);printf("r=%.2f,1=%.2f\n",a,1);}則程序運(yùn)行后的輸出結(jié)果是()
A.r=3.001=18.85
B.3.00,18.85
C.r=3.0000001=18.8495555
D.r=3.01=18.8495555
16.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。
A.334HB.30DHC.352HD.31AH
17.下面程序的運(yùn)行結(jié)果是()。#include"stdio.h"main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elseprintf("#");}}
A.*#*#*B.#*#*#*C.*#*#D.#*#*
18.關(guān)于地址和指針,以下敘述正確的是()。
A.可以通過強(qiáng)制類型轉(zhuǎn)換讓char型指針指向double型變量
B.函數(shù)指針P指向一個同類型的函數(shù)f時,必須寫成“p=&f;”
C.指針P指向一個數(shù)組f時,必須寫成“P=&f;”
D.—個指針變量P可以指向自身
19.棧通常采用的兩種存儲結(jié)構(gòu)是A.A.線性存儲結(jié)構(gòu)和鏈表存儲結(jié)構(gòu)
B.散列方式和索引方式
C.鏈表存儲結(jié)構(gòu)和數(shù)組
D.線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)
20.采用表結(jié)構(gòu)來表示數(shù)據(jù)和數(shù)據(jù)間聯(lián)系的模型是()。
A.層次模型B.概念模型C.網(wǎng)狀模型D.關(guān)系模型
二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。
#defineMCRA(m)2*m
#defineMCRB(n,m)2*MCRA(n)+m
main()
{
inti=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
22.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的______性來實現(xiàn)的。
23.下列程序執(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);
}
24.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。
25.設(shè)有說明;
structDATE{intyear;intmonth;intday;};
請寫出一條定義語句,該語句定義d為上述結(jié)構(gòu)體類型變量,并同時為其成員year、month、day依次賦初值2006、10、1:【】。
26.對于長度為n的順序存儲的線性表,當(dāng)隨機(jī)插入和刪除一個元素時,需平均移動元素的個數(shù)為【】。
27.填空補(bǔ)充以下程序。
#define【】30
{【】;
total=numPRICE;
printf("total=%d,num=%d\n",【】);
}
28.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運(yùn)行和維護(hù)階段。
29.在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個______。
30.下面程序的輸出結(jié)果是【】。
charb[]="ABCD";
main()
{char*chp;
for(chp=b;*chp;chp+=2)printf("%s",chp);
printf("\n");
}
31.閱讀下面程序,則執(zhí)行后的輸出結(jié)果是【】。
#include"stdio.h"
main()
{intx,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
elseprintf("%d",y);
printf("%d\n",z);}
32.若x=3,y=2,z=1,表達(dá)式z-=x<y?x++:++y的值為______。
33.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{charc;intn=100;
floatf=10:doublex:
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
34.按照“先進(jìn)先出”的原則組織數(shù)據(jù)的結(jié)構(gòu)是______。
35.以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。
#defineN4
voidrotade(inta[][N],intb[][N])
{inti,j;
for(i=0;i<N;i++)
{b[i][N-1]=[9];[10]:a[N-1][i];}}
36.以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{charc;intn=100;
loatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
37.在進(jìn)行模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接碟塊,其中______的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。
38.軟件是程序、數(shù)據(jù)和【】的集合。
39.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{inta=1,b=2,c=3;
if(c=A)printf("%d\n",C);
elseprintf("%d\n",B);
}
40.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
三、1.選擇題(20題)41.有下列二叉樹,對此二叉樹前序遍歷的結(jié)果為()。
A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH
42.在數(shù)據(jù)結(jié)構(gòu)中,從邏輯結(jié)構(gòu)上看可以分成______。
A.動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.線性結(jié)構(gòu)和非線性結(jié)構(gòu)C.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)D.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)
43.設(shè)有以下語句:charstr1[]="string",str2[8],*str3,*str4=="string;則______不是對庫函數(shù)的正確調(diào)用。
A.strcpy(str1,"HELLO1");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4")
44.棧和隊列的共同特點(diǎn)是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同點(diǎn)
45.當(dāng)用“#defineF37.5f”定義后,下列敘述正確的是()。
A.F是float型數(shù)B.F是Char型數(shù)C.F無類型D.F是字符串
46.下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,請選擇填空。#include<stdio.h>main(){inti=0,j,k;do{i++;k=316-13*i}while(______);j=k/11;printf("316=13*%d+11,%d”,i,j);}
A.k/11B.k%11C.k/11==0D.k%11==0
47.軟件(結(jié)構(gòu))設(shè)計階段產(chǎn)生的文檔是______。
A.程序流程圖B.系統(tǒng)功能說明書C.系統(tǒng)模型說明書D.模塊結(jié)構(gòu)圖和模塊說明書
48.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
49.下面程序的輸出結(jié)果是()#definePI3.1415#defineARE(x)PI*x*xmain(){intr=2;printf("%f",ARE(r+1));}
A.28.26B.28.26C.9.28D.9.28
50.若有以下定義和語句:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為3的表達(dá)式是______。
A.p+=2,*(p++)B.P+=2,*++pC.P+=3,*p++D.P+=2,++*p
51.使計算機(jī)病毒傳播范圍最廣的媒介是________
A.硬磁盤B.軟磁盤C.內(nèi)部存儲器D.互聯(lián)網(wǎng)
52.下面不屬于軟件設(shè)計原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
53.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。
A.-3B.9C.-12D.6
54.在執(zhí)行下述程序時,若從鍵盤輸入6和8,則結(jié)果為
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a
if(a<b)
s=b;
s*=s;
printf("%d",s);}
A.36B.64C.48D.以上都不對
55.以下程序的輸出結(jié)果是______。inti=010,j=10;printf("%d,%d\n",++i,j--);
A.11,10B.9,10C.10,10D.10,9
56.在對下列函數(shù)調(diào)用中,不正確的是()
A.max(a,b);B.max(3,a+b);C.max(3,5)D.intmax(a,b);
57.有以下函數(shù)intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下關(guān)于aaa函數(shù)的功能的敘述正確的是A.求字符串s的長度B.比較兩個串的大小C.將串s復(fù)制到串tD.求字符串s所占字節(jié)數(shù)
58.若有定義floata=25,b,*p=&b;,則下列對賦值語句*p=a;和p=&a;的正確解釋為()。
A.兩個語句都是將變量a的值賦予變量p
B.*p=a是使p指向變量a,而p=&a是將變量a的值賦予變量指針p
C.*p=a是將變量a的值賦予變量b,而p=&a是使p指向變量a
D.兩個語句都是使p指向變量a
59.下列關(guān)于隊列的敘述中正確的是______。A.在隊列中只能插入數(shù)據(jù)B.在隊列中只能刪除數(shù)據(jù)C.隊列是先進(jìn)先出的線性表D.隊列是先進(jìn)后出的線性表
60.以下所列的各函數(shù)首部中,正確的是______。
A.voidplay(Var:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
四、選擇題(20題)61.(70)需求分析階段的任務(wù)是確定()
A.軟件開發(fā)方法
B.軟件開發(fā)工具
C.軟件開發(fā)費(fèi)用
D.軟件系統(tǒng)功能
62.有以下計算公式:
若程序前面已在命令行中包含math.h文件,不能夠正確計算上述公式的程序段是
([answer]
63.有以下程序:main{intx,i;for(i=l;i<=50;i++){x=i:if(x%2=0)if(x%3=0)if(X%7=0)printf(”%d,i)”;}}輸出結(jié)果是()。A.28B.27C.42D.4l
64.
65.(13)設(shè)一棵完全二叉樹共有699個結(jié)點(diǎn),則在該二叉樹中的葉子結(jié)點(diǎn)數(shù)為()
A.349
B.350
C.255
D.351
66.
67.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.PrphsbnB.ProhsbnC.ProgsbnD.Program
68.鏈表不具有的特點(diǎn)是A.A.不必事先估計存儲空間
B.可隨機(jī)訪問任一元素
C.插入和刪除不需要移動元素
D.所需空間與線性表長度成正比
69.數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。
A.控制流B.事件驅(qū)動C.模塊調(diào)用D.數(shù)據(jù)流
70.以下選項中,當(dāng)x為大于1的奇數(shù)時,值為0的表達(dá)式是()。
A.x%2==0B.x/2C.x%21=0D.x%2==1
71.下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是______。
A.文件由ASCII碼字符序列組成,C語言只能讀寫文本文件
B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件
C.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
D.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
72.有以下程序:main{inti,n=0:for(i=2;i<5;i++){do{if(i%3)continue:n++:}while(!i);n++:}printf("n=%d\n",n);}程序執(zhí)行后輸出結(jié)果是()。A.n=5B.n=2C.n=3D.n=4
73.設(shè)有下列二叉樹:對此二叉樹前序遍歷的結(jié)果為()
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY
74.
75.在數(shù)據(jù)庫設(shè)計中,用E-R圖來描述信息結(jié)構(gòu),但不涉及信息在計算機(jī)中的表示,它是數(shù)據(jù)庫設(shè)計的()階段。
A.需求分析B.概念設(shè)計C.邏輯設(shè)計D.物理設(shè)計
76.設(shè)有定義:charp[]={1,2,3),*q=p;,以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
77.(37)下面不屬于軟件設(shè)計原則的是()
A.抽象
B.模塊化
C.自底向上
D.信息隱蔽
78.有如下程序段
#include"stdio.h"
#include"string.h"
#defineN10
#defineM10
char*find(char(*a)[M],intn)
{char*q;inti;
q=a[0];
for(i=0;i<n;i++)
if(strcmp(a[i],q)<0)q=a[i];
returnq;}
main()
{chars[N][M]={"tomeetme","you","and","he","china"};
char*p;
intn=5;
p=find(s,n);
puts(p);}
則執(zhí)行后輸出的結(jié)果為A.A.heB.andC.youD.tomeetme
79.
80.
五、程序改錯題(1題)81.下列給定程序中函數(shù)fun的功能是:將長整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。
例如,當(dāng)s中的數(shù)為87653142時,t中的數(shù)為7531。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun(),其功能是除了字符串前導(dǎo)和尾部的*號外,將字符串中其他的*號全部刪除。形參h指向字符串中第一個字母,形參p指向字符串中最后一個字母。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,若字符串中的內(nèi)容為“****A*BC*DEF*G********”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“****ABCDEFG********”。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#include<string.h>voidfun(char*a,char*h,char*p){}main(){chars[8l],*t,*f;printf(“Enterastring:\n”);gets(s);t=f=s;while(*t)t++;t--;while(*t==‘*’)t--;while(*f==‘*’)f++;fun(s,f,t);printf(“Thestringafterdeleted:\n”);puts(s);}
參考答案
1.B
2.A
3.D本題主要考查do—while循環(huán),因為變量t的初始值等于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)。
4.C將兩個字符串連接起來組成一個字符串,選用strcat函數(shù)來連接。
5.B
6.C
7.AC語言中,文件打開方式“a+”表示打開一個文本文件,從文件開始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時指定的文件名創(chuàng)建一個新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項。
8.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf('%c%c\\n',c5,c6)輸出45。
9.BB選項輸出的格式為%d,即整型格式,所以輸出字符‘A’的ASCII值65,而不是字母A。因為大寫字母比其對應(yīng)的小寫字母的ASCII值小32,所以A選項正確。字符‘A’的ASCII值是65,以%c格式輸出可以輸出字母A,所以C選項正確。因為字符‘A’的ASCII值比字符‘B’的小1,所以D選項正確。故本題答案為B選項。
10.DD)【解析】數(shù)據(jù)庫設(shè)計目前一段采用生命周期法.即將整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的開分解成目標(biāo)獨(dú)立的若干階段,它們是:需要分析階段、概念設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段、編碼階段、測試階段、運(yùn)行階段、進(jìn)一步修改階段。在數(shù)據(jù)庫設(shè)計中采用上面幾個階段中的前四個階段,并且重點(diǎn)以數(shù)據(jù)結(jié)構(gòu)和模型設(shè)計為主線。
11.B
\n①以內(nèi)模式為框架所組成的數(shù)據(jù)庫,1物理數(shù)據(jù)庫;②以概念模式為框架所組成的數(shù)據(jù)庫叫概念數(shù)據(jù)庫;③以外模式為框架所組成的數(shù)據(jù)庫叫用戶數(shù)據(jù)庫。它是真實存在于計算機(jī)外存中的數(shù)據(jù)庫。
\n
12.A由題意可知:指針變量p指向變量a,p的值是a的地址;指針變量q指向變量p,q的值是P的地址。q是指針變量,q指向p,*q是變量P,選項A錯誤;p是指針變量,p指向變量a,選項B正確;由于q指向P,因此*q指向a,選項C正確;*p和**q都代表變量a,選項D正確。故本題答案為A選項。
13.C
14.A本題的考點(diǎn)是C語言的數(shù)組及其排序。本題的程序中分為2個循環(huán)體,第一個循環(huán)體將數(shù)組中1,3,5,7,2,4,6,0的前4個元素從大到小排序,這個循環(huán)體結(jié)束后數(shù)組中的值為7,5,3,1,2,4,6,0。第二個循環(huán)體將數(shù)組中7,5,3,1,2,4,6,0從第5個開始的4個元素從小到大排序,這個循環(huán)體結(jié)束后數(shù)組中的值為7,5,3,1,0,2,4,6。所以正確答案是選項A。
15.A
16.C解析:解答本題,首先要明白在對指針進(jìn)行加、減運(yùn)算的時候,數(shù)字“1”不是十進(jìn)制的數(shù)“1”,而是指'1'個存儲單元長度,而1個存儲單元長度占多少存儲空間,應(yīng)該視具體情況而定。如果基本類型是int型,移動1個存儲單元的長度就是位移2個字節(jié),如果基本類型是float型,移動1個存儲單元的長度就是位移4個字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。
17.A解析:分析程序呵知.程序循環(huán)5次,然后利用if語句決定每次循環(huán)時輸出的字符。當(dāng)i為奇數(shù)時,i%2=1,if(i%2)為真,輸出“*”;當(dāng)i為偶數(shù)時,i%2=0,if(i%2)為假,執(zhí)行else語句,輸出“#”,所以當(dāng)i取1、3、5值時輸出“*”,當(dāng)i取2、4值時輸出“#”。
18.A函數(shù)名代表函數(shù)的入口地址,函數(shù)指針P指向一個同類型的函數(shù)f時,可以寫成“p=f;”,而不能寫成“P=&f;”,選項B錯誤。指針p指向一個數(shù)組f時,可以寫成“p=f;”,數(shù)組名f代表數(shù)組的首地址,選項C錯誤。指針變量指向的是變量的地址,選項D錯誤。char型根據(jù)轉(zhuǎn)化原則可以轉(zhuǎn)化為double類型。故本題答案為A選項。
19.A解析:和線性表類似,棧也有兩種存儲方法,一是順序棧,二是鏈?zhǔn)綏?。棧的順序存儲結(jié)構(gòu)是利用一組地址連續(xù)的存儲單元一次存儲自棧底到棧頂?shù)臄?shù)據(jù)元素,同時附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對而言,鏈?zhǔn)綏5牟僮鞲子趯崿F(xiàn)。注意:這3種運(yùn)算方法在各種存儲結(jié)構(gòu)中的應(yīng)用。
20.D關(guān)系模型采用二維表來表示,簡稱表。本題答案為D選項。
21.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。
22.封裝封裝
23.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)時,a=c++=8,所以k=8。
24.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型。
25.structDATEd={2006101};structDATEd={2006,10,1};解析:在C語言中,結(jié)構(gòu)體變量定義語句的一般形式如下:
struct<結(jié)構(gòu)體名><結(jié)構(gòu)體對象名>[=<初始化列表>];
在本題中,<結(jié)構(gòu)體名>是DATE,<結(jié)構(gòu)體對象名>題目要求為d,而可有可無的<初始化列表>本題要求為{2006,10,1}。故應(yīng)該填structDATEd={2006,10,1};。
26.n/2n/2解析:刪除一個元素,平均移動的元素個數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個元素,平均移動元素個數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2;所以總體平均移動元素個數(shù)為n/2。
27.PRICEintnumtotaltotalnum
28.概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)
29.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個;維表代表一種關(guān)系。
30.ABCDCD
31.33解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因為x不大于y,所以執(zhí)行printf('%d\\n',z);語句。
32.-2。-2。解析:表達(dá)式z-=x<y?x++:++y相當(dāng)于先執(zhí)行++y,再執(zhí)行z-=x<y?x:y,最后執(zhí)行x++,其中z-=x<y?x:y等價于z=z-(x<y?x:y),由于x值為3,y值為3,x<y不成立,返回y的值,z-y的值為-2,賦給z。
33.220220解析:根據(jù)賦值運(yùn)算符“自右至左”的結(jié)合順序,程序中賦值表達(dá)式x=f*=n/=(c=50)的求解步驟為:首先計算n/=(c=50),即n=n/c=100/50=2;然后計算f*=n,即f=f*n=10*2=20.000000,由此得到x的值為20.000000。
34.隊列隊列解析:隊列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一端刪除元素,插入元素的一端叫做“隊尾”,刪除元素的一端叫做“隊頭”,先插入的元素先被刪除,是按先進(jìn)先出的原則組織數(shù)據(jù)的。
35.b[i][N-1];s[0][i]實現(xiàn)把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b[i][0]=a[N-1][i]門實現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組中的第0列。\r\n\r\n
36.0
37.程序設(shè)計的任務(wù)是診斷和改正程序中的錯誤。程序調(diào)試活動由兩部分組成,其一是根據(jù)錯誤的跡象確定程序中錯誤的確切性、原因和位置;其二是對程序進(jìn)行修改,排除這個錯誤。\r\n\r\n
38.文檔文檔解析:計算機(jī)軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
39.11解析:本題是一個陷阱題。在if語句的判斷表達(dá)式中,使用的不是邏輯運(yùn)算符==而是賦值運(yùn)算符=,使該表達(dá)式返回的結(jié)果正好相反。如果是c==a,則結(jié)果為假。但是c=a則是將a賦給c,且表達(dá)式的結(jié)果是賦值之后的c的值,因此結(jié)果為1是真.故最后輸出c的值1。
40.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
41.B解析:對二叉樹的前序遍歷是指:先訪問根結(jié)點(diǎn),然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時,先訪問根結(jié)點(diǎn),再依次訪問其左,右子樹。
42.B
43.C解析:C語言中:strcpy(st1,st2);,其兩個參數(shù)均為字符指針或字符數(shù)組,選項C中的目的中指針str3沒有指向具體有效的存儲單元,故是錯誤的調(diào)用。
44.C解析:考查棧和隊列概念的掌握。棧和隊列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種'后進(jìn)先出'的線性表;而隊列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種'先進(jìn)先出'的線性表。模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級,分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項C),沒有這種耦合方式。
45.D解析:字符替換定義格式為:#define標(biāo)識符(形參表)形參表達(dá)式。題中F是代表形參表達(dá)式的標(biāo)識符(字符串)。
46.B解析:本題的關(guān)鍵是兩個加數(shù)分別能被13和11整除。當(dāng)k%11的值為0時,則退出循環(huán),將執(zhí)行j=k/11;語句,輸出結(jié)果,所以該表達(dá)式合理的條件是k%11。
47.D
48.AB選項中運(yùn)算符“%”的運(yùn)算對象為整數(shù)。C選項中不能將變量賦給表達(dá)式“x+n”。D選項中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項。
49.D
50.A解析:引用一個數(shù)組元素,可以用:(1)下標(biāo)法,如a[i]形式;(2)指針法,如*(a+i)或*(p+i)。數(shù)組的下標(biāo)從0開始,值為3的數(shù)組元素是a[2]。B、C的內(nèi)容為a[3],D將a[2]前自加,結(jié)果為4。
51.D
52.C解析:軟件設(shè)計遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計中應(yīng)該遵循的基本原理和與軟件設(shè)計有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來而不考慮其他細(xì)節(jié)。②模塊是指可以單獨(dú)命名且可編址的元素。如高級語言中的過程、函數(shù)、子程序等。③信息隱蔽是指在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。④模塊獨(dú)立性是指每個模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。因此,本題的正確答案是C。
53.C解析:本題中首先定義一個整型變量a并給它賦初值為3,在表達(dá)式中,從右開始執(zhí)行,即先執(zhí)行“a-=a*a;”等價于a=a-a*a即a=3-3*3=-6,此時a的值為-6,接著執(zhí)行“a+=a-;”相當(dāng)于執(zhí)行a=a+a即a=-6+(-6)=-12,此時a的值為-12。所以,4個選項中選項C符合題意。
54.B解析:本題中a的值為6,b的值為8,最后s的值為8,s*=s等價于s=s*s。
55.B解析:在C語言中,以0開頭表示八進(jìn)制數(shù),所以本題程序中010表示八進(jìn)制數(shù)10,相當(dāng)于十進(jìn)制數(shù)8。因此i的初值為8,經(jīng)++i后,i的值為9。變量j經(jīng)j--后,變?yōu)?0,由于自減運(yùn)算符在j的右側(cè),所以是先輸出j的值10后,再自減1。
56.D
57.A解析:aaa()函數(shù)中,首先定義了一個字符指針t指向形參s,然后通過一個while循環(huán)讓指針\u3000t不斷遞增,直到t指向字符串結(jié)束標(biāo)志處。當(dāng)t指向結(jié)束標(biāo)志處時,由于后綴++運(yùn)算符的原因,它還會被再遞增1,所以接卜來的t--;語句讓它回到結(jié)束標(biāo)志處。最后返回t-s,因此s還是指向字符串第1個字符處,而t指向了字符串結(jié)尾,故返回值為字符串的長度值。
58.C解析:“p”是指針變量,指向一個地址:“*p”,為p指針?biāo)赶虻刂返膬?nèi)容。
59.C隊列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,選項A和選項B錯誤。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。在隊列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊列又稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表,它體現(xiàn)了“先來先服務(wù)”的原則,選項C正確,選項D錯誤。
60.C解析:C語言中函數(shù)首部中的各參數(shù)必須分開單獨(dú)定義,因此選項C才是正確的。而選項A和D是其他語言的函數(shù)定義方式。
61.D
62.B從本題給出的計算公式我們可以看出,這個公式的作用是:無論變量x的值是大于零或小于零,都取其絕對值。知道公式的作用后,再分析選項。
在選項A中,當(dāng)變量x的值小于0時,對其取絕對值操作,而當(dāng)變量x的值大于0時,取其本身,與公式描述的內(nèi)容完全一致。
在選項B中,首先對變量x進(jìn)行取絕對值操作,將結(jié)果賦值給變量y,然后當(dāng)x小于0時,將小于0的x重新賦值給變量y,使變量y中含有賦值,與公式描述的內(nèi)容不一致。
在選項C中,如果變量x的值大于等于0,則將其值賦給變量y,否則,當(dāng)x的值小于0時,取反再賦值給變量y,這也相當(dāng)于取絕對值,能正確表示公式的內(nèi)容。
在選項D中,與選項C所表述的意思完全一樣,能正確表示公式的內(nèi)容。
63.C只有當(dāng)3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數(shù)只有42,故選擇C選項。
64.A
65.B注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉數(shù)的特點(diǎn)可求出
66.A
67.B(*q)++是q所指的字符加l,q++就是指針移到下一個字符。因此B選項正確。
68.B鏈表是一種特殊的線性表,鏈表的存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)不同,它的存儲區(qū)域可以是任意的存儲單元,對存儲系統(tǒng)中零碎的存儲部分具有更好的應(yīng)用,在給其分配存儲單元時,不必事先估計整個存儲單元的空間大?。挥捎阪湵淼脑厥峭ㄟ^指針域的指針相連的,用鏈表存儲數(shù)據(jù)時,對其進(jìn)行插入和刪除操作時,不需要移動其他元素,只需改變其直接前驅(qū)指針域,使其指向該結(jié)點(diǎn),并將該結(jié)點(diǎn)的指針域修改為指向其直接后繼結(jié)點(diǎn)即可。當(dāng)然,不管是鏈表還是順序存儲,所需空間與線性表長度都成正比。在鏈?zhǔn)酱鎯Φ逆湵斫Y(jié)構(gòu)中,由于后一結(jié)點(diǎn)數(shù)據(jù)被存儲在哪里,只有通過前一結(jié)點(diǎn)的指針域才知道,因此,訪問時只能是逐個訪問,而不能實現(xiàn)隨機(jī)訪問。
69.D解析:數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)的功能建模。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要的圖形元素與說明如下:
加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。
數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。
存儲文件(數(shù)據(jù)源):表示處理過程中存放各種數(shù)據(jù)的文件。
源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。
70.A算術(shù)運(yùn)算符的優(yōu)先級高于關(guān)系運(yùn)算符的優(yōu)先級,所以當(dāng)x為大于1的奇數(shù)時,A選項的值為假,即0。B選項的值為不定值,但絕對
溫馨提示
- 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è)單位“才匯九江”高層次人才招聘373人考前自測高頻考點(diǎn)模擬試題及答案詳解(各地真題)
- 涂料產(chǎn)品知識培訓(xùn)
- 2025江蘇南京交通職業(yè)技術(shù)學(xué)院招聘高層次人才14人模擬試卷及答案詳解(歷年真題)
- 2025年福建省福州大學(xué)招聘2人模擬試卷及答案詳解(有一套)
- 2025黑龍江黑河市愛輝區(qū)中心敬老院招聘護(hù)理員、夜巡安保員及消防設(shè)施操作員13人考前自測高頻考點(diǎn)模擬試題有完整答案詳解
- 2025廣東廣州市中山大學(xué)孫逸仙紀(jì)念醫(yī)院全科醫(yī)學(xué)科醫(yī)教研崗位招聘1人考前自測高頻考點(diǎn)模擬試題(含答案詳解)
- 2025年度哈爾濱市木蘭縣“丁香人才周”(春季)事業(yè)單位引才招聘76人模擬試卷及完整答案詳解
- 2025年合肥師范學(xué)院輔導(dǎo)員招聘32人模擬試卷及答案詳解(新)
- 2025年池州市貴池區(qū)事業(yè)單位公開招聘67人模擬試卷及參考答案詳解
- 安全培訓(xùn)考核省級題庫課件
- 云南民族民間舞蹈課件
- 村衛(wèi)生室藥品管理制度
- 掩耳盜鈴兒童故事繪本PPT
- CIED植入圍手術(shù)期抗凝治療
- 現(xiàn)代醫(yī)學(xué)實驗動物科學(xué)和比較醫(yī)學(xué)研究
- 《發(fā)現(xiàn)雕塑之美》第4課時《加法與減法的藝術(shù)》
- 澳門立法會間接選舉制度及其實踐
- 1-5年級英語單詞
- GA 1551.3-2019石油石化系統(tǒng)治安反恐防范要求第3部分:成品油和天然氣銷售企業(yè)
- 食品安全BRCGS包裝材料全球標(biāo)準(zhǔn)第六版管理手冊及程序文件
- 醫(yī)療器械批生產(chǎn)記錄
評論
0/150
提交評論