




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022-2023年河北省滄州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級:________姓名:________考號:________一、單選題(20題)1.下列排序算法中,()算法可能會出現(xiàn)下面情況:初始數(shù)據(jù)有序時(shí),花費(fèi)的時(shí)間反而最多。
A.堆排序B.冒泡排序C.快速排序D.希爾排序
2.不帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL
3.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)罘是()。#include<stdio.h>#include<string.h>main(){charss[10]="1,2,3,4,5":gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A.ABC6789B.ABC67C.12345ABC6D.ABC456789
4.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。
A.10011000B.10001100C.10101000D.10110000
5.設(shè)有以下函數(shù):
voidfun(intn,char*$s){……}
則下面對函數(shù)指針的定義和賦值均正確的是A.void(*pf)();pf=fun;
B.void*Pf();pf=fun;
C.void*pf();*pf=fun;
D.void(*pf)(int,char);nf=&fun;
6.若要求定義具有10個(gè)int型元素的一維數(shù)組a,則以下定義語句中錯(cuò)誤的是()。
A.#definen5inta[2*n];
B.intn=10,a[n];
C.inta[5+5];
D.#defineN10inta[N];
7.下列定義數(shù)組的語句中,正確的是()。A.#defineN10;intx[N];
B.intN=10;intx[N];
C.int:x[0.10];
D.intx[];.
8.有以下程序:#include<stdio.h>main(){intx=10,y=11,z=12;if(y<z)x=y;y=z;z=x;printf(“x=%dy=%dz=%d\n”,x,y,z);}程序運(yùn)行后的輸出結(jié)果是()。
A.x=11y=12z=11
B.x=10y=10z=10
C.x=11y=11z=10
D.x=10y=10z=12
9.以下函數(shù)的功能是()intfun(char*A){char*b=a;while(*B)b++;{returnb-a;}}
A.比較兩個(gè)字符串的大小B.字符串的復(fù)制C.計(jì)算字符串的長度D.字符串的連接
10.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti,S=0;for(i=1;i<10;i++)if(!(i%2)&&!(i%3))s+=i;printf("%d\n",s);}A.4B.39C.45D.6
11.以下對C語言函數(shù)的有關(guān)描述中,正確的是
A.在C語言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參
B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C.函數(shù)必須有返回值,否則不能使用函數(shù)
D.函數(shù)必須有返回值,返回值類型不定
12.向一個(gè)棧頂指針為h的帶頭結(jié)點(diǎn)的鏈棧中插入指針s所指的結(jié)點(diǎn)時(shí),應(yīng)執(zhí)行()操作。
A.h->next=s;
B.s->next=h;
C.s->next=h;h->next=s;
D.s->next=h->next;h->next=s;
13.給出以下定義:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};則正確的敘述為()。
A.數(shù)組x和數(shù)組y等價(jià)B.數(shù)組x和數(shù)組y的長度相同C.數(shù)組x的長度大于數(shù)組y的長度D.數(shù)組x的長度小于數(shù)組y的長度
14.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
15.
若變量均已正確賦初值,則以下語句中
錯(cuò)誤的是()。
A.tl=t2;
B.t2.numl=tl.numl;
C.t2.mark=tl.Mark
D.t2.num2=tl.hum2;
16.有以下程序:#include<stdio.h>point(char*p){p+=3;}main()charb[4]={'a','b','c','d'},*p=b;point(p);printf("%c\n",*p);
A.aB.bC.cD.d
17.為了使模塊盡可能獨(dú)立,要求_____。A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
18.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)II(a!=1)的值是()。
A.1B.0C.2D.不知道a的值,不能確定
19.
20.以下函數(shù)調(diào)用語句中含有實(shí)參個(gè)數(shù)為().func((exp1,exp2),(exp3,exp4,exp5));
A.1個(gè)B.2個(gè)C.4個(gè)D.5個(gè)
二、2.填空題(20題)21.若有定義inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。
22.設(shè)有以下定義和語句:
inta[3][2]={1,2,3,4,5},*p[3];
p[0]=a[1];
則*(p[0]+1)所代表的數(shù)組元素是【】。
23.以下程序的輸出結(jié)果是【】。
voidfun()
{staticinta;
a+=2;
printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<=4;cc++)fun();
printf("\n");
}
24.以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結(jié)果傳回,請?zhí)羁铡?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;}
25.以上程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti=10,j=0;
do
{j=j+i;i-;}
while(i>2);
printf("%d\n",j);
}
26.以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf(:Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);}
27.
doublefun(intn)
{doubles=0.0,fac=1.0;inti;
for(i=1;i<=n;i++)
{fac=fac【】;
s=s+fac;
}
returns;
}
28.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為______。
29.下列程序的運(yùn)行結(jié)果是______。
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("%d,%d\n",a,b);
}
30.下列程序的運(yùn)行結(jié)果為【】。
main()
{inta,b,c,x,y,z;
a=10;b=2;
c=!(a%b);x=!(a/b);
y=(a<b)&&(b>=0);
z=(a<b)||(b>=0);
printf("c=%d,x=%d,y=%d,z=%d\n",c,x,y,z);
}
31.在面向?qū)ο蠓椒ㄖ校瑢傩耘c操作相似的一組對象稱為【】。
32.E-mail地址由用戶名和域名兩部分組成,這兩部分的分隔符為【】。
33.下面程序的運(yùn)行結(jié)果是______。
#defineDOUBLE(x,y)x/y
main()
{intx=4,y=2,t;
t=DOUBLE(x+y,x-y);
printf("%d",t);
}
34.在面向?qū)ο蟮姆椒ㄖ校琠_____描述的是具有相似屬性與操作的一組對象。
35.在C語言中,字符的比較就是對它們的【】碼進(jìn)行比較。
36.以下程序的輸出結(jié)果是【】。
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(6,3,a)
printf("%d,a)
}
37.閱讀下面語句,則程序的執(zhí)行結(jié)果是【】。
#include"stdio.h"
main()
{inta=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\n",a,b);
elseprintf("%d,%d\n",b,a);}
38.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對象。
39.在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為【】。
40.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
三、1.選擇題(20題)41.有以下程序:voidfun(intk){staticinta[5];inti;for(i=0;i<5;i++){a[i]+=i+k,printf("%d",a[i]);}printf("\n");}main(){fun(1);fun(2);}程序的輸出結(jié)果是()
A.12345357911
B.隨機(jī)數(shù)
C.1234523456
D.12345246810
42.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。
A.a==1B.++i;C.a=int(i);D.a=a++=5;
43.下列敘述中,正確的是
A.用E-R圖能夠表示實(shí)體集間一對一的聯(lián)系、一對多的聯(lián)系和多對多的聯(lián)系
B.用E-R圖只能表示實(shí)體集之間一對一的聯(lián)系
C.用E-R圖只能表示實(shí)體集之間一對多的聯(lián)系
D.用E-R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
44.C語言的基本單位是()。
A.函數(shù)B.過程C.子程序D.子函數(shù)
45.在說明語句:int*f();中,標(biāo)識符f代表的是
A.一個(gè)用于指向整型數(shù)據(jù)的指針變量
B.一個(gè)用于指向一維數(shù)組的行指針
C.一個(gè)用于指向函數(shù)的指針變量
D.一個(gè)返回值為指針型的函數(shù)名
46.若有說明chars1[30]="abc",s2[]="defghi";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為abcdefghi
B.s1的內(nèi)容更新為defghi\0
C.s1的內(nèi)容更新為defghiabc\0
D.s1的內(nèi)容更新為abcdefghi\0
47.假定下面程序可執(zhí)行文件名prg.exe,則該程序所在的子目錄下輸入命令行:prghellogood<回車>后,程序的輸出結(jié)果是_______。main(intargc,char*argv[]){inti;for(i=1;i<argc;i++)printf("%c",argv[i]);}
A.hellogoodB.hgC.helD.hellogood
48.瀑布模型適合于______。
A.大型軟件系統(tǒng)開發(fā)B.中型軟件系統(tǒng)開發(fā)C.小型軟件系統(tǒng)開發(fā)D.大、中、小型軟件系統(tǒng)開發(fā)
49.在“文件包含”預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用<>(尖括號)括起時(shí),尋找被包含文件的方式是()。
A.僅僅搜索當(dāng)前目錄
B.僅僅搜索源程序所在目錄
C.在標(biāo)準(zhǔn)目錄下查找指定的文件
D.先在源程序所在目錄搜索,如查找不到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄查找
50.下列數(shù)據(jù)結(jié)構(gòu)中的______是線性結(jié)構(gòu)。
A.隊(duì)列B.有向圖C.樹D.哈夫曼樹
51.以下不能對二維數(shù)組a進(jìn)行正確初始化的語句是
A.inta[2][3]={0};
B.inta[][3]={{1,2},{0}};
C.inta[2)[3]={{1,2},{3,4},{5,6}};
D.inta[][3]={1,2,3,4,5,6};
52.使用白盒測試法時(shí),確定測試數(shù)據(jù)應(yīng)該根據(jù)()和指定的覆蓋標(biāo)準(zhǔn)。
A.程序的內(nèi)部邏輯B.程序的復(fù)雜結(jié)構(gòu)C.使用說明書D.程序的功能
53.若有以下定義,則不能代表字符。的表達(dá)式是______。chars[20]="programming",*ps=s;
A.ps+2B.s[2]C.ps[2]D.ps+=2,*ps
54.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。
A.24B.28C.32D.36
55.下列選項(xiàng)中錯(cuò)誤的說明語句是
A.chara[]={'t','o','y','o','u','\0'};
B.chara[]={"toyou\0"};
C.chara[]="toyou\0";
D.chara[]='toyou\0';
56.下列敘述中正確的是()。
A.調(diào)用printf()函數(shù)時(shí),必須要有輸出項(xiàng)
B.使用putchar()函數(shù)時(shí),必須在之前包含頭文件stdio.h
C.在C語言中,整數(shù)可以以二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調(diào)節(jié)getchar()函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對應(yīng)的ASCII碼
57.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){charstr1[100]="abcddfefdbd",c='d':ss(str1,C);printf("%s\n",str1);}程序運(yùn)行后的輸出結(jié)果是()
A.ABCDDEFEGDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
58.以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
程序運(yùn)行后的輸出結(jié)果是
A.4B.3C.2D.1
59.以下敘述中正確的是()。
A.周部變量說明為static存儲類,其生存期將礙到延長
B.全局變量說明為static存儲類,其作用域?qū)⒈粩U(kuò)大
C.任何存儲類的變量在未賦初值時(shí),其值都是不確定的
D.形參可以使用的存儲類說明符與局部變量完全相同
60.下面程序輸出的結(jié)果是
main()
{inti;
inta[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d",a[2-i][i]);}
A.159B.753C.357D.591
四、選擇題(20題)61.
以下程序的輸出結(jié)果是()。
voidfun(int*a,inti,inti)
{intt;
if(i<i)
{t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;fun(a,i,j);
}
}
main
{intK[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf("\n");
}
A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2
62.
63.
64.
A.包含l個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說明不合法,c的值不確定
65.已知inti=1;執(zhí)行語句while(i++<4);后,變量i的值為()。
A.3B.4C.5D.6
66.有下列程序:、
fun(intX,inty){return(x+y);)
main()
{inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的輸出結(jié)果是()。
A.6B.7C.8D.9
67.
68.有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
for(i=0;i<*a;i++)
for(j=0;j<*b;j++)
for(k=0;k<*c;k++)
for(m=0;m<*d;m++)
++*e;
}
main()
{inta=10,b=10,c=10,d=10,e=0;
fun(&a,&b,&c,&d,&e);
printf("%d\n",e);}
則程序段的輸出結(jié)果是
A.10000B.1000
C.100D.0
69.下列關(guān)于棧的敘述正確的是()。
A.棧按“先進(jìn)先出”組織數(shù)據(jù),B.棧按“先進(jìn)后出”組織數(shù)據(jù)C.只能在棧底插入數(shù)據(jù)D.不能刪除數(shù)據(jù)
70.下面的程序段運(yùn)行后,輸出結(jié)果是()。
A.9B.0C.不確定值D.18
71.
若希望下列的程序運(yùn)行后輸出25,程序空白處的正確選項(xiàng)是()。
main
{inti,j=50,a[]={7,4,10,5,8};
for()
j+=a[i];
printf("%d",j-40);
}
A.i=l;i<4;++i
B.i=1;i<3;++i
C.i=4;i>2;i--
D.i=2;i<4;++i
72.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說法都不對
73.
74.
75.
76.程序流程圖(PFD.中的菱形代表的是()。
A.數(shù)據(jù)流B.控制流C.加工步驟D.邏輯條件
77.函數(shù)fseek(pf,OL,SEEKEND)中的SEEKENE代表的起始點(diǎn)是()。
A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對
78.有以下程序
#include<stdio.h>
main()
{unsignedchara;
a=4^6;
printf("%d,\n",a);
}
程序的運(yùn)行結(jié)果是
A.4,B.2,
C.2D.4
79.
80.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.let=4B.m=2C.m=6D.m=5
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:求兩個(gè)非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若num1和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸出的最大公約數(shù)為27。請改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的記錄已存入a結(jié)構(gòu)體數(shù)組中。請編寫函數(shù)fun(),該函數(shù)的功能是找出成績最高的學(xué)生記錄,通過形參將其返回主函數(shù)(規(guī)定只有一個(gè)最髙分)。已給出函數(shù)的首部,請完成該函數(shù)。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdlib.h>#include<stdio.h>#include<string.h>#include<conio.h>#defineN10typedefstructss/*定義結(jié)構(gòu)體*/{charnum[10];ints;}STU;fun(STUa[],STU*s){}voidmain(){STUa[N]={{“A01”,81},{“A02”,89},{“A03”,66},{“A04”,87},{“A05”,77},{“A06”,90},{“A07”,79},{“A08”,61},{“A09”,80},{“A10”,71}},m;inti;system(“CLS”);printf(“****Theoriginaldata****”);for(i=0;i<N;i++)printf(“No=%sMark=%d\n”,a[i].num,a[i].s);fun(a,&m);printf(“****THERESULT****\n”);printf(“Thetop:%s,%d\n”,m.num,m.s);}
參考答案
1.C
2.A解析:在不帶頭結(jié)點(diǎn)的單鏈表head中,head指向第一個(gè)元素結(jié)點(diǎn),head=NULL表示該鏈表為空,所以答案為A。
3.A當(dāng)執(zhí)行g(shù)ets(ss)后,ss數(shù)組中的元素為ABC,再執(zhí)行strcat(ss,"6789"),strcat的作用,是把6789連接到了ss數(shù)組后面,執(zhí)行完后SS數(shù)組為ABC6789,故選擇A選項(xiàng)。
4.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。
5.A解析:函數(shù)指針的定義形式是:數(shù)據(jù)類型標(biāo)識符(*指針變量名)()。void(*pf)()定義了一個(gè)沒有返回值的函數(shù)指針pf,在給函數(shù)指針變量賦值時(shí),只需給出函數(shù)名而不必給出參數(shù)。所以給pf賦值時(shí),只把函數(shù)名fun賦給pf即可。所以正確答案為選項(xiàng)A)。
6.B一維數(shù)組定義的一般形式為:類型說明符數(shù)組名[常量表達(dá)式]。注意定義數(shù)組時(shí),元素個(gè)數(shù)不能是變量。故本題答案為B選項(xiàng)。
7.A[解析]數(shù)組說明的一般形式為:類型說明符數(shù)組名[常量表達(dá)式]。B)中N是變量,不能用變量定義數(shù)組長度。C)選項(xiàng)中數(shù)組長度是非法的一串?dāng)?shù)字。定義數(shù)組時(shí)必須為其指明長度,D)選項(xiàng)中數(shù)組長度為空,所以非法。\u3000\u3000
8.Aif條件為真,執(zhí)行“x=y;”,此時(shí)x=11,y=11,z=12;再執(zhí)行“y=z;z=x;”,此時(shí)y=12,z=11,即x=11,y=12,z=11。故本題答案為A選項(xiàng)。
9.C
10.Dif語句的條件是當(dāng)i既是3的倍數(shù)又是2的倍數(shù)時(shí)成立,所以此程序?qū)崿F(xiàn)的功能是將10以內(nèi)既是3的倍數(shù)又是2的倍數(shù)的數(shù)相加。
11.A解析:C語言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒有返回值,若有返回值,則返回值類型必須確定。
12.D
13.C解析:在C語言中,字符串以'\\0'作為結(jié)束符,因此數(shù)組x的長度為7+1=8,而數(shù)組y的長度等于7。
14.D本題可以寫成:a+a+(a-(a*a)),所以*的優(yōu)先級最高,其次是-=的,+的優(yōu)先級最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。
15.C結(jié)構(gòu)體變量中的第一成員都是數(shù)組,不能直接將變量tl的成員mark數(shù)組的地址賦給另一個(gè)變量t2的成員mark數(shù)組的地址。因?yàn)榈刂范际枪潭ㄖ?,不能被賦值。結(jié)構(gòu)體可以進(jìn)行整體的賦值。
16.A解析:C函數(shù)的參數(shù)傳遞方式采用按值傳遞,不能通過調(diào)用函數(shù)改變形參指針本身的值,只能改變指針?biāo)缸兞康闹?。調(diào)用point函數(shù)時(shí),將實(shí)參指針p的值(b數(shù)組的首地址)傳給了形參指針P,P+=3運(yùn)算使形參指針指向字符d,但并不能改變main函數(shù)中p的值,所以本題正確答案應(yīng)該是選項(xiàng)A)。
17.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
18.A由于a==l和a!=1兩者互斥,即總有一個(gè)為真,因此二者的或也必定為真。
19.A
20.B
21.00解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。
22.a[1][1]a[1][1]解析:p是一個(gè)指針數(shù)組,p[0]指向數(shù)組a[1][0]。*(p[0]+1)代表數(shù)組a[1][1]。
23.2468
24.int*int*解析:從題中代碼可知:z應(yīng)該是一個(gè)整型指針,因此應(yīng)填int*。
25.5252解析:do...while語句的形式為:
do
{
語句;
}while(條件表達(dá)式)
當(dāng)條件表達(dá)式為非零時(shí),繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)式為零時(shí)退出循環(huán)。
26.C
27./i或*1.O/i或*1或*(1.O/i)或/(double)i/i或*1.O/i或*1或*(1.O/i)或/(double)i解析:主函數(shù)中首先定義了兩個(gè)double型的變量s和fac,并給它們賦初值為0.0和1.0,在函數(shù)中s和fac的作用是存放和以及要加到的那一項(xiàng)的值。通過分析可知,第i項(xiàng)的值可以由第i-1項(xiàng)的值得到,即第i項(xiàng)是第i-1項(xiàng)的值除以i??梢姍M線處應(yīng)添/i或與它等價(jià)的表達(dá)式。
28.-24-24解析:本題考查賦值運(yùn)算符a+=b等價(jià)于a=a+b;a-=a*a等價(jià)于a-a-a*a=4-4*4=-12:a+=a,即a=a+a=-24。
29.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。
30.c=1x=Oy=Oz=1
31.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似性質(zhì)的一組對象。所以,屬性與操作相似的一組對象稱為類。
32.@
33.2
34.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的對象稱為類,類是對象的抽象,對象是類的實(shí)例。
35.ASCⅡ
36.3131解析:在函數(shù)調(diào)用時(shí),形參值和改變,不會改變實(shí)參的值。
37.101,0解析:與運(yùn)算兩邊的語句必須同時(shí)為真時(shí),結(jié)果才為真,當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。
38.類類解析:在面向?qū)ο蠓椒ㄖ校惷枋龅氖蔷哂邢嗨茖傩耘c操作的一組對象。
39.
解析:冒泡排序法是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)線性表的長度為n,則在最壞的情況下,冒泡排序需要經(jīng)過遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。
40.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時(shí)b的值并未被改變。在第2個(gè)表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以兩行語句執(zhí)行完畢,b的值應(yīng)該為3。
41.A
42.B解析:C語言中的語句都以“;”結(jié)尾,因此選項(xiàng)A不是合法語句。強(qiáng)制類型轉(zhuǎn)換運(yùn)算符應(yīng)為“(類型名)”,選項(xiàng)C中的int(i)不符合規(guī)定;如將int(i)看成函數(shù)調(diào)用也是不正確的,int是C語言的關(guān)鍵字,不能作為用戶定義的標(biāo)識符當(dāng)函數(shù)名使用。賦值表達(dá)式的左側(cè)應(yīng)為變量名,而選項(xiàng)D中的a++=5不符合規(guī)定。
43.A解析:兩個(gè)實(shí)體之間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種,即一對一的聯(lián)系、一對多(或多對一)的聯(lián)系和多對多的聯(lián)系;概念模型便于向各種模型轉(zhuǎn)換。由于概念模型不依賴于具體的數(shù)據(jù)庫管理系統(tǒng),因此,容易向關(guān)系模型、網(wǎng)狀模型和層次模型等各種模型轉(zhuǎn)換。
44.AA?!窘馕觥緾語言是函數(shù)式的語言。它的基本組成單位是函數(shù),在C語言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。
45.D解析:帶回指針值的函數(shù),其一般定義形式為:
類型標(biāo)識符*函數(shù)名(參數(shù)表);
例如;int*f(x,y);
其中,f是函數(shù)名,調(diào)用它以后能得到一個(gè)指向整型數(shù)據(jù)的指針(地址),x,y是函數(shù)f的形參。在f的兩側(cè)分別為*運(yùn)算符和()運(yùn)算符,而()優(yōu)先級高于*,因此f先與()結(jié)合,顯然是函數(shù)形式。這個(gè)函數(shù)前面有一個(gè)*,表示此函數(shù)是指針型函數(shù)(函數(shù)值是指針)。前面的int表示返回的指針指向整型變量。
46.D解析:strcat(s1,s2)是把s2字符串連接到s1字符串的末尾,要保證s1能容納下連接后的字符串。
47.B解析:帶參數(shù)的main()函數(shù)常用形式為:main(intargc,char*argv[]),其中,整型變量argc用來記錄命令行中的參數(shù)個(gè)數(shù)。參數(shù)的個(gè)數(shù)由C程序運(yùn)行時(shí)自動計(jì)算出來。字符型指針數(shù)組argv的第一個(gè)元素存放命令名,其后各個(gè)元素依次存放命令行中各個(gè)參數(shù)的首地址,數(shù)組的大小由argc確定。for循環(huán)語句實(shí)現(xiàn)輸出各參數(shù)的第一個(gè)字母。
48.C解析:根據(jù)瀑布模型的特點(diǎn)(連續(xù)無反饋)是對于每一個(gè)階段來說,前一個(gè)階段工作的正確無誤是至關(guān)重要的。因此,瀑布模型不能很好地適應(yīng)那些需求不易確定和多變的軟件項(xiàng)目的開發(fā)。由于大項(xiàng)目在軟件開發(fā)的前期階段,人們很難詳細(xì)地了解系統(tǒng)的許多細(xì)節(jié),從而在項(xiàng)目進(jìn)行過程中常會出現(xiàn)需求變化。因此,瀑布模型適用于小系統(tǒng)開發(fā)項(xiàng)目,而不適用于大、中型軟件系統(tǒng)開發(fā)。
49.C解析:本題考查文件包含的知識點(diǎn):格式1:#include(文件名),預(yù)處理程序在標(biāo)準(zhǔn)目錄下查找指定的文件;格式2:#include“文件名”,預(yù)處理程序首先在引用被包含文件的源文件所在的目錄中尋找指定的文件,如查找不到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄查找。
50.A
51.C解析:關(guān)于二維數(shù)組的初始化,我們需要掌握如下方法:①所賦初值個(gè)數(shù)與數(shù)組元素的個(gè)數(shù)相同;②所賦初值行數(shù)少于數(shù)組行數(shù)時(shí),系統(tǒng)將自動給后面各行的元素補(bǔ)初值0;③在給二維數(shù)組賦初值時(shí)可以不用行花括號對。選項(xiàng)C)應(yīng)該是inta[3][2]={{1,2},{3,4},{5,6,}};
52.A白盒測試是把測試對象看作是一個(gè)打開的盒子,允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及相關(guān)信息來設(shè)計(jì)或選擇測試用例,對程序所有的邏輯路徑進(jìn)行測試。所以,白盒測試的對象基本上是源程序,以程序的內(nèi)
【知識拓展】軟件測試按照功能劃分可以分成白盒(白箱)測試和黑盒(黑箱)測試。其中黑盒測試是對軟件已經(jīng)實(shí)現(xiàn)的功能是否滿足需求進(jìn)行測試和驗(yàn)證。
53.A解析:ps是指針變量,ps+2是地址值,表示s[2]的地址,并不能代表s[2]的值‘o’;選項(xiàng)B、C、D均能代表s[2]的值‘o’。
54.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語句定義了外部變量a,在以后的執(zhí)行過程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=7,返回值語句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=6,返回值語句
55.D解析:通過賦初值的方式給一維數(shù)組賦字符串,可以用給一般數(shù)組賦初值的相同方式給一維字符數(shù)組賦字符串,也可以在賦值時(shí)直接賦字符串常量。選項(xiàng)B)和C)后面的'\\0'是多余的,不過也不錯(cuò),在C語言中,系統(tǒng)會自動在字符串的結(jié)尾處加上一個(gè)字符'\\0'作為串的結(jié)束標(biāo)記。
56.B
57.B
58.B解析:在main函數(shù)中,對f(1)和f(2)的值進(jìn)行了累加。
f(1)=1
f(2)=f(1)+1=2
最后,j的值為1+2=3
59.A解析:靜態(tài)局部變量的生存期將一直延長到程序運(yùn)行結(jié)束。故選項(xiàng)A正確;而全局變量的只有一種靜態(tài)存儲類別,故全局變量說明為static存儲類,和沒有說明為static存儲類其生存期都是一直延長到程序運(yùn)行結(jié)束,故選項(xiàng)B不正確;未賦初值的auto型變量的初值是隨機(jī)的,未賦初值的static型變量的初值是0(故選項(xiàng)C和選項(xiàng)D不正確)。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
60.B解析:本題用循環(huán)的方法考查對數(shù)組概念的掌握。首先,當(dāng)i=0時(shí),數(shù)組中的位置是a[2][0]=7,當(dāng)然,如果用排除法,就不用考慮后面的循環(huán),因?yàn)樵?個(gè)選項(xiàng)中,第1個(gè)數(shù)為7的選項(xiàng)只有B)。本題執(zhí)行第2次循環(huán)時(shí),i的值為1,則pfintf函數(shù)中的數(shù)組指向?yàn)閍[1][1]=5,依次循環(huán),可求出答案。
61.C
\n本題用了函數(shù)調(diào)用,fun中if語句成立則進(jìn)行i,j的交換,用到主函勢中則為把下標(biāo)為0、3,1、2互換,因此,當(dāng)執(zhí)行完后X的數(shù)組為8,1,6,2,故選擇C選項(xiàng)。
\n
62.C
63.D
64.AC語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)”\”開頭的字符。其中,”\
65.C循環(huán)語句;i=1,執(zhí)行i++<4;滿足條件,執(zhí)行循環(huán)體,然后i++<4……,當(dāng)i=3時(shí),先執(zhí)行i<4,成立,然后i++,循環(huán),i=4,判斷i<4不成立,i++,變成5.
66.C\n函數(shù)fun(intx,inty)的功能是返回x+Y的值。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號表達(dá)式“a++,b++,a+b”的值等于5,表達(dá)式c++的值為3,調(diào)用于函數(shù)的表達(dá)式為“fun(5,3);”,其返回值等于8。
\n
67.A
68.A在本題中,程序首先定義了一個(gè)無返回值的函數(shù)fun,該函數(shù)帶有五個(gè)整型的指針形參變量,然后通過一個(gè)四層循環(huán)來操作++*e;語句,由于*與++運(yùn)算符的優(yōu)先級一樣,它們都是自右至左結(jié)合的操作,因此,++*e等價(jià)于++(*e),這個(gè)操作可描述為:先用地址取值,然后對其進(jìn)行自加,由于是通過傳址傳值法的,因此,還需要將相加后的結(jié)果傳遞到實(shí)參中。
在主函數(shù)中,定義五個(gè)整型變量并分別賦初值,然后調(diào)用fun函數(shù),傳遞的參數(shù)是
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車玻璃運(yùn)輸安全協(xié)議
- 2025年度調(diào)味品新產(chǎn)品研發(fā)與市場試點(diǎn)合同
- 2025年度體育場館清潔工專業(yè)服務(wù)協(xié)議
- 溝通中的洞察力從觀察他人到改進(jìn)自身演講的途徑
- 2025年度夫妻共同財(cái)產(chǎn)管理及家庭責(zé)任分擔(dān)協(xié)議書
- 2025年度公司管理人員任期制與解聘合同
- 產(chǎn)業(yè)園裝修承包協(xié)議范本
- 2025年度個(gè)人土地承包與農(nóng)業(yè)科技創(chuàng)新合作合同
- 集裝箱吊運(yùn)機(jī)建設(shè)項(xiàng)目可行性研究報(bào)告申請立項(xiàng)備案
- 2025養(yǎng)生館線上線下融合合作合同協(xié)議
- MMPI14個(gè)量表得分題目號碼
- 龍虎山正一日誦早晚課
- 2023版教科版二年級下冊科學(xué)課堂作業(yè)本參考答案
- 護(hù)士條例及相關(guān)法律法規(guī)課件
- 內(nèi)蒙古大中礦業(yè)有限公司(東五分子鐵礦)礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 大連理工大學(xué)信封紙
- 新人教版四年級下冊小學(xué)數(shù)學(xué)全冊課時(shí)練(一課一練)
- 《酷蟲學(xué)校 第1 12冊 注音版 》讀書筆記思維導(dǎo)圖PPT模板下載
- 中華人民共和國環(huán)境保護(hù)法
- 湘教版八年級地理下冊全冊教案
- 戰(zhàn)略管理徐飛版課件
評論
0/150
提交評論