版權(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í)筆試試卷C語(yǔ)言程序設(shè)計(jì)〔考試時(shí)間90分鐘,滿分100分.一、選擇題〔〔1—〔10、〔21—〔40每題2分,〔11—〔20每題1分,共70分〔1下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A循環(huán)隊(duì)列B>帶鏈隊(duì)列C>二叉樹(shù)D帶鏈?!?下列數(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>可封裝D>自頂向下C>模塊化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ù)就是編寫(xiě)程序代碼并上機(jī)調(diào)試
B程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C程序設(shè)計(jì)的任務(wù)就是確定所用算法
D以上三種說(shuō)法都不完整〔12以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是AvoidB8_8C_0_Dunsigned〔13閱讀以下程序
#include
main<>
{intcase;floatprintF;
printf<"請(qǐng)輸入2個(gè)數(shù):">;
scanf<"%d%f",&case,&pjrintF>;
printf<"%d%f\n",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的值是
A0
B3
C4
D5〔15若有定義語(yǔ)句:intx=10;,則表達(dá)式x-=x+x的值為
A-20
B-10
C0
D10〔16有以下程序
#include
main<>
{inta=1,b=0;
printf<"%d,",b=a+b>;
printf<"%d\n",a=2*b>;
}
程序運(yùn)行后的輸出結(jié)果是
A0,0
B1,0
C3,2
D1,217設(shè)有定義:inta=1,b=2,c=3;,以下語(yǔ)句中執(zhí)行效果與其它三個(gè)不同的是
Aif<a>b>c=a,a=b,b=c;
Bif<a>b>{c=a,a=b,b=c;}
Cif<a>b>c=a;a=b;b=c;
Dif<a>b>{c=a;a=b;b=c;}〔18有以下程序
#include
main<>
{intc=0,k;
for<k=1;k<3;k++>
switch<k>
{default:c+=k
case2:c++;break;
case4:c+=2;break;
}
printf<"%d\n",c>;
}
程序運(yùn)行后的輸出結(jié)果是
A3
B5
C7
D9〔19以下程序段中,與語(yǔ)句:k=a>b?<b>c?1:0>:0;功能相同的是
Aif<<a>b>&&<b>c>>k=1;elsek=0;
Bif<<a>b>||<b>c>k=1;elsek=0;
Cif<a<=b>k=0;elseif<b<=c>k=1;
Dif<a>b>k=1;elseif<b>c>k=1;
elsek=0;20有以下程序
#include
main<>
{chars[]={"012xy"};inti,n=0;
for<i=0;s[i]!=0;i++>if<s[i]>=’a’&&s[i]<=’z’>n++;
printf<"%d\n",n>;
}
程序運(yùn)行后的輸出結(jié)果是
A0
B2
C3
D5〔21有以下程序
#include
main<>
{intn=2,k=0;
while<k++&&n++>2>;
printf<"%d%d\n",k,n>;
}
程序運(yùn)行后的輸出結(jié)果是
A02
B13
C57
D12〔22有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是
Achara=’a’;
Bchara=’\n’;
Cchara=’aa’;
Dchara=’\x2d’;〔23有以下程序#includemain<>{charc1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf<"%c,%d\n",c1,c2>;}已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是
AE,68
BD,69
CE,D
D輸出無(wú)定值〔24有以下程序
#include
voidfun<intp>
{intd=2;
p=d++;printf<"%d",p>;}
main<>
{inta=1;
fun<a>;printf<"%d\n",a>;}
程序運(yùn)行后的輸出結(jié)果是
A32
B12
C21
D22〔25以下函數(shù)findmax擬實(shí)現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能#defineMIN-2147483647
intfindmax<intx[],intn>
{inti,max;
for<i=0;i<N;I++><p=""/>
{max=MIN;
if<max
returnmax;
}
造成錯(cuò)誤的原因是
A定義語(yǔ)句inti,max;中max未賦初值
B賦值語(yǔ)句max=MIN;中,不應(yīng)給max賦MIN值
C語(yǔ)句if<max
D賦值語(yǔ)句max=MIN;放錯(cuò)了位置〔26有以下程序
#include
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é)果是
A1,2,1,2
B1,2,2,1
C2,1,2,1
D2,1,1,2〔27若有定義語(yǔ)句:inta[4][10],*p,*q[4];且0≤i<4,則錯(cuò)誤的賦值是
Ap=a
Bq[i]=a[i]
Cp=a[i]
Dp=&a[2][1]〔28有以下程序
#include
#include
main<>
{charstr[][20]={"One*World","One*Dream!"},*p=str[1];
printf<"%d,",strlen<p>>;printf<"%s\n",p>;
}
程序運(yùn)行后的輸出結(jié)果是
A9,One*World
B9,One*Dream
C10,One*Dream
D10,One*World〔29有以下程序
#include
main<>
{inta[]={2,3,5,4},i;
for<i=0;i<4;i++>
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">;}
A3344
B2050
C3040
D0304〔30有以下程序
#include#include
main<>{chara[10]="abcd";
printf<"%d,%d\n",strlen<a>,sizeof<a>>;}程序運(yùn)行后的輸出結(jié)果是
A7,4
B4,10
C8,8
D10,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所指字符串中是否有’\0’〔33設(shè)有以下函數(shù)
voidfun<intn,char*s>{……}
則下面對(duì)函數(shù)指針的定義和賦值均是正確的是
Avoid<*pf><>;pf=fun;
Bviod*pf<>;pf=fun;
Cvoid*pf<>;*pf=fun;
Dvoid<*pf><int,char>;pf=&fun;〔34有以下程序
#include
intf<intn>;
main<>
{inta=3,s;
s=f<a>;s=s+f<a>;printf<"%d\n",s>;
}
intf<intn>
{staticinta=1;
n+=a++;
returnn;
}
程序運(yùn)行以后的輸出結(jié)果是
A7
B8
C9
D10〔35有以下程序
#include
#definef<x>x*x*x
main<>
{inta=3,s,t;
s=f<a+1>;t=f<<a+1>>;
printf<"%d,%d\n’,s,t>;
}
程序運(yùn)行后的輸出結(jié)果是
A10,64
B10,10
C64,10
D64,64〔36下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是
Astructord{intx;inty;intz;};structorda;
Bstructord{intx;inty;intz;}structorda;
Cstructord{intx;inty;intz;}a;
Dstruct{intx;inty;intz;}a;〔37設(shè)有定義:char*c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的是Acharstr[]="string";c=str;Bscanf<"%s",c>;Cc=getchar<>;D*c="string";〔38有以下程序#include#includestructA{inta;charb[10];doublec;};structAf<structAt>;main<>{structAa={1001,"ZhangDa",1098.0};a=f<a>;jprintf<"%d,%s,%6.1f\n",a.a,a.b,a.c>;}structAf<structAt><t.a=1002;strcpy<t.b,"ChangRong">;t.c=1202.0;returnt;>程序運(yùn)行后的輸出結(jié)果是A1001,ZhangDa,1098.0B1001,ZhangDa,1202.0C1001,ChangRong,1098.0D1001,ChangRong,1202.0〔39若有以下程序段intr=8;printf<"%d\n",r>>1>;輸出結(jié)果是A16B8C4D2〔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文件由字符序列組成,其類(lèi)型只能是文本文件二、填空題〔每空2分,共30分〔1某二叉樹(shù)有5個(gè)度為2的結(jié)點(diǎn)以及3個(gè)度為1的結(jié)點(diǎn),則該二叉樹(shù)中共有[1]個(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].〔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é)果是[8].#includemain<>{intx=20;
printf<"%d",0<X<20>;<p=""/>
printf<"%d\n",0<X&&X<=""/>〔9以下程序運(yùn)行后的輸出結(jié)果是[9].#includemain〔{inta=1,b=7;
do{
b=b/2;a+=b;
}while<b>1>;
printf<"%d\n",a>;}〔10有以下程序#includemain<>{intf,f1,f2,i;
f1=0;f2=1;
printf<"%d%d",f1,f2>;
for<i=3;i<=5;i++>
{f=f1+f2;printf<"%d",f>;f1=f2;f2=f;
}
printf<"\n">;}程序運(yùn)行后的輸出結(jié)果是[10].〔11有以下程序#includeinta=5;voidfun<intb>{inta=10;
a+=b;printf<"%d",a>;}main<>{intc=20;
fun<c>;a+=c;printf<"%d\n",a>;}程序運(yùn)行后的輸出結(jié)果是[11].〔12設(shè)有定義:structperson{intID;charname[12];}p;請(qǐng)將scanf<"%d",[12]>;語(yǔ)句補(bǔ)充完整,使其能夠?yàn)榻Y(jié)構(gòu)體變量p的成員ID正確讀入數(shù)據(jù).〔13有以下程序#includemain<>{chara[20]="Howareyou?",b[20];
scanf<"%s",b>;printf<"%s%s\n",a,b>;}程序運(yùn)行時(shí)從鍵盤(pán)輸入:Howareyou?<回車(chē)>則輸出結(jié)果為[13].〔14有以下程序#includetypedefstruct{intnum;doubles}REC;voidfun1<RECx>{x.num=23;x.s=88.5;}main<>{RECa={16,90.0};
fun1<a>;
printf<"%d\n",a.num>;}程序運(yùn)行后的輸出結(jié)果是[14].〔15有以下程序#includefun<intx>{if<x/2>0>run<x/2>;
printf<"%d",x>;}main<>{fun<6>;printf<"\n">;}程序運(yùn)行后的輸出結(jié)果是[15].2009年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試參考答案選擇題.〔1C〔2B〔3D〔4A〔5B〔6A〔7C〔8B〔9C〔10D〔11D〔12C〔13A〔14B〔15B〔16D〔17C〔18A〔19A〔20B〔21D〔22C〔23A〔24C〔25D〔26B〔27A〔28C〔29C〔30B〔31D〔32A〔33A〔34C〔35A<36>B<37>A<38>D<39>C<40>C*答案僅供參考.〔1001123〔95〔810〔71〔65〔5身份證號(hào)〔4多對(duì)多〔3需求分析〔2邏輯條件〔114二、填空題2009年3月二級(jí)C語(yǔ)言筆試真題及答案.〔〔1—〔10每小題2分,〔11—〔50每題1分,共60分
下列各題A、B、C、D四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分.
〔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ù)是
A10B8C6D4
〔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)試通常也稱為Debug
D軟件測(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ú)立性
C耦合性是指一個(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如下:
RABCa32b01c21SABa3b0c2由關(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í)符是
A1-1B1—1C-11D1--〔12若函數(shù)中有定義語(yǔ)句:intk;,則
A系統(tǒng)將自動(dòng)給k賦初值0
B這時(shí)k中值無(wú)定義
C系統(tǒng)將自動(dòng)給k賦初值-1
D這時(shí)k中無(wú)任何值
〔13以下選項(xiàng)中,能用作數(shù)據(jù)常量的是
Ao115B0118C1.5e1.5D115L
〔14設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是
Ax*=x+1
Bx++,2*x
Cx*=〔1+x
D2*x,x+=2
〔15程序段:intx=12;
doubley=3.141593;printf〔"%d%8.6f",x,y;的輸出結(jié)果是
A123.141593
B12
3.141593
C12,3.141593
D123.141593
〔16若有定義語(yǔ)句:doublex,y,*px,*py,執(zhí)行了px=&x,py=&y;之后,正確的輸入語(yǔ)句是
Ascanf〔"%f%f",x,y;
Bscanf〔"%f%f",&x,&y;
Cscanf〔"%lf%le",px,py;
Dscanf〔"%lf%lf",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=1,b=2,c=3,d=0;
if〔a==1&&b++==2
if〔b!=2||c--!=3
printf〔"%d,%d,%d\n",a,b,c;
elseprintf〔"%d,%d,%d\n",a,b,c;
elseprintf〔"%d,%d,%d\n",a,b,c;
}
程序運(yùn)行后的輸出結(jié)果是
A1,2,3
B1,3,2
C1,3,3
D3,2,1
〔20以下程序中的變量已正確定義
for〔i=0;i<4;i++,i++
for〔k=1;k<3;k++;printf〔*";
程序段的輸出結(jié)果是
A********
B****
C**
D*
〔21有以下程序
#include<stdio.h>
main〔
{char
*s=〔"ABC;
do
{printf〔"%d",*s%10;s++;
}while〔*s;
}
注意,字母A的ASCII碼值為65.程序運(yùn)行后的輸出結(jié)果是
A5670
B656667
C567
DABC
〔22設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出一行中輸入字符個(gè)數(shù)〔不包含回車(chē)符的程序段是
An=0;while〔〔ch=getchar〔!=’\n’n++;
Bn=0;while〔getchar〔!=’\n’n++;
Cfor〔n=0;getchar〔!=’\n’;n++;
Dn=0;for〔ch=getchar〔;ch!=’\n’;n++;〔23有以下程序
#include<stdio.h>
main〔
{inta1,a2;charc1,c2;
scanf〔"%d%c%d%c",&a1,&c1,&a2,&c2;
printf〔"%d,%c,%d,%c",&1,c1,a2,c2;
}
若想通過(guò)鍵盤(pán)輸入,使得a1的值為12,a2的是為34,c1的值為字符a,c2的值為字符b,程序輸出結(jié)果是:12,a,34,b,則正確的輸入格式是〔以下
代表空格,<CR>代表回車(chē)
A12a34b<CR>
B12
a
34
b<CR>
C12,a,34,b<CR>
D12
a34
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〔"%d\n",d;
}
程序運(yùn)行后的輸出結(jié)果是
A10
B9
C8
D7
〔25有以下程序
#include<stdio.h>
voidfun〔char
*s
{while〔*s
{if〔*s%2==0
printf〔"%c",*s;
s++;
}
}
main〔
{char
a[]={"good"};
fun〔a;printf〔"\n";
}
注意:字母a的ASCⅡ碼值為97,程序運(yùn)行后的輸出結(jié)果是
Ad
Bgo
Cgod
Dgood
〔26有以下程序
#include<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〔"%d,%d,",*p,*q;
fun〔&x,&y;printf〔"%d,%d\n",*p,*q;
}
程序運(yùn)行后的輸出結(jié)果是
A3,5,5,3
B3,5,3,5
C5,3,3,5
D5,3,5,3
〔27有以下程序
#include<stdio.h>
viodf〔int*p,int*q;
main〔
{intm=1,n=2,*r=&m;
f〔r,&n;printf〔"%d,%d",m,n;
}
voidf〔int*p,int*q
{p=p+1;*q=*q+1;}
程序運(yùn)行后輸出的結(jié)果是
A1,3
B2,3
C1,4
D1,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ǔ)句是
Aif〔i/8==0print〔"\n";
Bif〔i/8==0continue;
Cif〔i%8==0print〔"\n";
Dif〔i%8==0continue;〔29若有以下定義
intx[10],*pt=x;
則對(duì)x數(shù)組元素的正確應(yīng)用是
A*&x[10]
B*〔x+3
C*〔pt+10
Dpt+3
〔30設(shè)有定義:chars[81];inti=10;,以下不能將一行〔不超過(guò)80個(gè)字符帶有空格的字符串真確讀入的語(yǔ)句或語(yǔ)句組是
A
gets〔s
Bwhile〔〔s[i++]=getchar〔!="\n";s="\0";
Cscanf〔"%s",s;
Ddo{scanf〔"%c",&s;}while〔s[i++]!="\n";s="\0";
〔31有以下程序
#include<stdio.h>
main〔
{char*a[]={"abcd","ef","gh","ijk"};intI;
for〔i=0;i<4;i++
printf〔"%c",*a;
}
程序運(yùn)行后輸出的結(jié)果是
Aaegi
Bdfhk
Cabcd
Dabcdefghijk
〔32以下選項(xiàng)中正確的語(yǔ)句組是
Achars[];s="BOOK!";
Bchar*s;s={"BOOK!"};
Cchars[10];s="BOOK!";
Dchar*s;s="BOOK!";
〔33有以下程序
#include<stdio.h>
intfun{intx,inty}
{if〔x==yreturn〔x;
elsereturen〔〔x+y/2
}
main〔
{inta=4,b=5,c=6;
printf〔"%d\n",fun〔2*a,fun〔b,c
}
程序運(yùn)行后的輸出結(jié)果是
A3
B6
C8
D12
〔34設(shè)函數(shù)中有整型變量n,為保證其在未賦值的情況下初值為0,應(yīng)選擇的存儲(chǔ)類(lèi)別是
Aauto
Bregister
Cstatic
Dauto或register
〔35有以下程序
#include<stdio.h>
intb=2;
intfun〔int*k
{b=*k+b;return〔b;}
main〔
{inta[10]={1,2,3,4,5,6,7,8},I;
for〔i=2;i<4;i++{b=fun〔&a+b;printf〔"%d",b;}
printf〔"\n";
}
程序運(yùn)行后輸出的結(jié)果是
A10
12
B8
10
C10
28
D10
16
〔36有以下程序
#include<stdio.h>
#definePT3.5;
#defineS〔xPT*x*x;
mian〔
{inta=1,b=2;printf〔"%4.1f\n",S〔a+b;}
程序運(yùn)行后輸出的結(jié)果是
A14.0
B31.5
C7.5
D程序有錯(cuò)無(wú)輸出結(jié)果〔37有以下程序
#include<stdio.h>
structord
{intx,y;}dt[2]={1,2,3,4};
main〔
{structord*p=dt;
printf〔"%d,",++p->x;printf〔"%d\n",++p->y;
}
程序的運(yùn)行結(jié)果是
A1,2
B2,3
C3,4
D4,1
〔38設(shè)有宏定義:#include
IsDIV〔k,n〔〔k%n==1?1:0且變量m已正確定義并賦值,則宏調(diào)用:IsDIV〔m,5&&IsDIV〔m,7為真時(shí)所要表達(dá)的是
A判斷m是否能被5或者7整除
B判斷m是否能被5和7整除
C判斷m被5或者7整除是否余1
D判斷m被5和7整除是否余1
〔39有以下程序
#include<stdio.h>
main〔
{inta=5,b=1,t;
t=〔a<<2|b;printf〔"%d\n",t
}
程序運(yùn)行后的輸出結(jié)果是
A21
B11
C6
D1
〔40有以下程序
#include<stdio.h>
main〔
{EILE*f;
f=fopen〔"filea.txt","w";
fprintf〔f,"abc";
fclose〔f;
}
若文本文件filea.txt中原有內(nèi)容為:hello,則運(yùn)行以上程序后,文件filea.txt中的內(nèi)容為
Ahelloabc
Babclo
Cabc
Dabchello
二、填空題〔每空2分,共30分
請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡[1]至[15]序號(hào)的橫線上,答在試卷上不得分.
〔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è)試.基本路徑測(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類(lèi)型且x的值為99,y的值為9,請(qǐng)將輸出語(yǔ)句printf〔[7],x/y;補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=11
<8>有以下程序
#include<stdio.h>
main<>
{
charc1,c2;
scanf<"&c",&c1>;
while<c1<65||c1>90>
scanf<"&c",&c1>;
c2=c1+32;
printf<"&c,&c\n",c1,c2>;
}
程序運(yùn)行輸入65回車(chē)后,能否輸出結(jié)果、結(jié)束運(yùn)行〔請(qǐng)回答能或不能[8]
.
〔9以下程序運(yùn)行后的輸出結(jié)果是[9]
#include<stdio.h>
main<>
{intk=1,s=0;
do{
if{〔〔k&2!=0continue;
s+=k;k++;
}while〔k10;
printf〔"s=&d/n",s;
}
<10>下列程序運(yùn)行時(shí),若輸入labced12df<回車(chē)>輸出結(jié)果為[10]
#include<stdio.h>
main<>
{char
a=0,ch;
while<<ch=getchar<>>!=’\n’>
{if<a&2!=0&&<ch>’a’&&ch<=’z’>>ch=ch-‘a(chǎn)’+’A’;
a++;putchar<ch>;
}
printf<"\n">;
}
<11>有以下程序,程序執(zhí)行后,輸出結(jié)果是[11]
#include<stdio.h>
voidfun<int*a>
{a[0=a[1];]}
main<>
{inta[10]={10,9,8,7,6,5,4,3,2,1},i;
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ǔ)充完整
#include<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=fopen<"test.txt","r">>==[13]>>
printf〔"未能打開(kāi)文件!\n";
else
printf<"文件打開(kāi)成功!\n">;
<14>下列程序的運(yùn)行結(jié)果為[14]
#include<stdio.h>
#include<string.h>
structA
{inta;charb[10];double
c;};
void
f<struct
A
*t>;
main<>
{structAa=<1001,"ZhangDa",1098,0>;
f<&a>;printf<"&d,&s,&6,if\n",a.a,a.b,a.c>;
}
voidf<struct
A
*t>
{strcpy<t->b,"ChangRong">;
}
<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<"&d",p->data>;[15];}
}答案:選擇題:1~10:DACDCABABC11~20:CBDDACDBCB21~30:CDABABACBC31~40:ADBCCCBDAC填空題:〔119〔2白盒〔3順序結(jié)構(gòu)〔4數(shù)據(jù)庫(kù)管理系統(tǒng)〔DBMS〔5菱形〔64〔7"x/y=%d"〔8能〔9s=0〔101AbCeDf2dF〔117777654321〔12max<inta,intb>〔13NULL〔141001,ChangRong,1098.0〔15p=p—>next2008年9月二級(jí)C語(yǔ)言筆試真題及答案<考試時(shí)間:120分鐘,滿分100分>.一、選擇題〔〔1~〔10、〔21~〔40每題2分,〔11~〔20每題1分,70分下列各題A、B、C、D四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分.〔1一個(gè)棧的初始狀態(tài)為空.現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棧的順序是〔.A12345ABCDEBEDCBA54321CABCDE12345D54321EDCBA〔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)度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是〔.AO<n>BO<n2>CO<log2n>DO<nlog2n>〔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ā)中,需求分析階段可以使用的工具是〔.AN-S圖BDFD圖CPAD圖D程序流程圖〔7在面向?qū)ο蠓椒ㄖ?不屬于"對(duì)象"基本特點(diǎn)的是〔.A一致性B分類(lèi)性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如下:RSTABBCABCm113m13n235由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為〔.A笛卡爾積B交C并D自然連接〔11以下敘述中正確的是〔.AC程序的基本組成單位是語(yǔ)句BC程序中的每一行只能寫(xiě)一條語(yǔ)句二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第2頁(yè)〔共9頁(yè)C簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束DC語(yǔ)句必須在一行內(nèi)寫(xiě)完〔12計(jì)算機(jī)能直接執(zhí)行的程序是〔.A源程序B目標(biāo)程序C匯編程序D可執(zhí)行程序〔13以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是〔.A'cd'B0.1e+6C"\a"D'\011'〔14以下選項(xiàng)中正確的定義語(yǔ)句是〔.Adoublea;b;Bdoublea=b=7;Cdoublea=7,b=7;Ddouble,a,b;〔15以下不能正確表示代數(shù)式2abcd的C語(yǔ)言表達(dá)式是〔.A2*a*b/c/dBa*b/c/d*2Ca/c/d*b*2D2*a*b/c*d〔16C源程序中不能表示的數(shù)制是〔.A二進(jìn)制B八進(jìn)制C十進(jìn)制D十六進(jìn)制〔17若有表達(dá)式<w>?<--x>:<++y>,則其中與w等價(jià)的表達(dá)式是〔.Aw==lBw==0Cw!=lDw!=0〔18執(zhí)行以下程序段后,w的值為〔.intw='A',x=14,y=15;w=<<x||y>&&<w<'a'>>;A-1BNULLClD0〔19若變量已正確定義為int型,要通過(guò)語(yǔ)句scanf<"%d,%d,%d",&a,&b,&c>;給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是〔ò代表一個(gè)空格符〔.Aòòò1,2,3<回車(chē)>B1ò2ò3<回車(chē)>C1,òòò2,òòò3<回車(chē)>D1,2,3<回車(chē)>〔20有以下程序段inta,b,c;a=10;b=50;c=30;if<a>b>a=b,b=c;c=a;printf<"a=%db=%dc=%d\n",a,b,c>;程序的輸出結(jié)果是〔.Aa=10b=50c=10Ba=10b=50c=30Ca=10b=30c=10Da=50b=30c=50〔21若有定義語(yǔ)句:intm[]={5,4,3,2,1},i=4;,則下面對(duì)m數(shù)組元素的引用中錯(cuò)誤的是〔.Am[--i]Bm[2*2]Cm[m[0]]Dm[m[i]]〔22下面的函數(shù)調(diào)用語(yǔ)句中func函數(shù)的實(shí)參個(gè)數(shù)是〔.func<f2<v1,v2>,<v3,v4,v5>,<v6,max<v7,v8>>>;A3B4C5D8〔23若有定義語(yǔ)句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;則錯(cuò)誤引用x數(shù)組元素的是〔.A*pBx[5]C*<p+1>D*x〔24若有定義語(yǔ)句:chars[10]="1234567\0\0";,則strlen<s>的值是〔.A7B8C9D10〔25以下敘述中錯(cuò)誤的是〔.A用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句B用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值C用戶定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類(lèi)型二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第3頁(yè)〔共9頁(yè)D函數(shù)的return語(yǔ)句中可以沒(méi)有表達(dá)式〔26以下關(guān)于宏的敘述中正確的是〔.A宏名必須用大寫(xiě)字母表示B宏定義必須位于源程序中所有語(yǔ)句之前C宏替換沒(méi)有數(shù)據(jù)類(lèi)型限制D宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間〔27有以下程序#include<stdio.h>main<>{inti,j;for<i=3;i>=l;i-->{for<j=1;j<=2;j++>printf<"%d",i+j>;printf<"\n">;}}程序的運(yùn)行結(jié)果是〔.A234B432345543C23D4534344523〔28有以下程序#include<stdio.h>main<>{intx=l,y=2,z=3;if<x>y>if<y<z>printf<"%d",++z>;elseprintf<"%d",++y>;printf<"%d\n",x++>;}程序的運(yùn)行結(jié)果是〔.A331B41C2D1〔29有以下程序#include<stdio.h>main<>{inti=5;do{if<i%3=1>if<i%5==2>{printf<"*%d",i>;break;}i++;}while<i!=0>;printf<"\n">;}二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第4頁(yè)〔共9頁(yè)程序的運(yùn)行結(jié)果是〔.A*7B*3*5C*5D*2*6〔30有以下程序#include<stdio.h>intfun<inta,intb>{if<b==0>returna;elsereturn<fun<--a,--b>>;}main<>{printf<"%d\n",fun<4,2>>;}程序的運(yùn)行結(jié)果是〔.A1B2C3D4〔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<"%d\n",a+fun<10>>;}程序的運(yùn)行結(jié)果是〔.A0B10C20D出錯(cuò)〔32有以下程序#include<stdio.h>voidfun<inta,intb>{intt;t=a;a=b;b=t;}main<>{intc[10]={1,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é)果是〔.Al,2,3,4,5,6,7,8,9,0,B2,l,4,3,6,5,8,7,0,9,C0,9,8,7,6,5,4,3,2,1,D0,1,2,3,4,5,6,7,8,9,〔33有以下程序#include<stdio.h>structst二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第5頁(yè)〔共9頁(yè){intx,y;>data[2]={l,10,2,20};main<>{structst*p=data;printf<"%d,",p->y>;printf<"%d\n",<++p>->x>;}程序的運(yùn)行結(jié)果是〔.A10,1B20,1C10,2D20,2〔34有以下程序#include<stdio.h>voidfun<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<>{intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun<k,5>;for<i=2;i<8;i++>printf<"%d",k[i]>;printf<"\n">;}程序的運(yùn)行結(jié)果是〔.A345678B876543C1098765D321678〔35有以下程序#include<stdio.h>#defineN4voidfun<inta[][N],intb[]>{inti;for<i=0;i<N;i++>b[i]=a[i][i];}main<>{intx[][N]={{1,2,3>,{4>,{5,6,7,8>,{9,10}},y[N],i;fun<x,y>;for<i=0;i<N;i++>printf<"%d,",y[i]>;printf<"\n">;}程序的運(yùn)行結(jié)果是〔.Al,2,3,4,B1,0,7,0,C1,4,5,9,D3,4,8,10,〔36有以下程序#include<stdio.h>intfun<int<*s>[4],intn,intk>{intm,i;m=s[0][k];for<i=l;i<n;i++>if<s[i][k]>m>m=s[i][k];returnm;}二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第6頁(yè)〔共9頁(yè)main<>{inta[4][4]={{1,2,3,4>,{11,12,13,14},{2l,22,23,24},{31,32,33,34}};printf<"%d\n",fun<a,4,0>>;}程序的運(yùn)行結(jié)果是〔.A4B34C31D32〔37有以下程序#include<stdio.h>main<>{structSTU{charname[9];charsex;doublescore[2];};structSTUa={"Zhao",'m',85.0,90.0>,b={"Qian",'f',95.0,92.0>;b=a;printf<"%s,%c,%2.0f,%2.0f\n",,b.sex,b.score[0],b.score[1]>;}程序的運(yùn)行結(jié)果是〔.AQian,f,95,92BQian,m,85,90CZhao,f,95,92DZhao,m,85,90〔38假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如圖所示的結(jié)點(diǎn):headabcdatanext↑p↑q則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是〔.A<*p>.next=<*q>.next;free<p>;Bp=q->next;free<q>;Cp=q;free<q>;Dp->next=q->next;free<q>;〔39有以下程序#include<stdio.h>main<>{chara=4;printf<"%d\n",a=a<<1>;}程序的運(yùn)行結(jié)果是〔.A40B16C8D4〔40有以下程序#include<stdio.h>main<>{FILE*pf;char*s1="China",*s2="Beijing";pf=fopen<"abc.dat","wb+">;fwrite<s2,7,l,pf>;rewind<pf>;fwrite<s1,5,1,pf>;fclose<pf>;}以上程序執(zhí)行后abc.dat文件的內(nèi)容是〔.BChinaBChinangCChinaBeijingDBeijingChina二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第7頁(yè)〔共9頁(yè)二、填空題〔每空2分,共30分請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡[1]至[15]序號(hào)的橫線上,答在試卷上不得分.〔1對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果[1].ABCDEFXYZ〔2按照軟件測(cè)試的一般步驟,集成測(cè)試應(yīng)在[2]測(cè)試之后進(jìn)行.〔3軟件工程三要素包括方法、工具和過(guò)程,其中,[3]支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制和管理.〔4數(shù)據(jù)庫(kù)設(shè)計(jì)包括概念設(shè)計(jì)、[4]和物理設(shè)計(jì).〔5在二維表中,元組的[5]不能再分成更小的數(shù)據(jù)項(xiàng).〔6設(shè)變量a和b已正確定義并賦初值.請(qǐng)寫(xiě)出與a-=a+b等價(jià)的賦值表達(dá)式[6].〔7若整型變量a和b中的值分別為7和9,要求按以下格式輸出a和b的值:a=7b=9請(qǐng)完成輸出語(yǔ)句:printf<"[7]",a,b>;.〔8以下程序的輸出結(jié)果是[8].#include<stdio.h>main<>{inti,j,sum;for<i=3;i>=1;i-->{sum=0;for<j=1;j<=i;j++>sum+=i*j;}printf<"%d\n",sum>;}〔9以下程序的輸出結(jié)果是[9].#include<stdio.h>main<>{intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;for<j=3;j;j-->{switch<j>{case1:case2:printf<"%d",*p++>;break;case3:printf<"%d",*<--p>>;}}}二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第8頁(yè)〔共9頁(yè)〔10以下程序的輸出結(jié)果是[10].#include<stdio.h>#defineN5intfun<int*s,inta,intn>{intj;*s=a;j=n;while<a!=s[j]>j--;returnj;}main<>{ints[N+1];intk;for<k=l;k<=N;k++>s[k]=k+l;printf<"%d\n",fun<s,4,N>>;}〔11以下程序的輸出結(jié)果是[11].#include<stdio.h>intfun<intx>{staticintt=0;return<t+=x>;}main<>{ints,i;for<i=l;i<=5;i++>s=fun<i>;printf<"%d\n",s>;}〔12以下程序按下面指定的數(shù)據(jù)給x數(shù)組的下三角置數(shù),并按如下形式輸出,請(qǐng)?zhí)羁?43726915810#include<stdio.h>main<>{intx[4][4],n=0,i,j;for<j=0;j<4;j++>for<i=3;i>=j;[12]>{n++;x[i][j]=[13];}for<i=0;i<4;i++>{for<j=0;j<=i;j++>printf<"%3d",x[i][j]>;printf<"\n">;}}〔13以下程序的功能是:通過(guò)函數(shù)func輸入字符并統(tǒng)計(jì)輸入字符的個(gè)數(shù).輸入時(shí)用字符@作為輸入結(jié)束標(biāo)志.請(qǐng)?zhí)羁?#include<stdio.h>long[14];二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷第9頁(yè)〔共9頁(yè)main<>{longn;n=func<>;printf<"n=%ld\n",n>;}longfunc<>{longm;for<m=0;getchar<>!='@';[15]>;retumm;}2008年9月筆試卷參考答案一、選擇題〔1B〔2D〔3C〔4A〔5D〔6B〔7A〔8B〔9C〔10D〔11C〔12D〔13A〔14C〔15D〔16A〔17D〔18C〔19B〔20A〔21C〔22A〔23B〔24A〔25B〔26C〔27D〔28D〔29A〔30B〔31C〔32A〔33C〔34D〔35B〔36C〔37D〔38D〔39C〔40B二、填空題〔1[1]DBXEAYFZC〔2[2]單元〔3[3]過(guò)程〔4[4]邏輯設(shè)計(jì)〔5[5]分量〔6[6]a=a-<a+b>或〔a=-b〔7[7]a=%d\nb=%d〔8[8]1〔9[9]9911〔10[10]3〔11[11]15〔12[12]i--〔13[13]n〔14[14]func<>〔15[15]m++2008年4月二級(jí)C語(yǔ)言筆試真題及答案14、person[i].sex
15、"filea.dat","r".一、選擇題〔共70分
下列各題A,B,C,D四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫(xiě)在答題卡相應(yīng)位置上,答在試卷上不得分.
〔1程序流程圖中指有箭頭的線段表示的是
A圖元關(guān)系B數(shù)據(jù)流C控制流D調(diào)用關(guān)系
〔2結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括
A多態(tài)性B自頂向下C模塊化D逐步求精
〔3軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是
A低內(nèi)聚低耦合B高內(nèi)聚低耦合
C低內(nèi)聚高耦合D高內(nèi)聚高耦合
〔4在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是
A可行性分析報(bào)告B軟件需求規(guī)格說(shuō)明書(shū)
C概要設(shè)計(jì)說(shuō)明書(shū)D集成測(cè)試計(jì)劃
〔5算法的有窮性是指
A算法程序的運(yùn)行時(shí)間是有限的
B算法程序所處理的數(shù)據(jù)量是有限的
C算法程序的長(zhǎng)度是有限的D算法只能被有限的用戶使用
〔6對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n<n-1>/2的排序方法是
A快速排序B冒泡排序
C直接插入排序D堆排序
〔7下列關(guān)于棧的敘述正確的是
A棧按"先進(jìn)先出"組織數(shù)據(jù)B>棧按"先進(jìn)后出"組織數(shù)據(jù)
C只能在棧底插入數(shù)據(jù)D不能刪除數(shù)據(jù)
〔8在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于[C]
A需求分析階段B概念設(shè)計(jì)階段
C邏輯設(shè)計(jì)階段D物理設(shè)計(jì)階段
〔9有三個(gè)關(guān)系R、S和T如下:
T
BCD
a0k1
RS
BCD
a0k1
b1n1
BCD
f3h2
a0k1
n2x1
有關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為
A>并B>自然連接C>笛卡爾積D>交
〔10設(shè)有表示學(xué)生選課的三張表,學(xué)生S〔學(xué)號(hào),姓名,性別,年齡,身份證號(hào),課程C〔課號(hào),課名,選課SC〔學(xué)號(hào),課號(hào),成績(jī),則表SC的關(guān)鍵字〔鍵或碼為
A>課號(hào),成績(jī)B>學(xué)號(hào),成績(jī)
C>學(xué)號(hào),課號(hào)D>學(xué)號(hào),姓名,成績(jī)
〔11以下敘述中正確的是
A>C程序中的注釋只能出現(xiàn)在程序的開(kāi)始位置和語(yǔ)句的后面
B>C程序書(shū)寫(xiě)格式嚴(yán)格,要求一行內(nèi)只能寫(xiě)一個(gè)語(yǔ)句
C>C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以寫(xiě)在多行上
D>用C語(yǔ)言編寫(xiě)的程序只能放在一個(gè)程序文件中
〔12以下選項(xiàng)中不合法的標(biāo)識(shí)符是
A>printB>FORC>&aD>_00
<13>以下選項(xiàng)中不屬于字符常量的是
A>'C'B>"C"C>'\xCC0'D>'\072'
<14>設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是
A>x=y*5=x+zB>int<15.8%5>
C>x=y+z+5,++yD>x=25%5.0
<15>以下定義語(yǔ)句中正確的是
A>inta=b=0;B>charA=65+1,b='b';
C>floata=1,*b=&a,*c=&b;D>doublea=0.0,b=1.1;
<16>有以下程序段
charch;intk;
ch='a';k=12;
printf<"%c,%d,",ch,ch,k>;printf<"k=%d\n",k>;
已知字符a的ASCll十進(jìn)制代碼為97,則執(zhí)行上述程序段后輸出結(jié)果是
A>因變量類(lèi)型與格式描述符的類(lèi)型不匹配輸出無(wú)定值
B>輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C>a,97,12k=12D>a,97,k=12
<17>已知字母A的ASCⅡ代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫(xiě)字母的表達(dá)式是
A>kk>='A'&&kk<='Z'B>!<kk>='A'‖kk<='Z'>
C><kk+32>>='a'&&<kk+32><='z'D>isalpha<kk>&&<kk<91>
<18>當(dāng)變量c的值不為2、4、6時(shí),值也為"真"的表達(dá)式是
A><c==2>‖<c==4>‖<c==6>B><c>=2&&c<=6>‖<c!=3>‖<c!=5>
C><c>=2&&c<=6>&&!<c%2>D><c>=2&&c<=6>&&<c%2!=1>
<19>若變量已正確定義,有以下程序段
inta=3,b=5,c=7;
if<a>b>a=b;c=a;
if<c!=a>c=b;
printf<"%d,%d,%d\n",a,b,c>;
其輸出結(jié)果是
A>程序段有語(yǔ)法錯(cuò)B>3,5,3C>3,5,5D>3,5,7
〔20有以下程序
#include<stdio.h>
main<>
{intx=1,y=0,a=0,b=0;
switch<x>
{case1:
switch<y>
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf<"a=%d,b=%d\n",a,b>;
}
程序的運(yùn)行結(jié)果是
Aa=1,b=0Ba=2,b=2
Ca=1,b=1Da=2,b=1
〔21有以下程序
#include<stdio.h>
main<>
{intx=8;
for<;x>0;x-->
{if<x%3>{printf<"%d,",x-->;continue;}
printf<"%d,",--x>;
}
}
程序的運(yùn)行結(jié)果是
A7,4,2B8,7,5,2
C9,7,6,4D8,5,4,2
〔22以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或者語(yǔ)句組是
An=0;Bn=0;
do{++n;}while<n<=0>;while<1>{n++;}
C>n=10;D>for<n=0,i=1;;i++>n+=i;
while<n>;{n--;}
〔23有以下程序
#include<stdio.h>
main<>
{inta[]={1,2,3,4},y,*p=&a[3];
--p;y=*p;printf<"y=%d\n",y>;
}
程序的運(yùn)行結(jié)果是
Ay=0By=1Cy=2Dy=3
〔24以下錯(cuò)誤的定義語(yǔ)句是
Aintx[][3]={{0},{1},{1,2,3}};
Bintx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
Cintx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
Dintx[][3]={1,2,3,4};
〔25設(shè)有如下程序段
chars[20]="Bejing",*p;
p=s;
則執(zhí)行p=s;語(yǔ)句后,以下敘述正確的是
A可以用*p表示s[0]
Bs數(shù)組中元素的個(gè)數(shù)和p所指字符串長(zhǎng)度相等
Cs和p都是指針變量
D>數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等
〔26若有定義:inta[2][3];,以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是
Aa[2][!1]Ba[2][3]Ca[0][3]Da[1>2][!1]
〔27有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是
Agets<&s[0]>;Bscanf<"%s",s+1>;
Cgets<s>;Dscanf<"%s",s[1]>;
〔28以下敘述中錯(cuò)誤的是
A在程序中凡是以"#"開(kāi)始的語(yǔ)句行都是預(yù)處理命令行
B預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束
C#defineMAX是合法的宏定義命令行
DC程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的
〔29以下結(jié)構(gòu)體類(lèi)型說(shuō)明和變量定義中正確的是
AtypedefstructBstructREC;
{intn;charc;}REC;{intn;charc;};
RECt1,t2;RECt1,t2;
CtypedefstructREC;Dstruct
{intn=0;charc=’A’;}t1,t2;{intn;charc;}RECt1,t2;
〔30以下敘述中錯(cuò)誤的是
Agets函數(shù)用于從終端讀入字符串
Bgetchar函數(shù)用于從磁盤(pán)文件讀入字符
C>fputs函數(shù)用于把字符串輸出到文件
D>fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件
<31>有以下程序
#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>1234B>2344C>4332D>1123
<32>有以下程序
#include<stdio.h>
voidfun<int*s,intnl,intn2>
{inti,j,t;
i=nl;j=n2;
while<i<j>{t=s[i];s[i]=s[j];s[j]=t;i++;j--;}
}
main<>
{inta[10]={1,2,3,4,5,6,7,8,9,0},k;
fun<a,0,3>;fun<a,4,9>;fun<a,0,9>;
for<k=0;k<10;k++>printf<"%d",a[k]>;printf<"\n">;
}
程序運(yùn)行的結(jié)果是
A>0987654321B>4321098765
C>5678901234D>0987651234
<33>有以下程序
#include<stdio.h>
#include<string.h>
voidfun<char*s[],intn>
{char*t;inti,j;
for<i=0;i<n-1;i++>
for<j=i+1;j<n;j++>
if<strlen<s[i]>>strlen<s[j]>>{t=s[i];s[i]=s[j];s[j]=t;}
}
main<>
{char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};
fun<ss,5>;printf<"%s,%s\n",ss[0],ss[4]>;
}
程序的運(yùn)行結(jié)果是
A>xy,aaaaccB>aaaacc,xyC>bcc,aabccD>aabcc,bcc
<34>有以下程序
#include<stdio.h>
intf<intx>
{inty;
if<x==0||x==1>return<3>;
y=x*x-f<x-2>;
returny;
}
main<>
{intz;
z=f<3>;printf<"%d\n",z>;
}
程序的運(yùn)行結(jié)果是
A>0B>9C>6D>8
<35>有以下程序
#include<stdio.h>
voidfun<char*a,char*b>
{while<*a==’*’>a++;
while<*b=*a>{b++;a++;}
}
main<>
{char*s="****a*b****",t[80];
fun<s,t>;puts<t>;
}
程序的運(yùn)行結(jié)果是
A>*****a*bB>a*bC>a*b****D>ab
<36>有以程序
#include<stdio.h>
#include<string.h>
typedefstruct{charname[9];charsex;floatscore[2];}STU;
voidf<STUa>
{STUb={"Zhao",’m’,85.0,90.0};inti;
strcpy<,>;
a.sex=b.sex;
for<i=0;i<2;i++>a.score[i]=b.score[i];
}
main<>
{STUc={"Qian",’p’,95.0,92.0};
f<c>;printf<"%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]>;
}
程序的運(yùn)行結(jié)果是
A>Qian,f,95,92B>Qian,m,85,90
C>Zhao,f,95,92D>Zhao,m,85,90
<37>有以下程序
#include<stdio.h>
main<>
{FILE*fp;inta[10]={1,2,3},i,n;
fp=fopen<"dl.dat","w">;
for<i=0;i<3;i++>fprintf<fp,"%d",a[i]>;
fprintf<fp,"\n">;
fclose<fp>;
fp=fopen<"dl.dat","r">;
fscanf<fp,"%d",&n>;
fclose<fp>;
printf<"%d\n",n>;
}
程序的運(yùn)行結(jié)果是
A>12300B>123C>1D>321
<38>變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000.若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是
A>a^bB>a|bC>a&bD>a<<4
<39>在C語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類(lèi)型是
A>auto和registerB>extern和registerC>auto和staticD>static和register
<40>設(shè)有定義語(yǔ)句int<*f><int>;,則以下敘述正確的是
A>f是基類(lèi)型為int的指針變量
B>f是指向函數(shù)的指針變量,該函數(shù)具有一個(gè)int類(lèi)型的形參
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年應(yīng)急救生系統(tǒng)項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2023-2024學(xué)年廣東省深圳市福田區(qū)八年級(jí)(下)期末英語(yǔ)試卷
- 2023-2024學(xué)年廣東省深圳市福田區(qū)七年級(jí)(上)期中英語(yǔ)試卷
- 二年級(jí)數(shù)學(xué)計(jì)算題專(zhuān)項(xiàng)練習(xí)
- 健康吃藥的安全
- 二年級(jí)語(yǔ)文下冊(cè)教案
- 山東省青島市李滄區(qū)片區(qū)2024-2025學(xué)年六年級(jí)上學(xué)期期中語(yǔ)文試卷
- 陜西省西安市藍(lán)田縣2024-2025學(xué)年上學(xué)期九年級(jí)物理期中質(zhì)量檢測(cè)試卷(含答案)
- 高中物理復(fù)習(xí)4-2第2講拋體運(yùn)動(dòng)課件
- 醫(yī)用按摩凝膠產(chǎn)業(yè)規(guī)劃專(zhuān)項(xiàng)研究報(bào)告
- 統(tǒng)計(jì)學(xué)分析報(bào)告及統(tǒng)計(jì)學(xué)分章作業(yè)及答案
- 2024年威士忌酒相關(guān)公司行業(yè)營(yíng)銷(xiāo)方案
- 《中外歷史綱要(上)》期末專(zhuān)題復(fù)習(xí)提綱
- 2024年安徽省交通科學(xué)研究院招聘筆試參考題庫(kù)附帶答案詳解
- 儀表安裝施工方案
- 網(wǎng)絡(luò)游戲危害課件
- 工業(yè)污水處理廠項(xiàng)目經(jīng)濟(jì)效益和社會(huì)效益分析報(bào)告
- 2024供電營(yíng)業(yè)規(guī)則學(xué)習(xí)課件
- 鐵路給水排水設(shè)計(jì)規(guī)范(TB 10010-2016)
- 中醫(yī)養(yǎng)生的吃生姜養(yǎng)生法
- GINA2023-哮喘防治指南解讀-課件
評(píng)論
0/150
提交評(píng)論