




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2009年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷
1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是
A)循環(huán)隊(duì)列B)帶鏈隊(duì)列C)二叉樹(shù)D)帶鏈棧
2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是
A)循環(huán)隊(duì)列B)棧C)隊(duì)列D)二叉樹(shù)
3)對(duì)于循環(huán)隊(duì)列,卜列敘述中正確的是
A)隊(duì)頭指針是固定不變的B)隊(duì)頭指針一定大于隊(duì)尾指針C)隊(duì)頭指針一定小于隊(duì)尾指針D)隊(duì)頭指針可以大于
隊(duì)尾指針,也可以小于隊(duì)尾指針
4)算法的空間復(fù)雜度是指
A)算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間B)算法所處理的數(shù)據(jù)量C)算法程序中的語(yǔ)句或指令條數(shù)
D)算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
5)軟件設(shè)計(jì)中劃分模塊的?個(gè)準(zhǔn)則是
A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合
6)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是
A)可封裝B)自頂向下0模塊化D)逐步求精
7)軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如下:
該圖是
A)N-S圖B)PAD圖C)程序流程圖D)E-R圖
8)數(shù)據(jù)庫(kù)管理系統(tǒng)是
A)操作系統(tǒng)的一部分B)在操作系統(tǒng)支持下的系統(tǒng)軟件C)一種編譯系統(tǒng)D)一種操作系統(tǒng)
9)在E-R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是
A)橢圓圖B)矩形C)菱形D)三角形
10)有三個(gè)關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和S通過(guò)某種操作得到,該操作為
A)選擇B)投影C)交D)并
11)以下敘述中正確的是A)程序設(shè)計(jì)的任務(wù)就是編寫程序
代碼并上機(jī)
B)程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C)程序設(shè)計(jì)的任務(wù)就是確定所用算法
D)以上三種說(shuō)法都不完整
12)以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是
A)voidB)8_8C)0D)unsigned
13)閱讀以下程序
ftinclude<stdio.h>
main()
{intcase;floatprintF;
printf(“請(qǐng)輸入2個(gè)數(shù):”);
scanf("%d%fw,&case,&pjrintF);
printf(u%d%f\nw,case,printF);
)
該程序編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是
A)定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符B)定義語(yǔ)句出錯(cuò),printF不能用作用戶自定義標(biāo)
識(shí)符
C)定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用D)定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值
14)表達(dá)式:(int)((double)9/2)-(9)%2的值是
A)0B)3C)4D)5
15)若有定義語(yǔ)句:intx=10;,則表達(dá)式x-=x+x的值為
A)-20B)-10C)0D)10
16)有以下程序
ftinclude<stdio.h>
main()
{inta=l,b=O;
printf("%d,",b=a+b);
printf("%d\n",a=2*b);
)
程序運(yùn)行后的輸出結(jié)果是
A)0,0B)1,0C)3,2D)1,2
17)設(shè)有定義:inta=l,b=2,c=3;,以下語(yǔ)句中執(zhí)行效果與其它三個(gè)不同的是
A)if(a>b)c=a,a=b,b=c;B)if(a>b){c=a,a=b,b=c;}C)if(a>b)c=a;a=b;b=c;D)if(a>b){c=a;a=b;b=c;)
18)有以下程序
#include<stdio.h>
main()
{intc=0,k;
for(k=l;k<3;k++)
switch(k)
{default:c+=k
case2:c++;break;
case4:c+=2;break;
}
printf("%d\n",c);
)
程序運(yùn)行后的輸出結(jié)果是
A)3B)5C)7D)9
19)以下程序段中,與語(yǔ)句:k=a>b?(b>c?l:O):O;功能相同的是
A)if((a>b)&&(b>c))k=l;elsek=0;
B)if((a>b)||(b>c)k=l;elsek=0;
C)if(a<=b)k=O;elseif(b<=c)k=l;
D)if(a>b)k=l;elseif(b>c)k=l;elsek=0;
20)有以下程序
-include<stdio.h>
main()
{chars[]={"012xy"};inti,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=,a,z,)n++;
printf("%d\n",n);
}程序運(yùn)行后的輸出結(jié)果是
A)0B)2C)3D)5
21)有以下程序
#include<stdio.h>
main()
{intn=2,k=0;
while(k++&&n++>2);
printf("%d%d\n”,k,n);
}程序運(yùn)行后的輸出結(jié)果是
A)02B)13057D)12
22)有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是
A)chara='a'B)chara='\n';C)chara=,aa';D)chara='\x2d';
23)有以下程序
#include<stdio.h>
main()
2
{charcl,c2;
cl=,A'+'8'-'4';
c2='A'+'8'-'5';
av
printf(%ct%d\n,cl,c2);
)
已知字母A的ASCH碼為65,程序運(yùn)行后的輸出結(jié)果是
A)E,68B)D,69C)E,DD)輸出無(wú)定值
24)有以下程序
^include<stdio.h>
voidfun(intp)
{intd=2;
p=d++;printf("%d”,p);}
main()
{inta=l;
fun(a);printf("%d\n",a);}程序運(yùn)行后的輸出結(jié)果是
A)32B)12C)21D)22
25)以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能
ttdefineMIN-2147483647
intfindmax(intx[],intn)
{inti,max;
for(i=0;i<n;i++)
{max二MIN;
if(max<x[i])max=x[i];}
returnmax;
}造成錯(cuò)誤的原因是
A)定義語(yǔ)句inti,max;中max未賦初值B)賦值語(yǔ)句max=MIN;中,不應(yīng)給max賦MIN值
C)語(yǔ)句if(max<x[i])max=x[i];中判斷條件設(shè)置錯(cuò)D)賦值語(yǔ)句max=MIN;放錯(cuò)了位置
(26)有以下程序
^include<stdio.h>
main()
{intm=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(a%d,%d,%d,%d\n>,,m,n,*p,*q);
}程序運(yùn)行后的輸出結(jié)果是
A)1,2,1,B)1,2,2,1C)2,1,2,D)2,1,1,2
27)若有定義語(yǔ)句:inta[4][10],*p,*q句];且0Wi<4,則錯(cuò)誤的賦值是
A)p=aB)q[i]=a[i]C)p=a[i]D)p=&a[2][1]
28)有以下程序
#include<stdio.h>
#include<string.h>
mainO
{charstr[][20]={"One*World”,a0ne*Dream!w},*p=str[l];
printf("%d,",strlen(p));printf(,p);
}程序運(yùn)行后的輸出結(jié)果是
A)9,One*WorldB)9,One*I)reamC)10,One*DreamD)10,One*World
29)有以下程序
#include<stdio.h>
main()
(inta[]={2,3,5,4),i;
for(i=0;i<4;i++)
3
switch(i%2)
{case0:switch(a[i]%2)
{case0:a[i]++;break;
case1:a[i]--;
}break;
case1:a[i[=0;
)
for(i=0;i<4;i++)printf(“%d",a[i]);printf("\n");
)
A)3344B)205003040D)0304
30)有以下程序
#include<stdio.h>
#include<string.h>
main()
{chara[10]="abed”;
printf(u%d,%d\nw,strlen(a),sizeof(a);
}程序運(yùn)行后的輸出結(jié)果是
A)7,4B)4,10C)8,8D)10,10
31)下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是
A)不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串B)可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C)字符數(shù)組中的內(nèi)容不?定是字符串D)字符數(shù)組只能存放字符串
32)下列函數(shù)的功能是
fun(char*a,char*b)
{while((*b=*a)!=,\0'){a++,b++;}}
A)將a所指字符串賦給b所指空間B)使指針b指向a所指字符串C)將a所指字符串和b所指字符串進(jìn)行比較
D)檢查a和b所指字符串中是否有'\(T
33)設(shè)有以下函數(shù)
voidfun(intn,char*s){...}則下面對(duì)函數(shù)指針的定義和賦值均是正確的是
A)void(*pf)();pf=fun;B)viod*pf();pf=fun;C)void*pf();*pf=fun;D)void
(*pf)(int,char);pf=&fun;
(34)有以下程序
#include<stdio.h>
intf(intn);
main()
{inta=3,s;
s=f(a);s=s+f(a);printf(u%d\nw,s);
)
intf(intn)
{staticinta=l;
n+=a++;
returnn;
}程序運(yùn)行以后的輸出結(jié)果是
A)7B)8C)9D)10
35)有以下程序
ttinclude<stdio.h>
#definef(x)x*x*x
main()
{inta=3,s,t;
s=f(a+1);t=f((a+1));
printf("%d,%d\n,,s,t);
4
}程序運(yùn)行后的輸出結(jié)果是
A)10,64B)10,10C)64,10D)64,64
36)下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是
A)structord{intx;inty;intz;};structorda;B)structord{intx;inty;intz;}structorda;
C)structord{intx;inty;intz;}a;D)struct{intx;inty;intz;}a;
37)設(shè)有定義:char*c;,以卜選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的是
A)charstr[]二"string";c二str;B)scanf(,c);C)c=getchar();D)*c二"string”;
38)有以下程序
#include<stdio.h>
#include<string.h>
structA
{inta;charb[10];doublec;};
structAf(structAt);
main()
{structA
a={1001,wZhangDaw,1098.0};
a=f(a);jprintf("%d,%s,%6.If\n",a.a,a.b,a.c);
)
structAf(structAt)
(t.a=1002;strcpy(t.b,"ChangRong”);t.c=1202.0;returnt;)程序運(yùn)行后的輸出結(jié)果是
A)1001,ZhangDa,1098.0B)1001,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1001,ChangRong,1202.0
39)若有以下程序段
int廠8;
printf(“刎\n",r?l);輸出結(jié)果是A)16B)8C)4D)2
40)下列關(guān)于C語(yǔ)言文件的敘述中正確的是
A)文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件B)文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文
件
C)文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件D)文件由字符序列組成,其類型只能是文本文件
二、填空題(每空2分,共30分)
1)某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn)以及3個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中共有11】個(gè)結(jié)點(diǎn)。
2)程序流程圖中的菱形框表示的是【2】。
3)軟件開(kāi)發(fā)過(guò)程主要分為需求分析、設(shè)計(jì)、編碼與測(cè)試四個(gè)階段,其中【3】階段產(chǎn)生“軟件需求規(guī)格說(shuō)明書(shū)。
4)在數(shù)據(jù)庫(kù)技術(shù)中,實(shí)體集之間的聯(lián)系可以是?對(duì)?或?對(duì)多或多對(duì)多的,那么“學(xué)生”和“可選課程”的聯(lián)系為
[4]o
5)人員基本信息一般包括:身份證號(hào),姓名,性別,年齡等。其中可以作為主關(guān)鍵字的是【5】。
6)若有定義語(yǔ)句:inta=5;,則表達(dá)式:a++的值是【6】。
7)若有語(yǔ)句doublex=17;inty;,當(dāng)執(zhí)行y=(int)(x/5)%2;之后y的值為【7】。
8)以下程序運(yùn)行后的輸出結(jié)果是上
Sinclude<stdio.h>
main()
{intx=20;
printf(,0<x<20);
printf(u%d\n,>,0<x&&x<20);}
9)以下程序運(yùn)行后的輸出結(jié)果是一【9】。
#include<stdio.h>
main()
{inta=l,b=7;
do{
b=b/2;a+=b;
}while(b>l);
5
printf("%d\n",a);}
10)有以下程序
#include<stdio.h>
main()
{intf,fl,f2,i;
fl=0;f2=l;
printf(a%d%dw,fl,f2);
for(i=3;i<=5;i++)
{f=fl+f2;printf(飛d",f);
fl=f2;f2=f;
}
printf("\n");
)程序運(yùn)行后的輸出結(jié)果是301°
11)有以下程序
ttinclude<stdio.h>
inta=5;
voidfun(intb)
{inta=10;
a+=b;printf(,a);
)
mainO
{intc=20;
fun(c);a+=c;printf(<<%d\nn,a);
}程序運(yùn)行后的輸出結(jié)果是_LU_。
12)設(shè)有定義:
structperson
{intID;charname[⑵;}p;
請(qǐng)將scanf(“%d”,[12]);語(yǔ)句補(bǔ)充完整,使其能夠?yàn)榻Y(jié)構(gòu)體變量p的成員ID正確讀入數(shù)據(jù)。
13)有以下程序
ttinclude<stdio.h>
mainO
{chara[20]="Howareyou?w,b[20];
scanf(i(%s",b);printf(u%s%s\n,,,a,b);
}程序運(yùn)行時(shí)從鍵盤輸入:Howareyou?〈回車>則輸出結(jié)果為【1310
14)有以下程序
#include<stdio.h>
typedefstruct
{intnum;doubles}REC;
voidfunl(RECx){x.num=23;x.s=88.5;}
mainO
{RECa={16,90.0};
funl(a);
printf("%d\n",a.num);
}程序運(yùn)行后的輸出結(jié)果是一【14】
15)有以下程序
ttinclude<stdio.h>
fun(intx)
{if(x/2>0)run(x/2);
printf(w%d”,x);
)
6
main()
{fun(6);printf("\n");}程序運(yùn)行后的輸出結(jié)果是【15】。
2009年9月筆試卷參考答案
選擇(1-5)CBDAB(6-10)ACBCD
(11-15)DCABB(16-20)DCAAB
(21-25)DCACD(26-30)BACCB
(31-35)DAACA(36-40)BADCC;
填空(1)14(2)條件(3)需求分析
(4)多對(duì)多(5)身份證號(hào)(6)5(7)1
(8)1空0(9)5(10)01123(11)30空格25
(12)&p,ZD(13)HOW.ARE.YOU.HOW(14)16(15)1
2009年3月二級(jí)C語(yǔ)言筆試真題及答案
(1)下列敘述中正確的是
A)棧是“先進(jìn)先出”的線性表B)隊(duì)列是“先進(jìn)先出”的線性表
C)循環(huán)隊(duì)列是非線性結(jié)構(gòu)D)有序性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
(2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是A)棧B)樹(shù)C)隊(duì)列D)二叉樹(shù)
(3)某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn),則該二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)是A)10B)8C)6D)4
(4)下列排序方法中,最壞情況下比較次數(shù)最少的是
A)冒泡排序B)簡(jiǎn)單選擇排序C)直接插排序D)堆排序
(5)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是
A)編譯軟件B)操作系統(tǒng)C)教務(wù)管理系統(tǒng)D)匯編程序
(6)下面敘述中錯(cuò)誤的是
A)軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤B)對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟
C)程序調(diào)試通常也稱為DebugD)軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性
(7)耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是
A)提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性B)降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
O耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度D)內(nèi)聚性是指模塊間互相連接的緊密程度
(8)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的核心問(wèn)題是
A)數(shù)據(jù)庫(kù)設(shè)計(jì)B)數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)C)數(shù)據(jù)庫(kù)維護(hù)D)數(shù)據(jù)庫(kù)管理員培訓(xùn)
(9)有兩個(gè)關(guān)系R,S如下:
R
ABC
a32
b01
c21
B
匚
匚
由關(guān)系R通過(guò)運(yùn)算得到關(guān)系S,則所使用的運(yùn)算為A)選擇B)投影C)插入D)連接
(10)將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為A)屬性B)鍵C)關(guān)系D)域
(11)以下選項(xiàng)中合法的標(biāo)識(shí)符是A)1-1B)1—1C)-11D)1—
(12)若函數(shù)中有定義語(yǔ)句:intk;,則
7
A)系統(tǒng)將自動(dòng)給k賦初值OB)這時(shí)k中值無(wú)定義C)系統(tǒng)將自動(dòng)給k賦初值TD)這時(shí)k中無(wú)任何值
(13)以下選項(xiàng)中,能用作數(shù)據(jù)常量的是A)0115B)0118C)1.5el.5D)115L
(14)設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是A)x*=x+lB)x++,2*xC)x*=(1+x)D)2*x,x+=2
(15)程序段:intx=12;
doubley=3.141593;printf("%d%8.6f",x,y);的輸出結(jié)果是
A)123.141593B)123.141593C)12,3.141593D)123.141593
(16)若有定義語(yǔ)句:doublex,y,*px,*py,執(zhí)行了px=&x,py;&y;之后,正確的輸入語(yǔ)句是
A)scanf(x,y);B)scanf("%f%f”,&x,&y);C)scanf(px,py);D)scanf(x,y);
(17)以下是if語(yǔ)句的基本形式:
if(表達(dá)式)
語(yǔ)句
其中“表達(dá)式”
A)必須是邏輯表達(dá)式B)必須是關(guān)系表達(dá)式C)必須是邏輯表達(dá)式或關(guān)系表達(dá)式D)可以是任意合法的表達(dá)式
(18)有以下程序
#include<stdio.h>
main()
{intx;
scanf(“%d”,&x);
if(x<=3);else
if(x!=10)
printf("%d\n",x);}程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果
A)不等于10的整數(shù)B)大于3且不等于10的整數(shù)C)大于3或等于10的整數(shù)D)小于3的整數(shù)
(19)有以下程序
#include<stdio.h>
Main()
{inta=l,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2||c—!=3)
printf(u%d,%d,%d\nw,a,b,c);
elseprintf(%d,%d,%d\n,a,b,c);
elseprintf("%d,%d,%d\n”,a,b,c);}程序運(yùn)行后的輸出結(jié)果是
A)1,2,3B)1,3,2C)1,3,3D)3,2,1
(20)以下程序中的變量已正確定義
for(i=0;i<4;i++,i++
for(k=l;k<3;k++);printf(*");程序段的輸出結(jié)果是
A)********B)****C)**D)*
(21)有以下程序
#include<stdio.h>
main()
{char
*s=(“ABC);
do
{printf(,*s%10);s++;
}while(*s);}注意,字母A的ASCH碼值為65。程序運(yùn)行后的輸出結(jié)果是
A)5670B)656667C)567D)ABC
(22)設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出一行中輸入字符個(gè)數(shù)(不包含回車符)的程序段是
A)n=0;while((ch=getchar())!='\n')n++;B)n=0;while(getchar()!=,\n,)n++;
C)for(n=0;getchar()!='\nf;n++);D)n=0;for(ch=getchar();ch!二'\n';n++);
(23)有以下程序
#include<stdio.h>
main()
(intal,a2;charcl,c2;
scanf(w%d%c%d%cw,&al,&cl,&a2,&c2);
printf("%d,枇,%d,%c"a2,c2);}
若想通過(guò)鍵盤輸入,使得al的值為12,a2的是為34,cl的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b,
8
則正確的輸入格式是(以下代表空格,<CR>代表回車)
A)12a34b<CR>C)12,a,34,b<CR>
B)12D)12
aa34
34b<CR>
b<CR>
24)有以下程序
#include<stdio.h>
intf(intx,inty)
{return()y-x)*x);}
main()
{inta=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
printf(u%d\n",d);)程序運(yùn)行后的輸出結(jié)果是
A)10B)9C)8D)7
(25)有以下程序
#include<stdio.h>
voidfun(char
*s)
{while(*s)
{if(*s%2==0)
printf(,*s);
s++;}}
main()
{char
a□二{“good”};
fun(a);printf("\n”);}注意:字母a的ASCII碼值為97,程序運(yùn)行后的輸出結(jié)果是
A)dB)goC)godD)good
(26)有以下程序
ftinclude<stdio.h>
voidfun(int*a,int*b)
{int*c;
c=a;a=b;b=c;}
main()
{intx=3,y-5,*P=&x,*q=&y;
fun(p,q);printf("服i,%d,”,*p,*q);
fun(&x,&y);printf("%d,%d\n",*p,*q);)程序運(yùn)行后的輸出結(jié)果是
A)3,5,5,3B)3,5,3,5C)5,3,3,5D)5,3,5,3
(27)有以下程序
#include<stdio.h>
viodf(int*p,int*q);
main()
{intm=l,n=2,*r=&m;
f(r,&n)jprintf("淑1,%d”,m,n);}
voidf(int*p,int*q)
{p=p+1;*q=*q+1;}程序運(yùn)行后輸出的結(jié)果是
A)1,3B)2,3C)1,4D)1,2
(28)以下函數(shù)按每行8個(gè)輸出數(shù)組中的數(shù)據(jù)
voidfun(int*w,intn)
{inti;
for(i=0;i<n;i++)
printf("d",w);}
printf(“\n");}下劃線處應(yīng)填入的語(yǔ)句是
A)if(i/8=0)print(“\n");B)if(i/8=0)continue;
C)if(i%8==0)print("\n");D)if(i%8=0)continue;
9
(29)若有以下定義intx[10],*pt=x;則對(duì)x數(shù)組元素的正確應(yīng)用是
A)B)*(x+3)C)*(pt+10)D)pt+3
30)設(shè)有定義:chars[81];inti=10;,以下不能將一行(不超過(guò)80個(gè)字符)帶有空格的字符串真確讀入的語(yǔ)句或
語(yǔ)句組是
A)gets(s)B)while((s[i++]=getchar())!=”\n”;s二“\0";
C)scanf("%s”,s);D)do{scanf("%c",&s);}while(s[i++]!="\n");s="\0";
(31)有以下程序
ttinclude<stdio.h>
main()
{char*a[]={"abed“,“ef",“gh",“ijk"};intI;
for(i=0;i<4;i++)
printf(“枇”,*a);}程序運(yùn)行后輸出的結(jié)果是
A)aegiB)dfhkC)abedD)abedefghijk
32)以下選項(xiàng)中正確的語(yǔ)句組是
A)chars[];s="BOOK!”;B)char*s;s={"BOOK!”};C)chars[10];s="BOOK!”;D)char*s;s=”
BOOK!”;
(33)有以下程序
#include<stdio.h>
intfun{intx,inty}
{if(x==y)return(x);
elsereturen((x+y)/2)}
main()
{inta=4,b=5,c=6;
printf(“刎\n”,fun(2*a,fun(b,c))))程序運(yùn)行后的輸出結(jié)果是
A)3B)6C)8D)12
(34)設(shè)函數(shù)中有整型變量n,為保證其在未賦值的情況下初值為0,應(yīng)選擇的存儲(chǔ)類別是
A)autoB)registerC)staticD)autoWtregister
(35)有以下程序
#include<stdio.h>
intb=2;
intfun(int*k)
{b=*k+b;return(b);}
main()
{inta[10]={l,2,3,4,5,6,7,8},I;
for(i=2;i<4;i++){b=fun(&a)+b;printf(,b);}
printf("\n");}程序運(yùn)行后輸出的結(jié)果是
A)10B)8C)10D)10
12102816
36)有以下程序
#include<stdio.h>
#definePT3.5;
ftdefineS(x)PT*x*x;
mian()
{inta=l,b=2;printf(,S(a+b));}程序運(yùn)行后輸出的結(jié)果是
A)14.0B)31.5C)7.5D)程序有錯(cuò)無(wú)輸出結(jié)果
37)有以下程序
#include<stdio.h>
structord
{intx,y;}dt[2]={l,2,3,4);
main()
{structord*p=dt;
printf(",++p->x);printf("%d\n",++p->y);}程序的運(yùn)行結(jié)果是
A)1,2B)2,3C)3,4D)4,1
38)設(shè)有宏定義:#include
IsDIV(k,n)((k%n==l)?1:0且變量m已正確定義并賦值,則宏調(diào)用:IsDIV(m,5)&&IsDIV(m,7)為真時(shí)所
要表達(dá)的是A)判斷m是否能被5或者7整除B)判斷m是否能被5和7整除
10
C)判斷m被5或者7整除是否余1D)判斷in被5和7整除是否余1
(39)有以下程序
ttinclude<stdio.h>
main()
{inta=5,b=l,t;
t=(a?2|b);printf("%d\n",t)}程序運(yùn)行后的輸出結(jié)果是A)21B)11C)6D)1
(40)有以下程序
ttinclude<stdio.h>
main()
{EILE*f;
f=fopen("filea,txt“,"w");
fprintf(f,nabc");
fclose(f);}若文本文件filea.txt中原有內(nèi)容為:hello,則運(yùn)行以上程序后,文件filea.txt中的內(nèi)容為
A)helloabcB)abcloC)abcD)abchello
二、填空題(每空2分,共30分)
(1)假設(shè)一個(gè)長(zhǎng)度為50的數(shù)組(數(shù)組元素的下標(biāo)從0到49)作為棧的存儲(chǔ)空間,棧底指針bottom指向棧底元素,
棧頂指針top指向棧頂元素,如果bottom=49,top=30(數(shù)組下標(biāo)),則棧中具有[1]個(gè)元素。
(2)軟件測(cè)試可分為白盒測(cè)試和黑盒測(cè)試?;韭窂綔y(cè)試屬于【2】測(cè)試。
(3)符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【3】。
(4)數(shù)據(jù)庫(kù)系統(tǒng)的核心是【4】
(5)在E-R圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實(shí)體聯(lián)系的是【5】框。
(6)表達(dá)式(int)((double)(5/2)+2.5)的值是[6]
(7)若變量x、y已定義為int類型且x的值為99,y的值為9,請(qǐng)將輸出語(yǔ)句printf([7],x/y);補(bǔ)充完整,
使其輸出的計(jì)算結(jié)果形式為:x/y=ll
(8)有以下程序
#include<stdio.h>
main()
{charcl,c2;scanf(u&cv,&cl);
while(cl<65||cl>90)
scanf(,&cl);
c2=cl+32;
printf("&c,&c\n",cl,c2);}程序運(yùn)行輸入65回車后,能否輸出結(jié)果、結(jié)束運(yùn)行(請(qǐng)回答能或不能)【8】。
(9)以下程序運(yùn)行后的輸出結(jié)果是[9】
#include<stdio.h>
main()
{intk=l,s=0;
do(
if{((k&2)!=0)continue;
s+=k;k++;
}while(k)10);
printf("s=&d/n",s);}
(10)下列程序運(yùn)行時(shí),若輸入labcedl2df<回車)輸出結(jié)果為[10]
#include<stdio.h>
main()
{char
a=0,ch;
while((ch=getchar())!=,\nf)
{if(a&2!=0&&(ch>,a'&&ch<=,z'))ch=ch-'a'+'A';
a++;putchar(ch);)
printf("\n");}
(ID有以下程序,程序執(zhí)行后,輸出結(jié)果是【11】
#include<stdio.h>
voidfun(int*a)
{a[0=a[l];]}
main()
{inta[10>{10,9,8,7,6,5,4,3,2,l),i;
11
for(i=2;i>=0;i-)fun{&a);
for(i=0;i<10;i++)printf("&d”,a);
printf("\n");
)
(12)請(qǐng)將以下程序中的函數(shù)聲明語(yǔ)句補(bǔ)充完整
ftinclude<stdio.h>
int[12];
main()
{intx,y,(*p)();
p=max;
printf("&d\n”,&x,&y);}
Intmax(inta,intb)
{return(a>b/a:b);}
(13)以下程序用來(lái)判斷指定文件是否能正常打開(kāi),請(qǐng)?zhí)羁?/p>
#include<stdio.h>
main()
{FILE*fp;
if(((fp=fop6n("test,txt","r"))==[13]))
printf(“未能打開(kāi)文件!\n");
else
printf("文件打開(kāi)成功!\n");
(14)下列程序的運(yùn)行結(jié)果為【14】
ttinclude<stdio.h>
#include<string.h>
structA
{inta;charb[10];doublec;};
void
f(struct
A
*t);
main()
{structAa=(1001,vZhangDan,1098,0);
f(&a);printf("&d,&s,&6,if\n”,a.a,a.b,a.c);}
voidf(struct
A
*t)
{strcpy(t->b,nChangRong");}
(15)以卜程序把三個(gè)NODETYPE型的變量鏈接成一個(gè)簡(jiǎn)單的鏈表,并在while循環(huán)中輸出鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù),
請(qǐng)?zhí)羁?/p>
#include<stdio.h>
structnode
{intdata;structnode*next;};
typedefstructnodeNODETYPE;
main()
{NODETYPEa,b,c,*h,*p;
a.
data=10;b.data=20;c.data=30;h=&a;
b.
next=&b;b.next二&c;c.next='\0';
P二h;
while(p){printf(u&dw,p->data);[15];}
)
2009年3月答案:
選擇題:
PIO:DACDCABABC1T20:CBDDACDBCB2「30:CDABABACBC31"4ADBCCCBDAC
12
填空題:(1)19(2)白盒(3)順序結(jié)構(gòu)(4)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)(5)菱形(6)4(7)"x/y=%d"(8)能(9)
s=0(10)lAbCeDf2dF(11)7777654321(12)max(inta,intb)(13)NULL
(14)1001,ChangRong,1098.0(15)p=p—>next
2008年9月二級(jí)C語(yǔ)言筆試真題及答案
(1)一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧
的順序是()。A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA
(2)下列敘述中正確的是()。
A)循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu)
B)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
C)在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況
D)循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定
3)在長(zhǎng)度為〃的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是()。
A)0(/2)B)0(7?2)C)0(log2n)D)0(Hog2〃)
4)下列敘述中正確的是()。
A)順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)?定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B)順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C)順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是()。
A)控制流B)事件驅(qū)動(dòng)C)模塊調(diào)用D)數(shù)據(jù)流
6)在軟件開(kāi)發(fā)中,需求分析階段可以使用的工具是()。
A)N-S圖B)DFD圖C)PAD圖D)程序流程圖
7)在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是()。
A)一致性B)分類性C)多態(tài)性D)標(biāo)識(shí)唯性
(8)一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。
A)-對(duì)一B)一對(duì)多C)多對(duì)一D)多對(duì)多
(9)在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是()。
A)人工管理階段B)文件系統(tǒng)階段C)數(shù)據(jù)庫(kù)系統(tǒng)階段D)三個(gè)階段相同
(10)有三個(gè)關(guān)系R、S和T如下:
RST
ABBCABC
m113m13
n235
由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。A)笛卡爾積B)交C)并D)自然連接
(11)以下敘述中正確的是()。
A)C程序的基本組成單位是語(yǔ)句B)C程序中的每一行只能寫一條語(yǔ)句
C)簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束D)C語(yǔ)句必須在一行內(nèi)寫完
12)計(jì)算機(jī)能直接執(zhí)行的程序是()。A)源程序B)目標(biāo)程序C)匯編程序D)可執(zhí)行程序
13)以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是()。A)'cd'B)0.le+6C)"\a"D)'\011'
14)以下選項(xiàng)中正確的定義語(yǔ)句是()。
A)doublea;b;B)doublea=b=7;C)doublea=7,b=7;D)double,a,b;
15)以下不能正確表示代數(shù)式2a6cd的C語(yǔ)言表達(dá)式是()。
A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*d
16)C源程序中不能表示的數(shù)制是()?A)二進(jìn)制B)八進(jìn)制C)十進(jìn)制D)十六進(jìn)制
17)若有表達(dá)式(w)?(--x):(++y),則其中與w等價(jià)的表達(dá)式是()?A)w==lB)w==0C)w!=lD)w!=0
18)執(zhí)行以下程序段后,w的值為()。
13
intw='A',x=14,y=15;
w=((x||y)&&(w〈'a'));A)-1B)NULLC)1D)0
19)若變量已正確定義為int型,要通過(guò)語(yǔ)句scanf("%d,%d,猊“,&a,&b,&c);給a賦值
1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是(d代表一個(gè)空格符)()。
A)ddd1,2,3〈回車〉B)1d2d3〈回車)C)l,ddd2,ddd3〈回車>D)1,2,3〈回車>
(20)有以下程序段
inta,b,c;
a=10;b=50;c=30;
if(a>b)a=b,b=c;c=a;
printf(z/a=%db=%dc=%d\n",a,b,c);程序的輸出結(jié)果是()。
A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50
(21)若有定義語(yǔ)句:intm□二{5,4,3,2,1},i=4;,則下面對(duì)m數(shù)組元素的引用中錯(cuò)誤的是()。
A)m[—i]B)m[2*2]C)D)m[m[i]]
(22)下面的函數(shù)調(diào)用語(yǔ)句中func函數(shù)的實(shí)參個(gè)數(shù)是()。
func(f2(vl,v2),(v3,v4,v5),(v6,max(v7,v8)));A)3B)4C)5D)8
(23)若有定義語(yǔ)句:doublex[5]={l.0,2.0,3.0,4.0,5.0},*p=x;則錯(cuò)誤引用x數(shù)組元素的是()。
A)*pB)x[5]C)*(p+l)D)*x
(24)若有定義語(yǔ)句:chars[10]=,z1234567\0\0,z;,則strlen(s)的值是O°A)7B)8C)9D)10
(25)以下敘述中錯(cuò)誤的是()。
A)用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句
B)用戶定義的函數(shù)中可以有多個(gè)retun語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值
C)用戶定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型D)函數(shù)的return語(yǔ)句中可以沒(méi)有表
達(dá)式
(26)以下關(guān)于宏的敘述中正確的是()。
A)宏名必須用大寫字母表示B)宏定義必須位于源程序中所有語(yǔ)句之前
C)宏替換沒(méi)有數(shù)據(jù)類型限制D)宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間
*****(27)有以下程序
#include<stdio.h>
main()
{inti,j;
for(i=3;i>=l;i--)
{for(j=l;j<=2;j++)printfi+j);
printf(〃\n〃);
}}程序的運(yùn)行結(jié)果是()。
A)234B)432345543C)23D)4534344523
(28)有以下程序
#include<stdio.h>
main()
{intx=l,y=2,z=3;
if(x>y)
if(y<z)printf("%d〃,++z);
elseprintf(〃%d〃,++y);
printf(,z%d\n,z,x++);
}程序的運(yùn)行結(jié)果是()。
A)331B)41C)2D)1
14
(29)有以下程序
#include<stdio.h>
main()
{inti=5;
do
{if(i%3=l)
if(i%5==2)
{printf(〃*/d〃,i);break;}
i++;
}whiled!=0);
printf(〃\n〃);
}程序的運(yùn)行結(jié)果是()。A)*7B)*3*5C)*5*2*6
(30)有以下程序
#include<stdio.h>
intfun(inta,intb)
{if(b=0)returna;
elsereturn(fun(-a,-b));
)
main()
{printf(級(jí)d\n〃,fun(4,2));)程序的運(yùn)行結(jié)果是)oA)1B)2C)3D)4
(31)有以下程序
#include<stdio.h>
#include<stdlib.h>
intfun(intn)
{int*p;
p=(int*)malloc(sizeof(int));
*p=n;return*p;
)
main()
(inta;
a=fun(10);printf(z,%d\n,z,a+fun(10));
}程序的運(yùn)行結(jié)果是()。A)0B)10C)20E出錯(cuò)?
(32)有以下程序
#include<stdio.h>
voidfun(inta,intb)
{intt;
t=a;a=b;b=t;
}
main()
{intc[10]={l,2,3,4,5,6,7,8,9,0),i;
for(i=0;i<10;i+=2)fun(c[i],c[i+l]);
for(i=0;i<10;i++)printf("%d,",c[i]);
printf(〃\n〃);
}程序的運(yùn)行結(jié)果是()。
A)1,2,3,4,5,6,7,8,9,0,B)2,1,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 提高響應(yīng)速度與客戶滿意度計(jì)劃
- 探秘小宇宙幼兒園教學(xué)工作計(jì)劃文檔
- 寓教于樂(lè)的品牌推廣方法計(jì)劃
- 2025年獨(dú)立運(yùn)行風(fēng)力發(fā)電機(jī)組控制器及逆變器項(xiàng)目合作計(jì)劃書(shū)
- 會(huì)議紀(jì)要與決策執(zhí)行要點(diǎn)梳理
- 2025年體外診斷儀器產(chǎn)品項(xiàng)目合作計(jì)劃書(shū)
- 辦公室日常行為規(guī)范及規(guī)章制度解讀
- Zinc-sulfide-生命科學(xué)試劑-MCE
- racemic-Dunnione-SL-11010-生命科學(xué)試劑-MCE
- 新員工入職流程與職責(zé)說(shuō)明
- 2025年春季學(xué)期學(xué)校德育工作計(jì)劃及安排表
- 中華人民共和國(guó)學(xué)前教育法
- 2025年高考作文專練(25道真題+審題立意+范文)- 2025年高考語(yǔ)文作文備考總復(fù)習(xí)
- 四年級(jí)數(shù)學(xué)脫式計(jì)算練習(xí)題100道
- 第一課 追求向上向善的道德(課時(shí)1)(課件)
- NB-T 47013.1-2015 承壓設(shè)備無(wú)損檢測(cè) 第1部分-通用要求
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術(shù)要求及試驗(yàn)方法
- SMA瀝青路面的設(shè)計(jì)與施工
- 腎內(nèi)科相關(guān)基礎(chǔ)知識(shí)學(xué)習(xí)教案
- (完整版)Frenchay構(gòu)音障礙評(píng)定
- NMR 核磁雜質(zhì)峰位置
評(píng)論
0/150
提交評(píng)論