網(wǎng)站首頁
分類導(dǎo)航
試題中心
下載中心
英語學(xué)習(xí)
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
計(jì)算機(jī)
:
等級考試
水平考試
微軟認(rèn)證
思科認(rèn)證
Oracle認(rèn)證
Linux認(rèn)證
外語類:
四 六 級
商務(wù)英語
公共英語
GRE
GMAT
托 福
雅 思
資格類:
公 務(wù) 員
報(bào) 關(guān) 員
司法考試
導(dǎo)游考試
會計(jì)職稱
注冊會計(jì)師
學(xué)歷類:
考研入學(xué)
自學(xué)考試
成人高考
法律碩士
MBA/MPA
網(wǎng)絡(luò)課堂
等級考試
水平考試
微軟認(rèn)證
思科認(rèn)證
Oracle認(rèn)證
Linux認(rèn)證
考試動態(tài)
|
報(bào)考指南
|
考試大綱
|
歷年真題
|
模擬試題
|
復(fù)習(xí)資料
|
心得技巧
|
考試論壇
您現(xiàn)在的位置:
考試吧(Exam8.com)
>>
計(jì)算機(jī)等級考試
>>
模擬試題
>>
二級模擬題
>> 文章正文
登錄
|
注冊
|
升級VIP
馬上加入考試吧VIP
博客個性域名免費(fèi)搶注
特別推薦
最新熱點(diǎn)
·
2006年9月全國計(jì)算機(jī)等級
·
考試吧:2006年9月全國計(jì)
·
2006年9月計(jì)算機(jī)等級考試
·
06年9月計(jì)算機(jī)二級公共基
·
2006年4月計(jì)算機(jī)等級考試
·
2006年下半年計(jì)算機(jī)等級
·
2006年4月計(jì)算機(jī)等級考試
·
2006年4月計(jì)算機(jī)等級考試
·
2006年4月計(jì)算機(jī)等級考試
·
2006年4月計(jì)算機(jī)等級考試
·
2006年全國計(jì)算機(jī)等級考
·
2006年全國計(jì)算機(jī)等級考
·
2006年4月計(jì)算機(jī)等級考試
·
2005年NCRE考試各級別的
更多>>
最新推薦
·
2006年9月計(jì)算機(jī)等級考試
·
2006年下半年計(jì)算機(jī)等級
·
2004年版南開C語言100題
·
閱卷教師談等級考試
·
2006年計(jì)算機(jī)等級考試二
·
2006年4月計(jì)算機(jī)等級考試
·
全國計(jì)算機(jī)等級考試承辦
·
05年9月計(jì)算機(jī)等級考試成
·
05年9月等級考試二級C語
·
9月各地計(jì)算機(jī)等級考試報(bào)
·
2005年4月全國計(jì)算機(jī)等級
·
2005年4月計(jì)算機(jī)等級考試
·
2005年4月計(jì)算機(jī)等級考試
·
2005年4月2日二級VFP標(biāo)準(zhǔn)
更多>>
2006年精品輔導(dǎo)課程
05年9月等級考試二級C語言考前密卷(五)
【字體:
大
小
】
05年9月等級考試二級C語言考前密卷(五)
http://m.1glr.cn
來源:ChinaITLab 點(diǎn)擊: 更新:2005-9-15
(28)有如下程序
main()
{ int x=3;
do
{ printf("%d",x--);}
while(!x);
}
該程序的執(zhí)行結(jié)果是________。
A)321 B)3 C)不輸出任何內(nèi)容 D)陷入死循環(huán)
答案:B
評析:本題x賦初值為3,當(dāng)執(zhí)行printf("%d",x--);時,由于X--的作用是先運(yùn)算x,再將x的值減l,所以,printf輸出的x值為3,等輸出后,x的值減1變?yōu)?,繼續(xù)執(zhí)行,判斷條件!x為假,循環(huán)只被執(zhí)行一次。
(29)設(shè)有聲明語句:char a='\72';則變量a__________
A)包含1個字符 B)包含2個字符
C)包含3個字符 D)聲明不合法
答案:A
評析:轉(zhuǎn)義字符常量'\xx'可以把'\'后面的數(shù)字轉(zhuǎn)換為對應(yīng)的ASCII字符。
(30)有以下程序段:
main()
{
int a=5,*b,**c
c==&b;b=&a;
}
程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式ttc的值是__________。
A)變量a的地址 B)變量b中的地址
C)變量a中的值 D)變量b的地址
答案:C
評析:指針變量是用來存放地址的。&:取地址運(yùn)算符。+:指針運(yùn)算符。**c為指針變量*c所指向的存儲單元,*c為指針指針變量c所指向的存儲單元,而c=&b表示c為變量b的地址,b=&a表示b為變量a的地址。表達(dá)式一c的值就是變量a中的值。
(31)有如下函數(shù)調(diào)用語句
func(recl,rec2+rec3,(rec4,rec5));
該函數(shù)調(diào)用語句中,含有的實(shí)參個數(shù)是________。
A)3 B)4 C)5 D)有語法錯誤
答案:A
評析:(rec4,rec5)是逗號表達(dá)式,它的值是rec5的值。所以該函數(shù)調(diào)用語句含有的實(shí)參個數(shù)是3。
(32)有如下程序
main()
{
char s[115]={.tabc","de","fgh"};
printf("%e",s[2][6]);
}
其輸出為__________。
A)不確定 B)編譯錯誤 C)g D)輸出null字符
答案:A
評析:由于s[2116]表示字符串已超出了數(shù)組s的表示范圍,在c中不會對數(shù)組越界進(jìn)行檢查,當(dāng)數(shù)組越界時,會得到一個不確定的值。
(33)有如下程序
int rune(ira a,int b)
{ remm(a+b);}
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
primf("%d\n",r);
}
該程序的輸出結(jié)果是________。
A)12 B)13 C)14 D)15
答案:D
評析:調(diào)用函數(shù)func(x,y),返回x+y,即7;再調(diào)用函數(shù)func(7,z),返回7+z,即15。
(34)有如下程序段
int *p,a=10,b=l;
p=&a; a=*p+b;
執(zhí)行該程序段后,a的值為_________。
A)12 B)11 C)10 D)編譯出錯
答案:B
評析:執(zhí)行p=&a;后,p指向整數(shù)a,*p即p的目標(biāo)變量,也就是a;所以a=*p+b等價(jià)于a=a+b,可知a的值最終為11。
(35)有以下程序:
int*f(int*x,int*y)
{ if(*x<*y)return x;
else returny;
}
main()
{
int a=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=f(p,q);
printf("%d,%d,%d\n",*p,*q,*r);
}
程序運(yùn)行后輸出結(jié)果是_________。
A)7,8,8 B)7,8,7 C)8,7,7 D)8,7,8
答案:B
評析:f函數(shù)的功能是返回地址為x,y的兩個數(shù)中值較的數(shù)的地址,本題輸出結(jié)果是7,8,7。
(36)有如下程序
long fib(im n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
)
main()
{ printf(%ld\n",fib(3));}
該程序的輸出結(jié)果是_________。
A)2 B)4 C)6 D)8
答案:B
評析:函數(shù)舶內(nèi)部有兩個遞歸調(diào)用,當(dāng)n=3時,fib(n-1)返回2,fib(n-2)也返回2,所以fib(n-I)+fib(n-21的值為4。
(37)下面程序的輸出結(jié)果是_________。
main()
{
char str[10],c='a';
inti=0:
for(;i<5;i++)
str[I]=c++;
printf("%s",str);
}
A)abcde B)a C)不確定 D)bcdef
答案:C
評析:字符串少一個結(jié)束標(biāo)志,所以輸出的結(jié)果不確定。
(38)在c語言中,函數(shù)中變量的隱含存儲類別是__________。
A)auto B)static C)extern D)無存儲類別
答案:A
評析:函數(shù)中變量的存儲類別包括auto,static,extern,其中auto為隱含存儲類別,static為靜態(tài)存儲類別,register是寄存器存儲類別。A
評析:函數(shù)中變量的存儲類別包括auto,static,extern,其中auto為隱含存儲類別,static為靜態(tài)存儲類別,register是寄存器存儲類別。
(39)有如下程序
#define n 2
#define m N+I
#define NUM 2*m+l
main()
{ int i;
for(i=1;i<=NUM;i++)printtf("%d\n",i);
}
該程序中的for循環(huán)執(zhí)行的次數(shù)是_________。
A)5 B)6 C)7 D)8
答案:B
評析:在c語言中,宏定義在編譯時將被直接替換,所以NUM最后會被替換成2*N+l+l,即2*2+1+1,值為6。因此,for循環(huán)執(zhí)行的次數(shù)為6。
(40)假設(shè)在turboc2.0采用small模式編譯如下程序
main()
{
char a[4]:{'a','b'};
char%="abc.t:
printf("%d,%d",sizeof(a),sizeof(b));
}
其輸出結(jié)果為_________。
A)4,2 B)4,4 C)4,3 D)2,2
答案:A
評析:用small模式編譯,指針變量占2個字節(jié)。sizeof(array):數(shù)組名array代表數(shù)組本身,sizeof函數(shù)測出的是整個數(shù)組的大小。a數(shù)組的大小為4,b指針變量的大小為2。
(41)有以下函數(shù)
char *fun(char *p)
{ retum p; }
該函數(shù)的返回值是_________。
A)無確切的值 B)形參p中存放的地址值
C)一個臨時存儲單元的地址 D)形參p自身的地址值
答案:B
評析:p本身就是一個字符型指針變量,返回p也就是返回變量p中存放的地址值。
(42)有如下程序段:
#include<stdio.h>
#define Max(a,b)a>b?a:b
main()
{
int a=5,b=6,c=4,d;
d=c+Max(a,b);
printf("%d",d);
}
其輸出結(jié)果為__________。
A)10 B)5 C)6 D)編譯錯誤
答案:B
評析:在c語言中,宏定義是直接替換的,所以在c+a>b?a:b這個條件表達(dá)式中,c+a>b為真,所以用a的值作為整個表達(dá)式的值,而a的值為5,所以整個表達(dá)式的值為5。
(43)有如下程序段
int a=14,b=l 5,x;
char c='A':
x=(a&&b) &&(c<'B');
執(zhí)行該程序段后,x的值為________。
A)true B)false C)0 D)l
答案:D
評析:a&&b的值為true,c<'B'的值也為true,所以(a&&b)&&(c<'B')的值為true。但x是int型變量,所以(披&b)&&(c<'B')的值最后要從bool型轉(zhuǎn)換為int型賦給x。這樣x的值應(yīng)為l。
(44)下述關(guān)于C語言文件的操作的結(jié)論中,正確的是________。
A)對文件操作必須先關(guān)閉文件
B)對文件操作必須先打開文件
C)對文件操作順序無要求
D)對文件操作前必須先測文件是否存在,然后再打開文件。
答案:B
評析:在c中對文件操作必須先打開文件,待文件操作完畢后要關(guān)閉文件。對文件以讀的方式進(jìn)行打開操作時,同時會執(zhí)行文件的檢查文件是否存在,不存在將會返回空的文件指針,如果對文件以寫的方式打開時,文件不存在,將會自動創(chuàng)建文件,.因此在C中打開文件前不必對其檢查文件是否存在,故答案為B。
(45)下列關(guān)鍵字中,不屬于C語言變量存儲類別的是________。
A)register B)auto C)extem D)public
答案:D
評析:變量的存儲類別具體包含四種:自動的(auto),靜態(tài)的(statiC),寄存器的(register),外部的(extern)。
(46)有如下說明
im a[10]={l,2,3,4,5,6,7,8,9,10},*p=a;
則數(shù)值為9的表達(dá)式是________。
A)木p+9 B)半(p+8) C)牛p+=9 D)p+8
答案:B
評析:p是指針,p+8是地址值,D是錯的;*p是p的目標(biāo)變量,即a[0],值為1,所以+p+9的值是lO,而*p+=9值是重新給a[O]賦了值(1+9);所以A和C也是錯的。p+8是地址值,指向a[8],那么*(p+8)。的值就是a[81的值,即9。
(47)若有以下定義:int t[3][2];能正確表示t數(shù)組元素地址的表達(dá)式是________。
A)&t[3][2] B]t[3] C]t[1] D]*t[2]
答案:C
評析:A和B兩個表達(dá)式都已越界了;*t[2]是目標(biāo)變量,即一個整數(shù),而不是地址值。
(48)下面程序運(yùn)行后的輸出結(jié)果是________。
struct abc
{
int a,b,c;
}
main()
{
struct abc s[2]={{1,2,3},{4,5,6}};
int t=-s[0].a(chǎn)+s[1].b;
printf("%d\n",t);
}
A)5 B)6 C)7 D)8
答案:B
評析:在main函數(shù)中定義了一個struct abc類型的數(shù)組,同時分別利用{1,2,3}及{4,5,6}對數(shù)組中兩個元素進(jìn)行初始化。在該結(jié)構(gòu)體,依次對其中的a,b,c三個變量進(jìn)行初始化。故s[O].a(chǎn)=l,s[1].b=5,所以本題輸出為6。
(49)有如下程序
main()
{
int a[31131。{{1,2},{3,4},{5,6}},i,j,s=0;
for(i=l;i<3;i++)
for(j=0;j<=i;j++)
s+=a[I][j];
printf("%d\n",s);
}
該程序的輸出結(jié)果是________。
A)18 B)19 C)20 D)2l
答案:A
評析:題中的外循環(huán)只執(zhí)行了2次:
第1次:a[1][0]=3,a[1][1]=4,所以s=7;
第2次:a[2][O]=5,a[2][1]=6,a[2][2]=0,所以s=7+5+6+0=18。
(50)若己建立如下圖所示的單向鏈表結(jié)構(gòu):
在該鏈表結(jié)構(gòu)中,指針p、s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾仍構(gòu)成單向鏈表的語句組是__________。
A)p=p->next;s->next:p;p->next=s;
B)p=p->next;s->next:p->next;p->next=s;
C)s->next:NULL;p=p->next;p->next:s;
D)p=(*p).next;(*s).next=(*p).next;(*p).next=s;
答案:A
評析:在答案A中:p=p->next;s->next=p;p->next=s;s的確已插到了鏈表的末尾,但它的next卻并沒有為NULL,而是指向了它的直接前趨p,這樣它就不是一個單向鏈表(單向鏈表最后一個結(jié)點(diǎn)的next指針一定是一個NULL)。
二、填空題
(每空2分,共40分)
請將每一個空的正確答案寫在答題卡的【1】至【20】序號的橫線上,答在試卷上不得分。
(1)在運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是 【1】 。
答案:【1】循環(huán)鏈表
評析:在鏈表的運(yùn)算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空表的運(yùn)算統(tǒng)一起來。循環(huán)鏈表具有兩個特點(diǎn):
、僭谘h(huán)鏈表中增加了一個表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來設(shè)置,指針域指向線性表的第一個元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。
、谘h(huán)鏈表中最后一個結(jié)點(diǎn)的指針不是空,而是指向表頭結(jié)點(diǎn)。
(2)軟件工程研究的內(nèi)容主要包括: 【2】 技術(shù)和軟件工程管理。
答案:【2】軟件開發(fā)
評析:基于軟件工程的目標(biāo),軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。
軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,其主體內(nèi)容是軟件開發(fā)方法學(xué)。
軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。
(3)與結(jié)構(gòu)化需求分析方法相對應(yīng)的是 【3】 方法。
答案:【3】結(jié)構(gòu)化設(shè)計(jì)
評析:與結(jié)構(gòu)化需求分析方法相對應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個組成部分以及各個成分之間的內(nèi)部聯(lián)系的技術(shù)。也就是說,結(jié)構(gòu)化設(shè)計(jì)是這樣一個過程,它決定用哪些方法把哪些部分聯(lián)系起來,才能解決好某個具體且有清楚定義的問題。
(4)關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件,包括實(shí)體完整性、 【4】 和自定義完整性。
答案:【4】參照完整性
評析:關(guān)系模型允許定義三類數(shù)據(jù)約束,它們是實(shí)體完整性、參照完整性以及用戶定義的完整性約束,其中前兩種完整性約束由關(guān)系數(shù)據(jù)庫系統(tǒng)自動支持。
實(shí)體完整性約束要求關(guān)系的主鍵中屬性值不能為空,這是數(shù)據(jù)庫完整性的最基本要求,因?yàn)橹麈I是惟一決定元組的,如為空則其惟一性就成為不可能的了。
參照完整性約束是關(guān)系之間相關(guān)聯(lián)的基本約束,它不允許關(guān)系引用不存在的元組:即在關(guān)系中的外鍵要么是所關(guān)聯(lián)關(guān)系中實(shí)際存在的元組,要么是空值。
自定義完整性是針對具體數(shù)據(jù)環(huán)境與應(yīng)用環(huán)境由用戶具體設(shè)置的約束,它反映了具體應(yīng)用中數(shù)據(jù)的語義要求。
(5)數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是 【5】 數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。
答案:【5】概念
評析:數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。
概念數(shù)據(jù)模型簡稱概念模型,是一種面向客觀世界、面向用戶的模型;它與具體的數(shù)據(jù)庫管理系統(tǒng)無關(guān)。
(6)表示""整數(shù)x的絕對值大于5""時值為""真""的C語言表達(dá)式是 【6】 。
答案:【6】x>5‖x<-5或k<-5‖x>5
評析:要使整數(shù)x的絕對值大于5,則x大于5或x小于-5,用c語言表示即為:x>5‖x<-5或者x<-5‖x>5。
故本題答案為:x>5‖x<-5或者x<-5‖x>5。
(7)以下程序的輸出結(jié)果是 【7】 。
main()
{ unsigned short a=65536;int b;
printf("%d\n",b=a);
}
答案:【7】0
評析:對于一個unsigned short來說,它能取的最大值是65535。這里給a賦值65536,已經(jīng)超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實(shí)際為0。
(8)若有定義:ira a=lO,b=9,c=8;,接著順序執(zhí)行下列語句,變量b中的值是 【8】 。
c=(a-=(b-5));
c=(a%11)+(b=3);
答案:【8】3
評析:這里:b-5=4,a.=4之后a的值為6,并把它賦給c。此時b的值并未被改變。在第2個表達(dá)式中,也只有賦值表達(dá)式b=3改變了b的值。所以兩行語句執(zhí)行完畢,b的值應(yīng)該為3。
(9)以下程序運(yùn)行后的輸出結(jié)果是 【9】 。
main()
{
int p=30;
primf("%d\n",(p/3>O?p/10:p%3));
}
答案:【9】3
評析:條件表達(dá)式的一般形式為:表達(dá)式17表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時表達(dá)式2的值就作為整個條件表達(dá)式的值;若表達(dá)式l的值為0(假)-,則求解表達(dá)式3,表達(dá)式3的值就是整個條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/lO,結(jié)果為3。
(10)函數(shù)pi的功能是根據(jù)以下近似公式求n值:
(∏*∏)/6=1+1/(2*2)+1/(3*3)+…+1(n*n)
現(xiàn)在請你在下面的函數(shù)中填空,完成求n的功能。
#include"math.H"
{ double s=0.0;long i;
for(i=1;i<=n;i++)s=s+ 【10】 ;
retum(sqrt(6*s));
}
答案:【10】1.O/(i*i1或(double)l/(i*i)
評析:表達(dá)式1+1/(2*2)+l/(3*3)+…+1(n*n)可寫為:1/(1*1)+1/(2*2)+1/(3*3)+…+1(n*n)
n
即:∑l÷(i×i)
i-l
對應(yīng)的c語言的表達(dá)式:s=s+1.O/(i*i)。注:必須要寫成1.0的形式,否則1/(i*i)返回值為其值截尾取整,即恒為O。
(11)函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
請?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。
#include<math.h>
double pi(10ng n1
{ double s=O.O,long i;
for(i=1;i<=n;I++)s=s+ 【11】 ;
return(sqrt(6*s));
}
答案:【11】1.0/i/i或1.O/(i*i)
評析:由題面中提供的計(jì)算pi的公式可知:在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將l轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.O/(i*i)的形式。故本題應(yīng)填1.O/(i*i)或其等效形式。
(12)若輸入字符串:abcde/,則以下while循環(huán)體將執(zhí)行 【12】 次。
while((ch=getchar())=='e')printf("*");
答案:【12】0
評析:函數(shù)getchar()是從鍵盤得到用戶輸入的一個字符。用戶輸入的第1個字符是a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個循環(huán)不會被執(zhí)行。
(13)以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結(jié)果傳回,請?zhí)羁铡?BR> voidfunc(intx,inty, 【13】 z]
{ *z-x+y;},
答案:【13】int*
評析:從題中代碼可知:z應(yīng)該是一個整型指針,因此應(yīng)填:int*
(14)若有以下定義,則不移動指針p,且通過指針p引用值為98的數(shù)組元素的表達(dá)式是 【14】 。
int w[10]={23,54,10,33,47,98,72,80,61},*p=w;
答案:【14】p[5]或*(p+5)
評析:98是數(shù)組w的第5個元素(最開始的為第O個),而通過*p=w已經(jīng)將p指向了數(shù)組w,要想不移動指針p而引用98,可以有以下兩種寫法:p[5]、*(p+5)。
(15)設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出fun函 數(shù)的首部 【15】 。要求形參名為b。
main()
{ double s[10][22];
int n:
……
fun(s);
……
}
答案:【15】void fun(double b[1011221]
評析:本題答案:void fun(double b[10][22])
(16)有以下程序:
int f(int n)
{ if(n==1)return 1;
else return f(n-1)+1;}
main()
{ int i j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n"'j);
}
程序運(yùn)行后的輸出結(jié)果是 【16】 。
答案:【16】3
評析:i=l時,f(1)=1 J=j+f(1)=0+1=1;i=2時,f(2)=f(1)+l=1+1=2 j=j+f(2)=l+3=3;此時循環(huán)結(jié)束,程序運(yùn)行后的輸出結(jié)果是3。
(17)以下程序的輸出結(jié)果是 【17】 。
void fun()
{ static int a:0;
a+=2;printf("%d",a);
}
main()
{ int cc;
for(CC=1;cc<4;cc++)fun();
printf("\n");
}
答案:【17】246
評析:循環(huán)for(cc=l;cc<4;cc++)被執(zhí)行了3次。在函數(shù)fun中,由于a是static型變量,所以函數(shù)第1次調(diào)用后,a=2;第2次調(diào)用后,a=4;第3次調(diào)用后,a=6。
(18)實(shí)現(xiàn)程序可將磁盤中的一個文件復(fù)制到另一個文件中,兩個文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請補(bǔ)全程序。
#include<stdio.h>
void main(int argc,char。argv[])
{ FILE *f1,*f2;
if(argc< 【18】 )
{ printf("parameter error!\n");exit(0);}
fl=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while( 【19】 )fputc(fgetc(f1),f2);
fclose(f1);
fclose(f2);
}
答案:【18】3
【19】!feof(f1)
評析:在c語言中,宏定義是直接替換的,所以在對表達(dá)式MAX(a+b,c+d)*10進(jìn)行或替換后,表達(dá)式變?yōu)椋?a+b)>(c+d)?(a+b):(c+d)*10
在這個條件表達(dá)式中,(a+b)>(c+d)為真,所以用(a+b)的值作為整個表達(dá)式的值(否則用(c+d)*10的值作為整個表達(dá)式的值),而(a+b)的值為7。所以整個表達(dá)式的值為7。
(19)以下程序的輸出結(jié)果是 【20】 。
#define MAX(x,y)(x)>(y)?(x):(y)
main()
f int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
上一頁
[1]
[2]
文章錄入:ak47 責(zé)任編輯:ak47
上一篇文章:
05年9月等級考試二級C語言考前密卷(四)
下一篇文章:
05年9月等級考試二級C語言考前密卷(六)
【
發(fā)表評論
】【
加入收藏
】【
告訴好友
】【
打印此文
】【
關(guān)閉窗口
】
相關(guān)文章
2006年9月全國計(jì)算機(jī)等級考試一級MS模擬試題
2006年9月全國計(jì)算機(jī)等級考試一級MS模擬試題
2006年9月全國計(jì)算機(jī)等級考試一級MS模擬試題
2006年9月全國計(jì)算機(jī)等級考試一級MS模擬試題
2006年9月全國計(jì)算機(jī)等級考試一級MS模擬試題
2006年9月全國計(jì)算機(jī)等級考試一級MS模擬試題
2006年9月全國計(jì)算機(jī)等級考試一級MS模擬試題
2006年9月計(jì)算機(jī)等級考試二級VB預(yù)測試題(4)
2006年9月計(jì)算機(jī)二級C預(yù)測試題及答案(4)
2006年9月計(jì)算機(jī)等級考試三級網(wǎng)絡(luò)預(yù)測試題(
2006年9月計(jì)算機(jī)二級C預(yù)測試題及答案(3)
2006年9月計(jì)算機(jī)二級VB預(yù)測試題及答案(3)
版權(quán)聲明
如果本網(wǎng)站所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系
,我們將會及時處理。如轉(zhuǎn)載本網(wǎng)內(nèi)容,請注明出處。
發(fā)表評論
關(guān)于本站
網(wǎng)站聲明
廣告服務(wù)
聯(lián)系方式
付款方式
站內(nèi)導(dǎo)航
客服中心
友情鏈接
Copyright © 2004-2006
考試吧
(
Exam8.com
) All Rights Reserved
中國科學(xué)院研究生院中關(guān)村園區(qū)(北京市海淀區(qū))