




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機密★啟用前
2005年4月全國計算機等級考試二級筆試試卷
C語言程序設(shè)計
24
注意事項
一、考生應(yīng)嚴(yán)格遵守考場規(guī)則,得到監(jiān)考人員指令后方可作答。
二、考生拿到試卷后應(yīng)首先將自己的姓名、準(zhǔn)考證號等內(nèi)容涂寫在答題卡的相應(yīng)位置上。
三、選擇題答案必須用鉛筆填涂在答題卡的相應(yīng)位置上,填空題的答案必須用藍(lán)、黑色鋼
筆或圓珠筆寫在答題卡的相應(yīng)位置上,答案寫在試卷上無效。
四、注意字跡清楚,保持卷面整潔。
五、考試結(jié)束將試卷和答題卡放在桌上,不得帶走。待監(jiān)考人員收畢清點后,方可離場。
教育部考試中心
二00五年二月制
二級C語言程序設(shè)計試卷第1頁(共13頁)
2005年4月全國計算機等級考試筆試試卷
二級公共基礎(chǔ)知識和C語言程序設(shè)計
(考試時間120分鐘,滿分100分)
一、選擇題((1)-(10)每小題2分,(11)-(50)每小題1分,共60分)
(1)數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A)存儲在外存中的數(shù)據(jù)
B)數(shù)據(jù)所占的存儲空間量
C)數(shù)據(jù)在計算機中的順序存儲方式
D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示
(2)下列關(guān)于棧的描述中錯誤的是()。
A)棧是先進(jìn)后出的線性表
B)棧只能順序存儲
C)棧具有記憶作用
D)對棧的插入與刪除操作中,不需要改變棧底指針
(3)對于長度為”的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是
()。
A)冒泡排序n/2B)冒泡排序為n
C)快速排序為nD)快速排序為n(n-l)/2
(4)對于長度為〃的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為()。
A)log2nB)n/2
C)nD)n+l
(5)下列對于線性鏈表的描述中正確的是()。
A)存儲空間不一定是連續(xù),且各元素的存儲順序是任意的
B)存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面
C)存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面
D)存儲空間必須連續(xù),且各元素的存儲順序是任意的
(6)下列對于軟件測試的描述中正確的是()。
A)軟件測試的目的是證明程序是否正確
B)軟件測試的目的是使程序運行結(jié)果正確
C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤
D)軟件測試的目的是使程序符合結(jié)構(gòu)化原則
(7)為了使模塊盡可能獨立,要求()。
A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強
B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
二級C語言程序設(shè)計試卷第2頁(共13頁)
D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強
(8)下列描述中正確的是()。
A)程序就是軟件
B)軟件開發(fā)不受計算機系統(tǒng)的限制
C)軟件既是邏輯實體,又是物理實體
D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
(9)數(shù)據(jù)獨立性是數(shù)據(jù)庫技術(shù)的重要特點之一。所謂數(shù)據(jù)獨立性是指()。
A)數(shù)據(jù)與程序獨立存放
B)不同的數(shù)據(jù)被存放在不同的文件中
C)不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用
D)以上三種說法都不對
(10)用樹形結(jié)構(gòu)表示實體之間聯(lián)系的模型是()。
A)關(guān)系模型B)網(wǎng)狀模型
C)層次模型D)以上三個都是
(11)算法具有5個特性,下列選項中不屬于算法特性的是()。
A)有窮性B)簡潔性
C)可行性D)確定性
(12)下列選項中可作為C語言合法常量的是()。
A)-80B)-080
C)-8el.0D)-80.0e
(13)下列敘述中正確的是()。
A)用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B)用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入
C)用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D)用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出
(14)下列不能定義的用戶標(biāo)識符是()。
A)MainB)_0
C)_intD)sizeof
(15)下列選項中,不能作為合法常量的是()。
A)1.234eO4B)1.234e0.4
C)1.234e+4D)1.234e0
(16)數(shù)字字符0的ASCII值為48,運行下列程序的輸出結(jié)果是()。
main()
{chara=T,b=2;
printf("%cj,b++);
二級C語言程序設(shè)計試卷第3頁(共13頁)
printf(,'%d\nM,b-a)
)
A)3,2B)50,2
C)2,2D)2,50
(17)下列程序的輸出結(jié)果是()。
main()
{intm=12,n=34;
printf(',%d%dn,m++,++n);
printf(',%d%d\n,',n4-+,++m);
)
A)12353514B)12353513
C)12343514D)12343513
(18)有定義語句:intb;char則正確的輸入語句是()。
A)scanf("%d%sn,&b,&c);B)scanf(M%d%sn,&b,c);
C)scanf(,r%d%sn,b,c);D)scanf(n%d%sH,b,&c);
(19)有下列程序:
main()
{intm,n,p;
scanf(',m=%dn=%dp=%d,,,&m,&n,&p);
printf(n%d%d%d\n",m,n,p);
)
若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p5的值為789,
則正確的輸入是()。
A)m=123n=456p=789B)m=123n=456p=789
C)m=123,n=456,p=789D)123456789
(20)下列程序的輸出結(jié)果是()。
main()
{inta,b,d=25;
a=d/10%9;
b=a&&(-l);
printf("%d,%d\n",a,b);}
A)6,1B)2,1
C)6,0D)2,0
(21)下列程序的輸出結(jié)果是()。
main()
{inti=l,j=2,k=3;
if(i++==1&&(++j==3IIk++==3))printf(u%d%d%d\nH,i,j,k);
A)123B)234
二級C語言程序設(shè)計試卷第4頁(共13頁)
C)223D)233
(22)若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式avb?a:c<d?c:
d的值是()。
A)1B)2
C)3D)4
(23)下列程序的輸出結(jié)果是()。
main()
{intp[8]={11,12,13,14,15,16,17,18},i=O,j=O;
while(i++<7)
if(p[i]%2)j+=p[i];
printf(,'%d\n,,,j);
)
A)42B)45
C)56D)60
(24)下列程序的輸出結(jié)果是()。
main()
{chara[7]=na0\0a0\0";inti,j;
i=sizeof(a);
j=strlen(a);
printf(H%d%d\n",i,j);
)
A)22B)76
C)72D)62
(25)下列能正確定義一維數(shù)組的選項是()。
A)inta[5]={0,l,2,3,4,5);B)chara[]={0,1,2,34,5};
C)chara={'A;'B\'C'};D)inta[5]="0123n;
(26)下列程序的輸出結(jié)果是()。
intfl(intx,inty){returnx>y?x:y;}
intf2(intx,inty){returnx>y?y:x;}
main()
{inta=4,b=3,c=5,d=2,e,f,g;
e=f2(fl(a,b),fl(c,d));
f=fl(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf(M%d,%d,%d\nM,e,f,g);
)
A)4,3,7B)3,4,7
C)5,2,7D)2,5,7
(27)已有定義:chara[]="xyz';b[]={'x;'y'/z');,下列敘述中正確的是()。
二級C語言程序設(shè)計試卷第5頁(共13頁)
A)數(shù)組a和b的長度相同B)a數(shù)組長度小于b數(shù)組長度
C)a數(shù)組長度大于b數(shù)組長度D)上述說法都不對
(28)下列程序的輸出結(jié)果是()。
voidf(int*x,int*y)
{intt;
t=*x,*x=*y;*y=t;
)
main()
{inta[8]={l,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p<q)
{f(p,q);p++;q-;}
for(i=0;i<8;i+)printf(,'%d,,,,a[i]);
)
A)823,4,5,6,7,1B)5,6,7,8,123,4
C)1,2,345,6,7,8D)8,7,6,5,4,321
(29)下列程序的輸出結(jié)果是()。
main()
{inta[3][3],*p,i;p=&a[0][0];
for(i=0;i<9;i++)p[i]=i;
for(i=0;i<3;i++)printf("%d",a[l][i]);}
A)012B)123
C)234D)345
(30)下列敘述中錯誤的是()。
A)對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出
B)數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變
C)在程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越
界”的出錯信息
D)可以通過賦初值的方式確定數(shù)組元素的個數(shù)
(31)下列程序的輸出結(jié)果是()。
#defineN20
fun(inta[J.intn,intm)
{inti,j;
for(i=m;i>n;i-)a[i+l]=a[i]
)
main()
{inti,a[N]={l,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)printf("%d",a[i]);
)
二級C語言程序設(shè)計試卷第6頁(共13頁)
A)10234B)12344
C)12334D)12234
(32)運行下列程序時,輸入123<CR>的輸出結(jié)果為()。
main()
{inta[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{ptr=a+i;scanf("%dn,ptr);ptr++;
)
for(i=0;i<3;i++)
{for(j=0;j<2;j++)
printf("%2d”,a[i][jD;
printf("\nn);
)
)
A)產(chǎn)生錯誤信息B)10
20
00
C)12D)I0
3020
0030
(33)下列程序的輸出結(jié)果是()。
prt(int*m,intn)
{inti;
for(i=0;i<n;i++)m[i]++;}
main()
{inta[]={1,2,3A5)j;
prt(a,5)
for(i=0;i<5;i++)printf(H%d,",a[i]);
)
A)1,2,345B)2,3,4,5,6
C)3,4,5,6,7D)2,3,4,5,1
(34)下列程序的輸出結(jié)果是()。
main()
{inta[]={1,2,3,4,5,678,9,0},*p;
fbr(p=a;p<a+10;p++)
printf(”%d,”,*p);
)
A)1,234,5,6,7,8,9,0,B)2,3,4,5,6,7,8,9,10』,
C)0,l,2,3,4,5,6,7,8,9,D)1,1,1,1,1,1,1,1,1,1,
(35)下列程序的輸出結(jié)果是()。
二級C語言程序設(shè)計試卷第7頁(共13頁)
#defineP3
voidF(intx){retum(P*x*x);}
main()
{printf(n%d\n';F(3+5));}
A)192B)29
C)25D)編譯出錯
(36)下列程序的輸出結(jié)果是()。
main()
{intc=35;printf(u%d\nH,c&c);}
A)OB)70
C)35D)1
(37)下列敘述中正確的是()。
A)預(yù)處理命令行必須位于源文件的開頭
B)在源文件的一行上可以有多條預(yù)處理命令
C)宏名必須用大寫字母表示
D)宏替換不占用程序的運行時間
(38)若有下列說明和定義。
uniondt
{inta;charb;doublec;}data;
下列敘述中錯誤的是()。
A)data的每個成員起始地址都相同
B)變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等
C)程序段:data.a=5;printf("%f\n”,data?;輸出結(jié)果為5.000000
D)data可以作為函數(shù)的實參
(39)下列語句或語句組中,能正確進(jìn)行字符串賦值的是()。
A)char*sp;*sp=Mright!n;B)chars[10];s=^'right!,,;
C)chars[10];*s=nrightu;D)char*sp="right!”;
(40)設(shè)有如下說明:
typedefstructST
{longa;intb;charc[2];}NEW;
則下列敘述中正確的是()。
A)以上的說明形式非法B)ST是一個結(jié)構(gòu)體類型
C)NEW是一個結(jié)構(gòu)體類型名D)NEW是一個結(jié)構(gòu)體變量
(41)下列程序的輸出結(jié)果是()。
main()
{inta=l,b;
for(b=l;b<=10;b++)
{if(a>=8)break;
二級C語言程序設(shè)計試卷第8頁(共13頁)
if(a%2==l)
{a+=5;continue;}
a=3;
)
printf("%d\nM,b);
)
A)3B)4
C)5D)6
(42)下列程序的輸出結(jié)果是()。
main()
{chars[]=H159n,*p;
p=s;
printf("%cM,*p++);
printf(,,%cn,*p++);
)
A)15B)16
C)12D)59
(43)有下列函數(shù):
fun(char*a,char*b)
{while(*a!=\0')&&(*b!=\0,)&&(*a==*b)}
{a++;b++;}
retum(*a-*b);
)
該函數(shù)的功能是()。
A)計算a和b所指字符串的長度之差
B)將b所指字符串復(fù)制到a所指字符串中
C)將b所指字符串連接到a所指字符串后面
D)比較a和b所指字符串的大小
(44)有下列程序:
main()
{intnum[4][4]={{123,4},{5,678},{9,10,U,12},{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{for(j=0;j<i;j+4-)
printf("%4cn;);
for(j=__;j<4;j++)
printf(n%4dM,num[i][j]);
printf(u\nn);
)
)
若要按下列形式輸出數(shù)組右上半三角。
1234
二級C語言程序設(shè)計試卷第9頁(共13頁)
678
1112
16
則在程序下劃線處應(yīng)填入的是()。
A)i-1B)i
C)i+1D)4-i
(45)下列程序的輸出結(jié)果是()。
point(char*p){p+=3;}
main()
{charb[4]={'a',b?c',d},*p=b;
point(p);printf(n%c\nH,*p);
)
A)aB)b
C)cD)d
(46)程序中若有下列說明和定義語句:
charfun(char*);
main()
{char*s="one",a[5]={0),(*fl)()=fun,ch;
)
下列選項中對fun()函數(shù)的正確調(diào)用語句是()。
A)(*fl)(a);B)*fl(*s);
C)fun(&a);D)ch=*fl(s);
(47)有下列結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的三個連
續(xù)結(jié)點。
structnode
{intdata;
structnode*next;
}*p,*q,*r;
現(xiàn)要將q所指結(jié)點從鏈表中刪除,同時要保持鏈表的連續(xù),下列不能完成指定操作的
語句是()。
A)p->next=q->next;B)p-next=p->next->next;
C)p->next=r;D)p=q->enxt;
(48)下列對結(jié)構(gòu)體類型變量td的定義中,錯誤的是()。
A)typedefstructaaB)structaa
{intn;{intn;
二級C語言程序設(shè)計試卷第10頁(共13頁)
floatm;floatm;
}AA;}td;
AAtd;structaatd;
C)structD)struct
{intn;{intn;
floatm;floatm;
}aa;}td;
structaatd;
(49)下列與函數(shù)fse函(fp,0L,SEEK_SET)有相同作用的是()。
A)feof(fp)B)ftell(fp)
C)fgetc(fp)D)rewind(fp)
(50)有下列程序:
#include<stdio.h>
voidWriteStr(char*fn,char*str)
{FILE*fp;
fp=fopen(fn,',wH);fputs(str,fp);fclose(fp);
)
main()
{WriteStr(ntl.dat";'start");
WriteStrCtl.dat”,“end”);
程序運行后,文件tl.dat中的內(nèi)容是()。
A)startB)end
C)startendD)endrt
二、填空題(每空2分,共40分)
(1)某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【1】個葉子結(jié)點。
(2)在面向?qū)ο蠓椒ㄖ?,類的實例稱為【2】o
(3)診斷和改正程序中錯誤的工作通常稱為[3]。
(4)在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個二維表稱為【4】。
(5)問題處理方案正確而完整的描述稱為【5】。
(6)下列程序運行時若從鍵盤輸入:102030<CR>。輸出結(jié)果是[6】。
#include<stdio.h>
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",ij,k);
)
二級C語言程序設(shè)計試卷第11頁(共13頁)
(7)下列程序運行后的輸出結(jié)果是[7】。
#defineS(x)4*x*x+l
main()
{inti=6,j=8;
printf("%d\n",S(i+j));}
(8)下列程序運行后的輸出結(jié)果是[8】。
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<c)t=a;a=c;c=t;
if(a<c&&b<c)t=b,b=a,a=t;
printf(H%d%d%d\n';a,b,c);)
(9)下列程序運行后的輸出結(jié)果是[9】。
main()
{inta,b,c;
a=10;b=20;c=(a%b<l)II(a/b>l);
printf("%d%d%d\n\a,b,c);
}
(10)下列程序運行后的輸出結(jié)果是[10]o
main()
{charcl,c2;
for(c1=,0\c2=<9';c1<c2;c1++,c2—)printf("%c%c,,,c1,c2);
printf("\nn);
)
(11)已知字符A的ASCII代碼值為65,下列程序運行時若從鍵盤輸入:B3女CR>。則輸
出結(jié)果是[11]O
#include<stdio.h>
main()
{chara,b;
a=getchar();scanf(u%dn,&b);
a=a-,A,+'O,;b=b*2;
printf(*'%c%c\n*',a,b);
)
(12)下列程序中,fun()函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請?zhí)羁铡?/p>
voidfun(int,int,int(*)[4],int*);
main()
{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,l}},b[3],i;
fiin(3,4,a,b);
for(i=0;i<3;i+)printf("%4d';b[i]);
.?級C語言程序設(shè)計試卷第12頁(共13頁)
printf("\nn);)
voidfun(intm,intn,intar[][4],int*br)
{inti,j,x;
for(i=0;i<m;i++)
{x=ar[i][0];
for(j=O;j<n;j++)
if(x<ar[i][j])x=ar[i][j];
[12]=x;
)
)
(13)下列程序運行后的輸出結(jié)果是[13]o
voidswap(intx,inty)
{intt;
t=x;x=y;y=t;printf(n%d%d",x,y);}
main()
{inta=3,b=4;
swap(a,b);printf(M%d%d\nu,a,b);
)
(14)下列程序運行后的結(jié)果是[14]o
#include<string.h>
voidfun(char*s,intp,intk)
{inti;
for(i=p;i<k-l;i++)s[i]=s[i+2];}
main()
{chars[]="abcdefg";
fun(s,3,strlen(s));puts(s);
)
(15)下列程序運行后的輸出結(jié)果是[15]o
#include<string.h>
main()
{charch[]="abc';x[3][4];inti;
fbr(i=O;i<3;i++)strcpy(x[i],ch);
for(i=0;i<3;i++)printf("%s”,&x[i][i]);
printf("\nM);
)
(16)下列程序運行后的輸出結(jié)果是[16]o
fun(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
二級C語言程序設(shè)計試卷第13頁(共13頁)
)
main()
{inti,a=5;
for(i=0;i<3;i++)printf("%d%dn,i,fun(a));
printf(,,\nn);
)
(17)下列程序運行后的輸出結(jié)果是[17]o
stuctNODE
{intk;
structNODE*link;};
main()
{structNODEm[5],*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);
printf("\nn);
)
(18)下列程序中huiwen。函數(shù)的功能是檢查?個字符串是否是回文,當(dāng)字符串是回文時,
函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即
正向與反向的拼寫都一樣,例如:adgdao請?zhí)羁铡?/p>
#include<string.h>
char*huiwen(char*str)
(char*pl,*p2;inti,t=0;
pl=str;p2=[18];
for(i=0);i<=strlen(str)/2;i++)
if(*pl++!=*p2—){t=1;break;}
if([19])
return(uyes!");
else
return("no!");
main()
{charstr[50];
printf(,'Input:,r);scanf(M%su,str);
printf(M%s\nM,[20]);
)
2005年4月筆試試卷參考答案
一、選擇題
(1)D)(2)B)(3)D)(4)C)(5)A)(6)C)(7)B)(8)D)
(9)D)(10)C)(11)B)(12)A)(13)C)(14)D)(15)B)(16)C)
(17)A)(18)B)(19)A)(20)B)(21)D)(22)A)(23)B)(24)
C)
(25)B)(26)A)(27)A)(28)D)(29)D)(30)C)(31)B)(32)
B)
(33)B)(34)A)(35)D)(36)C)(37)D)(38)D)(39)D)(40)
C)
(41)B)(42)A)(43)D)(44)B)(45)A)(46)A)(47)D)(48)
C)
(49)D)(50)B)
二、填空題
(1)[1]19(2)[2]對象
(3)[31程序調(diào)試(4)[4]關(guān)系
(5)[5]算法(6)[6]10300
(7)[7]81(8)[8]435
(9)[9]10201(10)[10]0918273645
(11)[11]1B(12)[12]br[i]
(13)[13]4334(14)[14]abcfg
(15)[15]abcbcc(16)[16]010111212
(17)[17]13431(18)[18]str+strlen(str)-l
[19]i>strlen(str)/2
[20]huiwen(str)
機密★啟用前
2006年4月全國計算機等級考試二級筆試試卷
C語言程序設(shè)計
24
注意事項
一、考生應(yīng)嚴(yán)格遵守考場規(guī)則,得到監(jiān)考人員指令后方可作答。
二、考生拿到試卷后應(yīng)首先將自己的姓名、準(zhǔn)考證號等內(nèi)容涂寫在答題卡的相應(yīng)位置上。
三、選擇題答案必須用鉛筆填涂在答題卜的相應(yīng)位置上,填空題的答案必須用藍(lán)、黑色鋼
筆或圓珠筆寫在答題卡的相應(yīng)位置上,答案寫在試卷上無效。
四、注意字跡清楚,保持卷面整潔。
五、考試結(jié)束將試卷和答題卡放在桌上,不得帶走。待監(jiān)考人員收畢清點后,方可離場。
教育部考試中心
-00六年二月制
二級C語言程序設(shè)計試卷第I頁(共12頁)
2006年4月全國計算機等級考試筆試試卷
二級公共基礎(chǔ)知識和C語言程序設(shè)計
(考試時間120分鐘,滿分100分)
一、選擇題((1)-(10)每小題2分,(11)-(50)每小題1分,共60分)
(1)下列選項中不屬于結(jié)構(gòu)化程序設(shè)計方法的是()。
A)自頂向下B)逐步求精
C)模塊化D)可復(fù)用
(2)兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為()。
A)耦合度B)內(nèi)聚度
C)復(fù)雜度D)數(shù)據(jù)傳輸特性
(3)下列敘述中正確的是()。
A)軟件測試應(yīng)該由程序開發(fā)者來完成B)程序經(jīng)調(diào)試后一般不需要再測試
C)軟件維護(hù)只包括對程序代碼的維護(hù)D)以上三種說法都不對
(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A)隊列B)棧
C)雙向鏈表D)二叉樹
(5)下列敘述中正確的是()。
A)線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)B)棧與隊列是非線性結(jié)構(gòu)
C)雙向鏈表是非線性結(jié)構(gòu)D)只有根結(jié)點的二叉樹是線性結(jié)構(gòu)
(6)對如下二叉樹
進(jìn)行后序遍歷的結(jié)果為()。
A)ABCDEFB)DBEAFC
C)ABDECFD)DEBFCA
(7)在深度為7的滿二叉樹中,葉子結(jié)點的個數(shù)為()。
A)32B)31
C)64D)63
(8)“商品”與“顧客”兩個實體集之間的聯(lián)系一般是()。
A)一對一B)一對多
C)多對一D)多對多
(9)在E-R圖中,用來表示實體的圖形是()。
A)矩形B)橢圓形
C)菱形D)三角形
(10)數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A)DB包含DBS和DBMSB)DBMS包含DB和DBS
C)DBS包含DB和DBMSD)沒有任何關(guān)系
二級C語言程序設(shè)計試卷第2頁(共12頁)
(11)下列不合法的用戶標(biāo)識符是()。
A)j2_KEYB)Double
C)4dD)_8_
(12)下列不合法的數(shù)值常量是()。
A)OilB)lei
C)8.0E0.5D)Oxabcd
(13)下列不合法的字符常量是()。
A)1018⑻V"
C)WD)^xcc^
(14)表達(dá)式3.6-5/2+1.2+5%2的值是()。
A)4.3B)4.8
C)3.3D)3.8
(15)下列能正確定義字符串的語句是()。
A)charstr[]={\064*};B)charstr=,'kx43H;
C)charstr=M;D)charstr[]=u\0";
(16)下列數(shù)組定義中錯誤的是()。
A)intx[][3]={0};
B)intx[2][3]={{l,2},{3,4},{596}};
C)intx[][3]={{l,2,3},{4,5,6));
D)intx[2][3]={l,2,3,4,5,6);
(17)若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)()。
A)getc()B)gets()
C)getchar()D)scanf()
(18)下列4個程序中,完全正確的是()。
A)#include<stdio.h>B)#include<stdio.h>
main();main()
{/*programming*/{/*/programming/*/
printf("programming!\nn);}printf("programming!\n");}
C)#include<stdio.h>D)include<stdio.h>
main()main()
{/*/programming*/*/{/*programming*/
printf("programming!\nH);}printf("programming!\nH);}
(19)若有定義:floatx=1.5;inta=l,b=3,c=2;則正確的switch語句是()。
A)switch(x)B)switch((int)x);
{case1.0:printf("*\n");{casel:printf("*\n");
case2.0:printf("**\n");}case2:printf(,,**\n*');}
C)switch(a+b)D)switch(a+b)
{casel:printf(”*\rT);{casel:printf(u*\nn);
case2+l:printf(n**\n'*);}casec:printf(M**\nH);}
(20)若各選項中所用變量已正確定義,fun()函數(shù)中通過return語句返回一個函數(shù)值,下列
選項中錯誤的程序是()。
A)main()B)floatfun(inta,intb){........}
{.......x=fun(2,10);.........}main()
floatfun(inta,intb){.......}{........x=fun(i,j);........}
二級C語言程序設(shè)計試卷第3頁(共12頁)
C)floatfun(intjnt);D)main()
main(){floatfun(intLintj);
{.......x=fun(2,10);.........}.......x=fun(ij);.........}
floatfun(inta,intb){.......}floatfun(inta,intb){.........}
(21)在下列給出的表達(dá)式中,與while(E)中的(E)不等價的表達(dá)式是()。
A)(!E==0)B)(E>0IIE<0)
C)(E==0)D)(E!=0)
(22)要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán)。若變量已正確定義,
下列正確的程序段是()。
A)while((ch=getchar())!=N)printf("%c,,,ch);
B)while(ch=getchar()!="N*)printf("%c”,ch);
C)while(ch=getchar()==,Nr)printf(n%cn,ch);
D)while((ch=getchar())==N*)printf(n%cH,ch);
(23)已定義下列函數(shù):
intfun(int*p)
{return*p;)
fun函數(shù)返回值是()。
A)不確定的值B)一個整數(shù)
C)形參p中存放的值D)形參p的地址值
(24)若有說明語句:double*p,a;則能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是
()。
A)*p=&a;scanf("%lf',p);B)*p=&a;scanf("%f',p);
C)p=&a;scanf("%lf',*p);D)p=&a;scanf("%lf',p);
(25)現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個鏈表中連續(xù)
的3個結(jié)點。
structnode
{hardata;
tructnode*next;}*p,*q,*r;
現(xiàn)要將q和r所指結(jié)點交換前后位置,同時要保持鏈表的連續(xù),下列不能完成此操作
的語句是()。
A)q—>next=r->next;p->next=r;r->next=q;
B)p->next=r;q->next=r->next;r->next=q;
C)q—>next=r->next;r->next=q;p->next=r;
D)r->next=q;p->next=r;q->next=r->next;
(26)有下列程序段
structst
{intx;int*y;}*pt;
inta[]={l,2},b)|={3,4};
structstc[2]={10,a,20,b);
二級C語言程序設(shè)計試卷第4頁(共12頁)
pt=c;
下列選項中表達(dá)式的值為11的是()。
A)*pt->yB)pt—>x
C)++pt->xD)(pt++)->x
(27)設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為
()O
A)EOFB)非0值
C)OD)NULL
(28)設(shè)有以下語句
inta=l,b=2,c;
c=a八(b?2);
執(zhí)行后,C的值為()。
A)6B)7
C)8D)9
(29)有下列程序:
#include<stdio.h>
main()
{charcl,c2,c3,c4,c5,c6;
scanf(',%c%c%c%c,\&cl,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(cl);putchar(c2);
printf(',%c%c\n',,c5,c6);
)
程序運行后,若從鍵盤輸入(從第1列開始)
123<CR>
45678<CR>
則輸出結(jié)果是()。
A)1267B)1256
C)1278D)1245
(30)有下列程序:
main()
{inty=10;
while(y—);printf("y=%d\nM,y);
)
程序執(zhí)行后的輸出結(jié)果是()。
A)y=0B)y=-l
C)y=lD)while構(gòu)成無限循環(huán)
(31)有下列程序:
main()
{inta=0,b=0,c=0,d=0;
if(a=l)b=l;c=2;
elsed=3;
printf(”%d,%d,%d,%d\n”,a,b,c,d);
)
二級C語言程序設(shè)計試卷第5頁(共12頁)
程序輸出()。
A)0,1,2,0B)0,0,0,3
C)1,1,2,0D)編譯有錯
(32)有下列程序:
main()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
)
x++;
)
printf("x=%d\n",x);
)
程序執(zhí)行后的輸出結(jié)果是()。
A)x=4B)x=8
C)x=6D)x=12
(33)有下列程序:
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{doublea=0,b=0;
a=funl(x);b=funl(y);retum(int)(a+b);
)
main()
{doublew;w=fun2(l.1,2.0);.....}
程序執(zhí)行后變量w中的值是()。
A)5.21B)5
C)5.0D)0.0
(34)有下列程序:
main()
{inti,t[][3]={9,8,7,6,5,4,3,2,l};
for(i=0;i<3;i++)printf(n%dn,t[2-i][i]);
)
程序執(zhí)行后的輸出結(jié)果是()。
A)753B)357
C)369D)751
(35)有下列程序:
fun(charp[][10])
{intn=O,i;
for(i=0;i<7;i++)
if(p[i][O]==T)n++;
returnn;
二級C語言程序設(shè)計試卷第6頁(共12頁)
)
main()
{charstr[][10]={,Mon\,Tue\nWed\,,Thu,,,nFri,,,,'Satn,,,Sunn};
printf("%d\n”,fun(str));
)
程序執(zhí)行后的輸出結(jié)果是()。
A)1B)2
C)3D)0
(36)有下列程序:
main()
{inti,s=O,t[]={1,2,345,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf(,'%d\n',,s);
)
程序執(zhí)行后的輸出結(jié)果是()。
A)45B)20
C)25D)36
(37)有下列程序:
voidfun1(char*p)
{char*q;
q=p;
while(*q!=\0')
{(*q)++;q++;}
)
main()
{chara[]={,,Programn},*p;
p=&a[3];funl(p);printf(n%s\nH,a);
)
程序執(zhí)行后的輸出結(jié)果是()。
A)ProhsbnB)Prphsbn
C)ProgsbnD)Program
(38)有下列程序:
voidswap(char*x,char*y)
{chart;
t=*x;*x=*y;*y=t;
)
main()
{char*sl="abcVs2="123n;
swap(sI,s2);printf("%s,%s\n",sl,s2);
程序執(zhí)行后的輸出結(jié)果是()。
A)123,abcB)abc,123
C)lbc,a23D)321,cba
(39)有下列程序:
二級C語言程序設(shè)計試卷第7頁(共12頁)
intfun(intn)
{if(n==l)retum1;
else
return(n+fun(n-1));
)
main()
{intx;
scanf("%d”,&x);x=fun(x);printf("%d\n”,x);
)
執(zhí)行程序時,給變量x輸入10,程序的輸出結(jié)果是()。
A)55B)54
C)65D)45
(40)有下列程序:
intfun(intx[],intn)
{staticintsum=0,i;
for(i=0;i<n;i++)sum+=x[i];
returnsum;
)
main()
{inta[]={l,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);printf(',%d\n",s);
)
程序執(zhí)行后的輸出結(jié)果是()。
A)45B)50
C)60D)55
(41)有下列程序:
main()
{union
{charch[2];
intd;
}s;
s.d=0x4321;
printf(u%x,%x\n",s.ch[O],s.ch[l]);
)
在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()。
A)21,43B)43,21
C)43,00D)21,00
(42)有下列程序:
main()
{char*p[]={H3697H,“2584”};
inti,j;longnum=O;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=W)
二級C語言程序設(shè)計試卷第8頁(共12頁)
{if((p[i][j]-,0')%2)num=10*num+p[i][j]-'O';
j+=2;
)
)
printf(,,%d\n,,,num);
)
程序執(zhí)行后的輸出結(jié)果是()。
A)35B)37
C)39D)3975
(43)執(zhí)行下列程序后,test.txt文件的內(nèi)容是(若文件能正常打開)()。
#include<stdio.h>
main()
{FILE*fp;
char*sl="Fortran",*s2="Basicn;
if((fp=fopen(,,test.txt,,;,wb,,))==NULL)
{printf(',Can,topentest.txtfile\n");exit(l);}
fwrite(sl,7,l,fp);/*把從地址si開始的7個字符寫到fp所指文件中*/
£§匕?1<你,01^££1<_$£1');/*文件位置指針移到文件開頭*/
fwrite(s2,5,l,fp);
fclose(fp);
)
A)BasicanB)BasicFortran
C)BasicD)FortranBasic
(44)下列敘述中錯誤的是()。
A)C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序
B)C程序經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進(jìn)制機器指令文件
C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中
D)C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機器指令
(45)下列敘述中錯誤的是()。
A)算法正確的程序最終一定會結(jié)束
B)算法正確的程序可以有零個輸出
C)算法正確的程序可以有零個輸入
D)算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果
(46)下列敘述中錯誤的是()。
A)C程序必須由一個或一個以上的函數(shù)組成
B)函數(shù)調(diào)用可以作為一個獨立的語句存在
C)若函數(shù)有返回值,必須通過return語句返回
D)函數(shù)形參的值也可以傳回給對應(yīng)的實參
(47)設(shè)有下列定義和語句
charstr[20]=',Program',,*p;
p=str;
則下列敘述中正確的是()。
A)*p與str⑼的值相等
B)str與p的類型完全相同
二級C語言程序設(shè)計試卷第9頁(共12頁)
C)str數(shù)組長度和p所指向的字符串長度相等
D)數(shù)組str中存放的內(nèi)容和指針變量p中存放的內(nèi)容相同
(48)下列敘述中錯誤的是()。
A)C程序中的#include和#define行均不是C語句
B)除逗號運算符外,賦值運算符的優(yōu)先級最低
C)C程序中,j++;是賦值語句
D)C程序中,+、-、*、/、%號是算術(shù)運算符,可用于整型和實型數(shù)的運算
(49)下列敘述中正確的是()。
A)預(yù)處理命令行必須位于C源程序的起始位置
B)在C語言中,預(yù)處理命令行都以"#"開頭
C)每個C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>
D)C語言的預(yù)處理不能實現(xiàn)宏定義和條件編譯的功能
(50)下列敘述中錯誤的是()。
A)可以通過typedef增加新的類型
B)可以用typedef將已存在的類型用一個新的名字來代表
C)用typedef定義新的類型名后,原有類型名仍有效
D)用typedef可以為各種類型起別名,但不能為變量起別名
二、填空題(每空2分,共40分)
(1)對長度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為【1】。
(2)在面向?qū)ο蠓椒ㄖ校?】描述的是具有相似屬性與操作的一組對象。
(3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱為一個【3】。
(4)程序測試分為靜態(tài)分析和動態(tài)測試。其中【4】是指不執(zhí)行程序,而只是對程序文
本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
(5)數(shù)據(jù)獨立性分為邏輯獨立性與物理獨立性。當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可
以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為[5]。
(6)若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形
式輸出,請寫出完整的的輸出語句【6】。
(7)下列程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、
b、c輸入三角形三條邊長時,確定a、b、c能構(gòu)成三角形的條件是需同時滿足三個條
件:a+b>c,a+c>b,b+c>ao請?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if([7])printf("YES\n");/*a、b、c能構(gòu)成三角形*/
elseprintf("NO\n");/*a^b^c不能構(gòu)成三角形*/
(8)下列程序的輸出結(jié)果是[8】o
main()
{inta[3][3]={{l29},{3,4,8},{5,6,7)},i,s=O;
for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-l];
printf(n%d\nn,s);
)
(9)當(dāng)運行下列程序時,輸入abed,程序的輸出結(jié)果是:【9】o
二級C語言程序設(shè)計試卷第10頁(共12頁)
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-l]='*';i—;}
printf(n%s\nM,str);
)
main()
{charstr[40];
scanf("%s”,str);insert(str);
)
(10)下列程序的運行結(jié)果是:[10]o
fun(intt[],intn)
{inti,m;
if(n==l)retumt[0];
else
if(n>=2){m=fun(t,n-1);returnm;}
)
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf(H%d\nn,fun(a,10));
)
(11)現(xiàn)有兩個C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.C文件
如下:
#include<stdio.h>
#include"myfun.c”
main()
{fun();printf("\n");}
myfun.c文件如下:
voidfiin()
{chars[80],c;intn=0;
while((c=getchar())!='\n*)s[n++]=c;
n-;
while(n>=0)printf(M%c';s[n-]);
當(dāng)編譯連接通過后,運行程序T18時,輸入Thank!則輸出結(jié)果是:[11]。
(12)下列函數(shù)fun的功能是返回str所指字符串中以形參c中字符開頭的后續(xù)字符串的首
地址,例如:str所指字符串為:Hello!,c中的字符為e,則函數(shù)返回字符串:ello!
的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請?zhí)?/p>
空。
char*fun(char*str,charc)
{intn=0;char*p=str;
if(p!=NULL)
while(p[nj!=c&&p[n]!=*\0*)n++;
二級C語言程序設(shè)計試卷第11頁(共12頁)
if(p[n]==\0')returnNULL;
return([12]);
)
(13)下列程序的功能是:輸出100以內(nèi)(不含100)能被3整除且個位數(shù)為6的所有整數(shù),
請?zhí)羁铡?/p>
main()
(inti,j;
for(i=0;[13];i++)
{j=i*10+6;
if([14])continue;
printf(n%d'\j);
}
}
(14)下列isprime函數(shù)的功能是判斷形參a是否為素數(shù),是素數(shù),函數(shù)返回1,
否則返回0。請?zhí)羁?/p>
intisprime(inta)
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)[15];
[16];
)
(15)下列程序的功能是輸入任意整數(shù)給n后,輸出n行
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院養(yǎng)護(hù)合同范本
- 圍墻景觀工程合同范本
- 上海檢測合同范本
- 中介裝修賣房合同范本
- 公司招聘中介合同范本
- 初二學(xué)習(xí)成長指南
- 超效學(xué)習(xí)策略
- 南寧小學(xué)租房合同范本
- 醫(yī)美居間合同范本
- 商場專柜租賃合同范本
- 生物材料伴我行 知到智慧樹網(wǎng)課答案
- 【碧桂園項目成本控制存在的問題及優(yōu)化建議探析11000字(論文)】
- 2024年河北省初中學(xué)業(yè)水平適應(yīng)性測試生物學(xué)試卷
- 《鴻門宴》(教學(xué)課件)- 統(tǒng)編版高中語文必修下冊
- 標(biāo)識標(biāo)牌制作及安裝項目技術(shù)方案
- 醫(yī)療器械物價收費申請流程
- DB3410T 34-2024特定地域單元生態(tài)產(chǎn)品價值核算規(guī)范
- 青島中石化輸油管道爆炸事故調(diào)查報告
- 2024年蘇州職業(yè)大學(xué)高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 教科版小學(xué)科學(xué)六年級下冊單元練習(xí)試題及答案(全冊)
- 《Java程序設(shè)計》電子課件
評論
0/150
提交評論