網(wǎng)站首頁(yè)
分類(lèi)導(dǎo)航
試題中心
下載中心
英語(yǔ)學(xué)習(xí)
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
計(jì)算機(jī)
:
等級(jí)考試
水平考試
微軟認(rèn)證
思科認(rèn)證
Oracle認(rèn)證
Linux認(rèn)證
外語(yǔ)類(lèi):
四 六 級(jí)
商務(wù)英語(yǔ)
公共英語(yǔ)
GRE
GMAT
托 福
雅 思
資格類(lèi):
公 務(wù) 員
報(bào) 關(guān) 員
司法考試
導(dǎo)游考試
會(huì)計(jì)職稱(chēng)
注冊(cè)會(huì)計(jì)師
學(xué)歷類(lèi):
考研入學(xué)
自學(xué)考試
成人高考
法律碩士
MBA/MPA
網(wǎng)絡(luò)課堂
等級(jí)考試
水平考試
微軟認(rèn)證
思科認(rèn)證
Oracle認(rèn)證
Linux認(rèn)證
考試動(dòng)態(tài)
|
報(bào)考指南
|
考試大綱
|
歷年真題
|
模擬試題
|
復(fù)習(xí)資料
|
心得技巧
|
考試論壇
您現(xiàn)在的位置:
考試吧(Exam8.com)
>>
計(jì)算機(jī)等級(jí)考試
>>
模擬試題
>>
二級(jí)模擬題
>> 文章正文
登錄
|
注冊(cè)
|
升級(jí)VIP
馬上加入考試吧VIP
博客個(gè)性域名免費(fèi)搶注
特別推薦
最新熱點(diǎn)
·
2006年9月全國(guó)計(jì)算機(jī)等級(jí)
·
考試吧:2006年9月全國(guó)計(jì)
·
2006年9月計(jì)算機(jī)等級(jí)考試
·
06年9月計(jì)算機(jī)二級(jí)公共基
·
2006年4月計(jì)算機(jī)等級(jí)考試
·
2006年下半年計(jì)算機(jī)等級(jí)
·
2006年4月計(jì)算機(jī)等級(jí)考試
·
2006年4月計(jì)算機(jī)等級(jí)考試
·
2006年4月計(jì)算機(jī)等級(jí)考試
·
2006年4月計(jì)算機(jī)等級(jí)考試
·
2006年全國(guó)計(jì)算機(jī)等級(jí)考
·
2006年全國(guó)計(jì)算機(jī)等級(jí)考
·
2006年4月計(jì)算機(jī)等級(jí)考試
·
2005年NCRE考試各級(jí)別的
更多>>
最新推薦
·
2006年9月計(jì)算機(jī)等級(jí)考試
·
2006年下半年計(jì)算機(jī)等級(jí)
·
2004年版南開(kāi)C語(yǔ)言100題
·
閱卷教師談等級(jí)考試
·
2006年計(jì)算機(jī)等級(jí)考試二
·
2006年4月計(jì)算機(jī)等級(jí)考試
·
全國(guó)計(jì)算機(jī)等級(jí)考試承辦
·
05年9月計(jì)算機(jī)等級(jí)考試成
·
05年9月等級(jí)考試二級(jí)C語(yǔ)
·
9月各地計(jì)算機(jī)等級(jí)考試報(bào)
·
2005年4月全國(guó)計(jì)算機(jī)等級(jí)
·
2005年4月計(jì)算機(jī)等級(jí)考試
·
2005年4月計(jì)算機(jī)等級(jí)考試
·
2005年4月2日二級(jí)VFP標(biāo)準(zhǔn)
更多>>
2006年精品輔導(dǎo)課程
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(十)
【字體:
大
小
】
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(十)
http://1glr.cn
來(lái)源:ChinaITLab 點(diǎn)擊: 更新:2005-9-15
(28)有以下程序
void fun(char *a,char *b)
{ a=b;
(*a)++;
}
main()
{
char c1='A',c2='a,*p1,*p2;
clrscr0;
pl=&cl;
p2=&c2;
fun(p1,p2);
printf("%c%c\n",cl,c2);
}
程序運(yùn)行后的輸出結(jié)果是__________。
A)Ab B)aa C)Aa D)Bb
答案:A
評(píng)析:在函數(shù)調(diào)用中,可以分值傳遞和地址傳遞。若參數(shù)傳遞的是簡(jiǎn)單數(shù)據(jù)類(lèi)型的數(shù)值,稱(chēng)為值傳遞方式。若參數(shù)傳遞的是變量的地址,稱(chēng)為地址傳遞方式。
(29)若有定義:static int fun(int a,int b),則以下敘述中錯(cuò)誤的是_________。
A)定義了一個(gè)返回值為整型的靜態(tài)函數(shù)
B)該函數(shù)只能被同一文件內(nèi)的函數(shù)調(diào)用
C)該函數(shù)可以在任何文件中被調(diào)用
D)該函數(shù)屬于內(nèi)部函數(shù)
答案:C
評(píng)析:根據(jù)函數(shù)能否被其他源文件調(diào)用,將函數(shù)區(qū)分為內(nèi)部和外部函數(shù)。如果將函數(shù)定義為外部函數(shù),則在函數(shù)首部最左端冠以關(guān)鍵字eXtem。如果將函數(shù)定義為內(nèi)部函數(shù),則在函數(shù)首部最左端冠以關(guān)鍵字static。內(nèi)部函數(shù)只能被本文件中的其它函數(shù)調(diào)用。而外部函數(shù)則可以被其他任何c程序文件調(diào)用。
(30)以下能正確定義一維數(shù)組的選項(xiàng)是_________。
A)int num[]; B)int num[0..100];
C)#define N 100; D)int N=100;
int num[N]; int num[N];
答案:C
評(píng)析:有二種方法指定數(shù)組長(zhǎng)度。其一是直接在數(shù)組名后面的方括號(hào)內(nèi)輸入數(shù)組的長(zhǎng)度。其二是,在定義數(shù)組的同時(shí)對(duì)其賦值,由實(shí)際賦值的元素個(gè)數(shù)自動(dòng)確定數(shù)組的長(zhǎng)度。
(31)有以下程序
fun(int a[],intm,int n)
{ int I,J;
for(i=m;i<n;i++)
a[i+ll=a[I]+3;
}
main()
{
int i,a[6l={2,4,6,8,10,12};
clrscr0;
fun(a,2,5);
for(i=O;i<6;i++)
printf("%"a[I]);
}
程序運(yùn)行后輸出的結(jié)果是__________。
A)24691315 B)24691215 C)249121518 D)249121415
答案:B
評(píng)析:在調(diào)用函數(shù)時(shí),既可以用單個(gè)的變量作為參數(shù),也可以用數(shù)組名作為參數(shù)。還可將數(shù)組的下標(biāo)值作為實(shí)參使用。在本題中,是將數(shù)組名和數(shù)組的下標(biāo)值作為實(shí)參。
(32)以下不正確的敘述是__________.
A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。
B)在C程序中,T和t是兩個(gè)不同的變量
C)若a和b類(lèi)型相同,在執(zhí)行了賦值表達(dá)式a=b后,b中的值將放入a中,而b中的值不變。
D)當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)據(jù)。對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)據(jù)。
答案:D
評(píng)析:在c語(yǔ)言中,為方便表達(dá)式的運(yùn)算,對(duì)所有的運(yùn)算符都設(shè)定了一定的優(yōu)先級(jí),其中逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低。c語(yǔ)言中的數(shù)據(jù)有常量和變量之分,其中變量是區(qū)分大小寫(xiě)的,也就是說(shuō)T和t是兩個(gè)不同的變量名。將某個(gè)變量的值賦給其它的變量之后,并不影響其本身的值。當(dāng)定義一個(gè)整型變量后,可以從鍵盤(pán)上對(duì)其輸入整型值,也可以是字符型的數(shù)據(jù)。如果將字符型的值賦給整型變量,則它接受的是字符常量的ASCII碼值。實(shí)型變量也可以接收整型值。
(33)有以下程序
pf(char *p,int n)
{ int i;
for(i=0;i<n;i++1
p[i]=p[I]+32;
}
main()
{
char a[]="ABCD";
int i:
clrscr();
pf(a,4);
for(i=0;i<4;i++)
printf("%c",a[I]);
}
程序運(yùn)行后的輸出結(jié)果是________。
A)ABCD B)ABCD\0 C)abcd D)abed\0
答案:C
評(píng)析:通過(guò)指向數(shù)組的指針可以引用數(shù)組中的任何元素,并且對(duì)其進(jìn)行各種運(yùn)算。本題中就是通過(guò)指向數(shù)組的指針將一字符數(shù)組中的所有大寫(xiě)字母轉(zhuǎn)換成相應(yīng)的小寫(xiě)字母。
(34)有以下程序
main()
{
int a[3][3],*p,i;
clrscr();
p=&a[0][0];
for(i=0;i<9;i++)
p[i]:i+2;
printf("%d\n",a[2][11);
}
程序運(yùn)行后的輸出結(jié)果是_________。
A)3 B)6 C)9 D)2
答案:C
評(píng)析:當(dāng)某個(gè)指針變量指向多維數(shù)組時(shí),可以用其每次加l來(lái)順序操作數(shù)組中的元素。在此題中,a[3][3]={{2,3,4},{5,6,7},{8,9,10}}。而最后輸出的a[2][1]就是第3行的第2列的元素,即9。
(35)有以下程序
#include<stdio.h>
#define F(X,Y)(X)*(Y)
main()
{
int a=3,b=4;
clrscr();
printf("%d\n",F(xiàn)(a--,++b));
}
程序運(yùn)行后的輸出結(jié)果是_________。
A)8 B)10 C)12 D)15
答案:D
評(píng)析。在帶參數(shù)的宏定義中,不是簡(jiǎn)單的字符替換。其方法是:在程序中如果有帶實(shí)參的宏, (如F(x,Y)),則按#define命令行中指定的字符串進(jìn)行置換。如果串中包含宏中的形參(女NX,Y),、則將程序語(yǔ)句中相應(yīng)的實(shí)參代替形參。本題中的宏定義展開(kāi)后為:(a.--)*(++b)=(3)*(5)=15。
(36)有以下程序
main()
{
int x=3,y=2,z=l;
printf("%d\n",x/y&&z);
}
程序運(yùn)行后的輸出結(jié)果是_________。
A)0 B)l C)2 D)3
答案:B
評(píng)析:在c程序的標(biāo)準(zhǔn)輸出函數(shù)prim沖,要注意表達(dá)式的優(yōu)先級(jí)。如本題的表達(dá)式x/y&&z,先運(yùn)算的是算術(shù)運(yùn)算x/v,結(jié)果是1,然后才運(yùn)算l&&z,結(jié)果是1。
(37)下列關(guān)于c程序編譯的描述中,錯(cuò)誤的是_________。
A)在程序的編譯過(guò)程中可以發(fā)現(xiàn)所有的語(yǔ)法錯(cuò)誤
B)在程序的編譯過(guò)程中可以發(fā)現(xiàn)部分的語(yǔ)法錯(cuò)誤
C)在程序的編譯過(guò)程中不能發(fā)現(xiàn)邏輯錯(cuò)誤
D)程序編譯是調(diào)試程序的必經(jīng)過(guò)程
答案:B
評(píng)析:編譯過(guò)程實(shí)際上就是調(diào)試程序,找出程序中所有可能存在的語(yǔ)法錯(cuò)誤。但是,對(duì)于程序邏輯上的一些錯(cuò)誤,編譯過(guò)程無(wú)能為力,只有程序編寫(xiě)人員自己通過(guò)一些良好的編程技巧和方法來(lái)排除。
(38)若有以下說(shuō)明和定義
union、s
{ int i;
char ch
float e
}a;
下列對(duì)共用體的操作正確的是________。
A)a='A'; B)re=a;
C)a.i=3; D)printf("%dha",a);
答案:C
評(píng)析:共用體實(shí)際上用同一內(nèi)存段來(lái)存放幾種不同類(lèi)型的成員,但在每一瞬時(shí)只能存放其中一種,而不是現(xiàn)時(shí)存放幾種。因此,不能對(duì)共用體名賦值,不能引用共用體名以得到某一個(gè)值,也不能把共用體變量作為函數(shù)參數(shù)。
(39)下列選項(xiàng)中正確的語(yǔ)句組是_________。
A)char s[8];s={"Beijing"}; B)char *s;s={"Beijing"};
C)char s[8];s="Beijing"; D)char *s;s="Beijing";
答案:D
評(píng)析:字符串通常是指用一對(duì)雙引號(hào)括起來(lái)的一組字符常量序列。在c語(yǔ)言中,可以直接定義一個(gè)指向字符串的指針變量,然后對(duì)其賦值為字符串常量后,指向字符串的指針就指向了字符串的首地址。
(40)如果一個(gè)C程序由多個(gè)文件組成,在將多個(gè)文件編譯連接成一個(gè)統(tǒng)一的可執(zhí)行文件時(shí),可采用的方法有多種,以下敘述中錯(cuò)誤的是__________。
A)可以利用Turbo c集成環(huán)境 B)在MS C上進(jìn)行編譯連接
C)用#include命令 D)用文字處理軟件Word
答案:D
評(píng)析:運(yùn)算多個(gè)文件的程序有3種方法,第1種是利用Turbo c集成環(huán)境,先將每個(gè)文件輸入并存儲(chǔ)在磁盤(pán)上,然后在編譯在狀態(tài)下建立一個(gè)"項(xiàng)目文件",最后再編譯連接。第2種方法是在MS c上先分別對(duì)多個(gè)文件進(jìn)行編譯得到.obj文件,然后用link命令把四個(gè)文件連接起來(lái)。第3種方法是用#include命令將多個(gè)文件包含進(jìn)某個(gè)文件中。
(41)有以下程序
main()
{
int n,s=0;
clrscr0;
for(n=10;n<30;n++)
{
if(n%3==O)
{ s+=n;
continue;
}
if(s>100)break;
}
printf("%d",s);
}
程序運(yùn)行后的輸出結(jié)果是___________。
A)117 B)147 C)127 D)137
答案:A
評(píng)析:continue語(yǔ)句的功能是結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著執(zhí)行下一次是否執(zhí)行循環(huán)的判定。而break語(yǔ)句是從循環(huán)體內(nèi)跳出,即提前結(jié)束循環(huán)。
(42)有以下程序
main()
{
char s[]={'T','E','A','C','H','E','R'},*p;
clrscr0;
p=s+3;
printf("%c",*p++);
printf("%c",*p++);
}
程序運(yùn)行后的輸出結(jié)果是________。
A)AC B)CH C)HE D)TEA
答案:B
評(píng)析:如果有指向字符數(shù)組的指針,那么字符數(shù)組中的元素可以用指針變量表示,執(zhí)行第一個(gè)輸出語(yǔ)句printf("%c",*p++);后,輸出字符'C',執(zhí)行第二個(gè)輸出語(yǔ)句printr("%c",*p++);后,輸出字符'H'。
(43)已定義以下函數(shù)
fun(char *pl,char*p2)
{
while(('pl='p2)『-'\0'』
{
pl++;
p2++;
}
}
函數(shù)的功能是__________。
A)將p2所指字符串復(fù)制到pl所指內(nèi)存空間
B)將p2所指字符串的地址賦給指針p1
C)對(duì)pl和p2兩個(gè)指針?biāo)缸址M(jìn)行比較
D)檢查pl和p2兩個(gè)指針?biāo)缸址惺欠裼?\O'
答案:A
評(píng)析:指針的白加或自減運(yùn)算,表示指針向前或向后移動(dòng)一個(gè)存儲(chǔ)單元。
(44)有以下程序
main()
{
char s[][5]={{",",'*'},{",'*',",'*'},{'*'",",",'*'},{",'*',",'*'},{",",'*'}};
int i, j;
for(i=0;i<5;i十+)
{
for(j=O;__________j++)
printf("%c",s[i][I]);
printf("\n");
}
}
若輸出如下的鉆石形平面圖,則在程序的下劃線處應(yīng)填入的表達(dá)式是__________。
*
* *
* *
* *
*
A)j<5 B)j<=5 C)j>5 D)j>=5
答案:A
評(píng)析:在一個(gè)二維數(shù)組中,可以通過(guò)其行標(biāo)和列標(biāo)來(lái)控制其輸出的數(shù)據(jù)元素。
(45)有以下程序
sum(char *p)
{ *p=*p+3;}
main()
{
char str[10]={"abcde"},*p=str;
clrscr0;
sum(p);
primf("%c\n",*p--);
}
程序運(yùn)行后的輸出結(jié)果是_________。
A)c B)d C)e D)f
答案:B
評(píng)析:在用字符指針作為形式參數(shù)時(shí),先讓指針p指向字符數(shù)組的首地址,然后可以用*(p+i)的形式直接存取各對(duì)應(yīng)單元中的元素,而*p+i的意義則不樣,它是指將指針變量p所指向的存儲(chǔ)單元的值加上i。
(46)已定義以下函數(shù)
fun(int *p)
(return *p;)
該函數(shù)的返回值是_________。
A)不確定的值 B)形參p中存放的值
C)形參p所指存儲(chǔ)單元的值 D)形參p的地址值
答案:C
評(píng)析:指針p是指向一個(gè)地址,而*p是表示指針p指向存儲(chǔ)單元中的數(shù)據(jù)。
(47)有如下語(yǔ)句
int *p, a[]={2,4,6,8,10};
p=a;
則與語(yǔ)句*p++;等價(jià)的語(yǔ)句是__________。
A)(*p)++; B)*(p++); C)*(++p); D)++*p;
答案:B
評(píng)析:由于++和*同優(yōu)先級(jí),結(jié)合方向?yàn)樽杂蚁蜃,因此語(yǔ)句*p++;等價(jià)于*(p++);,而*(++p)是先使p加l,再取*p的值。語(yǔ)句++*p;相當(dāng)于++(*p),則是先取p所指變量的值,然后自加l。
(48)下列關(guān)于結(jié)構(gòu)體與苯用體的說(shuō)法中,錯(cuò)誤的是_________。
A)結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和
B)共用體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和
C)共用體變量所占內(nèi)存長(zhǎng)度等于最長(zhǎng)成員的長(zhǎng)度
D)共用體變量和結(jié)構(gòu)體變量中的所有成員可以是不同數(shù)據(jù)類(lèi)型
答案:B
評(píng)析:共用體也稱(chēng)"聯(lián)合體",與結(jié)構(gòu)體定義形式相同,而它們是含義不同的兩類(lèi)構(gòu)造數(shù)據(jù)類(lèi)型。結(jié)構(gòu)體中每個(gè)成員都有自己獨(dú)立的內(nèi)存空間,是所有成員的內(nèi)存長(zhǎng)度之和。而共用體不同,所有成員是共用一個(gè)內(nèi)存區(qū)的,所以共用體變量的內(nèi)存長(zhǎng)度是最長(zhǎng)成員的長(zhǎng)度。
(49)下列對(duì)于文件的打開(kāi)方式敘述中,錯(cuò)誤的是_________。
A)用"r"方式打開(kāi)的文件只能讀
B)用"w"方式打開(kāi)的文件只能向該文件寫(xiě)數(shù)據(jù)
C)用"a"方式打開(kāi)的文件既能讀,又可以向該文件寫(xiě)數(shù)據(jù)
D)如果不能打開(kāi)文件,fopen函數(shù)將會(huì)帶回一個(gè)錯(cuò)信息
答案:C
評(píng)析:在c程序中打開(kāi)文件時(shí),必須要確定文件的打開(kāi)方式。在文件打開(kāi)函數(shù)fopen中,用"r"方式打開(kāi)的文件只能讀,即從文件向計(jì)算機(jī)輸入,而不是向文件輸入;用"w"方式打開(kāi)的文件只能寫(xiě),即向文件寫(xiě)入數(shù)據(jù),而不能從文件中向計(jì)算機(jī)輸入數(shù)據(jù)。用"a"方式打開(kāi)的文件只能在文件末尾添加數(shù)據(jù)。在用"r"方式打開(kāi)時(shí),fopen函數(shù)如果不能打開(kāi)一個(gè)文件,會(huì)返回一個(gè)出錯(cuò)信息。
(50)下列關(guān)于c語(yǔ)言數(shù)據(jù)文件的敘述中正確的_________。
A)文件由ASCII碼字符序列組成,c語(yǔ)言只能讀寫(xiě)文本文件
B)文件由二進(jìn)制數(shù)據(jù)序列組成,c語(yǔ)言只能讀寫(xiě)二進(jìn)制文件
C)文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
D)文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
答案:D
評(píng)析:c語(yǔ)言把文件看作一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字節(jié))數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII碼文件和二進(jìn)制文件。因此,一個(gè)c文件是一個(gè)字節(jié)流或二進(jìn)制流。它把數(shù)據(jù)看作是一連串的字符(字節(jié))。而不考慮記錄的界限。換句話說(shuō),c語(yǔ)言文件并不是由記錄組成的。
二、填空題
(每空2分,共40分)
請(qǐng)將每一個(gè)空的正確答案寫(xiě)在答題卡的【1】至【20】序號(hào)的橫線上,答在試卷上不得分。
(1)某二叉樹(shù)中共有27個(gè)結(jié)點(diǎn),其中度為2的結(jié)點(diǎn)有10個(gè),則該二叉樹(shù)中有 【1】 個(gè)度為l的結(jié)點(diǎn)。
答案:【1】6
評(píng)析:已知n2=10,根據(jù)二叉樹(shù)中度為2的結(jié)點(diǎn)與葉子結(jié)點(diǎn)的關(guān)系:n0=n2+l可知,為1l。因此,度為l的結(jié)點(diǎn)數(shù)為:n1=n-n0-n2=27-10-l1=6
(2)1973年美國(guó)學(xué)者I.Nassi和B.Shneiderman提出了一種新的流程圖形式。在這種新的流程圖中,完全去掉了帶箭頭的流程線,全部算法寫(xiě)在一個(gè)矩形框內(nèi)。這種流程圖稱(chēng)為
【2】 流程圖。
答案:【2】N-S
評(píng)析:基于可以用順序結(jié)構(gòu)表示任何復(fù)雜算法結(jié)構(gòu)的思想,1973年美國(guó)學(xué)者I.Nassi和B.Shneiderman提出了一種新的流程圖形式。這種流程圖稱(chēng)為N-S流程圖(N和s是兩位美國(guó)學(xué)者的英文姓名的第一個(gè)字母)。
(3)在軟件測(cè)試過(guò)程中,單元測(cè)試的目的 【3】 ,多采用白盒測(cè)試法。
答案:【3】保證每個(gè)模塊單獨(dú)運(yùn)行正確
評(píng)析:軟件測(cè)試的實(shí)施過(guò)程分為四步,即單元測(cè)試、綜合測(cè)試、確認(rèn)測(cè)試?yán)到y(tǒng)測(cè)試。其中單元測(cè)試的主要的目的是保證每個(gè)模塊單獨(dú)運(yùn)行正確:多采用白盒測(cè)試法,檢查模塊控制結(jié)構(gòu)的某些特殊路徑,期望覆蓋盡可能多的出錯(cuò)點(diǎn)。
(4)在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)冗余度大大降低的最主要原因是 【4】 。
答案:【4】實(shí)現(xiàn)數(shù)據(jù)共享
評(píng)析:數(shù)據(jù)庫(kù)中的數(shù)據(jù)是可以被多個(gè)用戶(hù)共享的,這和以前的文件系統(tǒng)有所不同。由于數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)共享,可以極大的降低數(shù)據(jù)冗余度,并且只花費(fèi)很少的存儲(chǔ)空間。
(5)在軟件生存周期中,軟件定義階段的主要任務(wù)是 【5】 。
答案:【5】確定軟件系統(tǒng)的工程需求
評(píng)析:一個(gè)軟件生存周期主要包含三個(gè)階段,即軟件定義、軟件開(kāi)發(fā)、軟件維護(hù)。軟件定義階段主要任務(wù)是確定軟件系統(tǒng)的工程需求。為準(zhǔn)確明確軟件的工程需求,軟件定義又分成軟件系統(tǒng)的可行研究和需求分析兩個(gè)子階段。
(6)如果在運(yùn)行以下程序時(shí)從鍵盤(pán)輸入:bcd<回車(chē)>。輸出結(jié)果 【6】 。
#include<stdio.h>
main()
{
char I='a'J='a',k='a';
clrscr();
scanf("%c%*c%c",&i,&j,&k);
printf("%c%c%c",i,j,k);
}
答案:【6】bda
評(píng)析:在scanf()語(yǔ)句中,如果輸入格式中帶有"*",則變量在接收數(shù)據(jù)時(shí),自動(dòng)忽略掉數(shù)據(jù)輸入序列中"*'對(duì)應(yīng)位置的的數(shù)據(jù)元素,其對(duì)應(yīng)變量的值從"*"對(duì)應(yīng)位置的下一個(gè)數(shù)據(jù)開(kāi)始接收。
(7)以下程序運(yùn)行后的輸出結(jié)果是 【7】 。
#define SQ(y) y*y
main()
{ int x=lO,y;
y=SQ(x+3);
primf("%d",y);
}
答案:【7】43
評(píng)析:在使用帶參數(shù)的宏定義時(shí)不是進(jìn)行簡(jiǎn)單的字符替換。如果在程序有帶實(shí)參的宏,則按#define命令行中指定的字符串從左到右進(jìn)行置換。如果是表達(dá)式時(shí),一定要注意其替換后得到的表達(dá)式。本題中,有宏定義行#define sQ(y) y*y。在用實(shí)參x+3進(jìn)行替換后,其得到的字符串表達(dá)式為:x+3*x+3=10+3*10+3=43。
(8)已知字符"A"的ASCII值為65,以下程序運(yùn)行后的輸出結(jié)果是 【8】 。
main()
{
int x=30,y=50,t=4;
char z='A':
clrscr();
if(y>x+2&&y<z-12)
x=y;
y=t;
if(y<z&&y>z-20)
t=x:
x=y;
y=t;
printf("%d,%d,%d\n",x,y,z);
}
答案:【8】4,4, 65
評(píng)析:如果多個(gè)分支結(jié)構(gòu)處于順序關(guān)系時(shí),每個(gè)分支語(yǔ)句都要執(zhí)行。本題中的兩個(gè)if語(yǔ)句就是這種關(guān)系。
(9)以下程序的運(yùn)行結(jié)果是 【9】 。
main()
{
int a=4,b=8,c;
c=("b==a)&&(a+b!=20);
printf("%d,%d,%d\n",a,b,C);
}
答案:【9】4,8,0
評(píng)析:如果在表達(dá)中出現(xiàn)多種運(yùn)算符時(shí),一定要撂照他們的優(yōu)先級(jí)別進(jìn)行運(yùn)算,否則其結(jié)果可能會(huì)產(chǎn)生錯(cuò)誤。本題中,由于賦值表達(dá)中式c=(a/b==a)&&(a+b!=20)中有兩個(gè)括號(hào),而且兩個(gè)括號(hào)是進(jìn)行邏輯與運(yùn)算。當(dāng)?shù)?個(gè)括號(hào)內(nèi)的值為假時(shí),不管后面括號(hào)內(nèi)的值是否為假,兩個(gè)括號(hào)內(nèi)的值進(jìn)行邏輯與(&&)運(yùn)算時(shí),其結(jié)果肯定為假。
(10)以下程序的運(yùn)行結(jié)果是 【10】 。
main()
{
char a='A',b='E';
int sum=1,i=1;
do
{
sum*=i;
i++:
}while(i<=b-a);
printf("%d",sum);
}
答案:【10】24
評(píng)析:字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算時(shí),是將字符對(duì)應(yīng)的ASCII值當(dāng)作一個(gè)整型數(shù)據(jù)來(lái)處理。同樣要將整數(shù)進(jìn)行字符運(yùn)算時(shí),可以將整數(shù)轉(zhuǎn)換成ASCII值與其相等的字符。
(11)已知數(shù)字'0'的AsCII碼值為48,在程序運(yùn)行時(shí)若從鍵盤(pán)輸入:096<回車(chē)>,則下列程序運(yùn)行后的輸出結(jié)果是 【11】 。
#include<stdio.h>
main()
{ char x,y;
x=getchar();
scanf("%d",&y);
x=x+4; y=y/2;
printf("%c%C",x,y);
}
答案:【11】40
評(píng)析:以ASCII碼值為橋梁,可以將字符數(shù)據(jù)與其ASCII值相等的整型數(shù)進(jìn)行相互轉(zhuǎn)換,并且可以用這個(gè)特性對(duì)字符進(jìn)行一些整型數(shù)據(jù)的運(yùn)算。
(12)以下程序中,min函數(shù)的功能是求4行5列二維數(shù)組每列元素的最小值。請(qǐng)?zhí)羁铡?BR> Void min(int m,int n,int fI)[5],int *bt)
{ inti,j,k=0;
for (j=0;j<n;j++)
{ k=f[0][j]};
for(i=0;i<m;i++)
if( 【12】 )k=f[i][j];
bt[j]=k;
}
}
main()
{ int a[4][5],i,j,b[5];
for(i=0;i<4.i++)
for(j=0;0<5.J++)
scanf("%d",&a[i][j]);
min(4,5,a,b);
f'0r(j=0;j<5;j++)
printf("%d",b[j]);
primf("\n");
}
答案:【12】k>f[i][j]
評(píng)析:求二維數(shù)組中每列的最小值時(shí),其方法是先讓每列中的第一個(gè)元素同第二個(gè)元素比較,然后將較小的值保存在臨時(shí)變量k中,最后再將k中的值與問(wèn)列中剩余的元素進(jìn)行比較,每次都是將較小的值保存在臨時(shí)變量k中。靳列比較后完成后,其最小值就是k的值。然后將k值賦給一維數(shù)組b啪中對(duì)應(yīng)的單元。最后得到的一維數(shù)組b啪中的所有值就是所要求的二維數(shù)組中每列的最小值。
(13)有以下程序
main()
{ int a,b,c,d;
clrsc();
scanf("%o",&a);
b=a>>4:
c:~(~0<<4);
d=b&c:
printf("%d,%d\n",a,d);
}
若從鍵盤(pán)上輸入331,則程序運(yùn)行后的輸出結(jié)果 【13】 。
答案:【13】217,13
評(píng)析: c語(yǔ)言中的位運(yùn)算符有6種,本程序有其中4種位運(yùn)算符,分別是左移、右移、取反和按位與運(yùn)算。
(14)以下程序運(yùn)行后輸出結(jié)果是 【14】 。
int a=30,b=40;
voidfun(int x,inty)
{ int z;
z=(x>y)?x:y;
a=z+10;
b=z+20;
}
main()
{
printf("a=%d,b=%d\n",a,b);
fun(a,b);
printf("a=%d,b=%d\n",a,b);
}
答案:【14】a=30,b=40
a=50,b=60
評(píng)析:全局變量的作用域是從定義變量的位置開(kāi)始到本源文件的結(jié)束。在本題中,變量a,b就是屬于全局變量。其初值分別為a=30,b=4O。在沒(méi)有對(duì)兩個(gè)全局變量作任何處理前,它們的值保持原值,所以第1次輸出a,b的值分別是初值a=30,b=40。但在fun函數(shù)中a,b的值改變后,其值在結(jié)束fun函數(shù)后仍然保留,所以第2次輸出a,b的值分別為a=50,b=60。
(15)以下程序運(yùn)行后的輸出結(jié)果是 【15】 。
#include<string.h>
main()
{
int i:
char a[]。"abcdef',*p,*s;
p=a;
for(I=O;i<strlen(a)/2;i++)
{
a[strlen(a)-i-1]=*p;
p++;
}
s=strupr(a);
puts(s);
}
答案:【15】ABCCBA
評(píng)析:for循環(huán)是將字符數(shù)組a的前半段元素取出,然后按原來(lái)相反的順序覆蓋字符數(shù)組的后半段。字符串函數(shù)strupr的功能是將字符串中小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母。然后用字符串輸出函數(shù)puts輸出。
(16)以下程序運(yùn)行后其輸出的結(jié)果是 【16】 。
ma(int a)
{ static int y=l,z=2;
y*=a;
Z*=a:
printf("y=%d,z=%d",y,z);
}
main()
{
int i,a=2:
clrsc");
for(i=0;i<3;I++)
{ printf("%d",i);
ma(a);
printf("\n");
}
}
答案:【16】0 y=2,z=4
l y=4,z=8
2 y=8,z=16
評(píng)析:靜態(tài)存儲(chǔ)變量的定義方法是在定義變量里,前面加關(guān)鍵字static,而且一次允許定義多個(gè)靜態(tài)變量。一旦某個(gè)變量在函數(shù)中被定義成靜態(tài)的類(lèi)型,在程序運(yùn)行期間,每次調(diào)用函數(shù)時(shí),它不再重新賦初值,而是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。.如本題中,在第1次調(diào)用函數(shù)ma()結(jié)束時(shí),y、z的值分別是y=2,z=4。在第2次調(diào)用ma()函數(shù)時(shí),靜態(tài)存儲(chǔ)變量y、z不再重新被賦初值,而是保留上次結(jié)束時(shí)的值。
(17)已知有如圖所示的單鏈表,則以下函數(shù)的功能是 【17】 。
#include<stdio.h>
typedef struct node
{ int data;
struct node *next;
}Node;
Node *reverlist(Llist *head)
{
Node *p,*q;
if(head&&head->nex0
{
p=head;
q=p->next;
p->next=null;
while(q)
{
p=q;
q=q->next;
p->next=head;
head=p;
}
}
return(head);
答案:【17】逆置單鏈表
知識(shí)點(diǎn):?jiǎn)捂湵淼倪\(yùn)算
評(píng)析:該函數(shù)是首先將head指向的鏈表在第l和第2個(gè)結(jié)點(diǎn)間斷開(kāi)成前后兩個(gè)鏈表,用指針head指向前面單個(gè)結(jié)點(diǎn)的鏈表,而用指針q指向后面斷開(kāi)部分的鏈表,每次將指針q指向鏈表的第1個(gè)結(jié)點(diǎn)取出,然后插入到head指針指向鏈表的最前面,直到q指針指向鏈表的結(jié)點(diǎn)全部取出,并插入到head指針指向的鏈表中,最后指針head指向的鏈表就是原來(lái)鏈表的逆置鏈表。
(18)以下程序的功能是將一個(gè)字符串sl中的內(nèi)容復(fù)制到字符串s2中,請(qǐng)?zhí)羁铡?BR> void copy_string(char *pl,char *p2)
{
for ( ;*p1 !='\0' ;p1 ++,p2++)
【18】 ;
【19】 ;
;
}
main( )
{
char * s1 ="hello!";
char *s2="Good morning!";
prinff("\nstring sl=%s\nstring s2=%s\n",sl,s2);
copy_string( 【20】 );
printf("\nstring sl=%s\nstring s2=%s\n",sl,s2);
答案:【18】*p2=*pl
【19】*p2='\0'
【20】sl,s2
評(píng)析:形式參數(shù)可以有不同的數(shù)據(jù)類(lèi)型,其中本題中的字符指針也是一種形式a在本題中,pl,p2都是字符指針,在調(diào)用copy_string函數(shù)時(shí),將數(shù)組s1的首地址傳給p1,把數(shù)組s2的首地址傳給p2。在函數(shù)copy_string中的for循環(huán)中,每次將*pl賦給*p2,第1次就是將s1數(shù)組的第1個(gè)字符賦給s2數(shù)組。在執(zhí)行pl++和p2++后,p1和p2就分別指向s1[1]和s2[1]。然后依此類(lèi)推。在復(fù)制所有字符后,還要記得在最后將結(jié)束符'\0'賦給p2。
上一頁(yè)
[1]
[2]
文章錄入:ak47 責(zé)任編輯:ak47
上一篇文章:
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(九)
下一篇文章:
05年9月等級(jí)考試二級(jí)C語(yǔ)言考前密卷(十一)
【
發(fā)表評(píng)論
】【
加入收藏
】【
告訴好友
】【
打印此文
】【
關(guān)閉窗口
】
相關(guān)文章
2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)MS模擬試題
2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)MS模擬試題
2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)MS模擬試題
2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)MS模擬試題
2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)MS模擬試題
2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)MS模擬試題
2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試一級(jí)MS模擬試題
2006年9月計(jì)算機(jī)等級(jí)考試二級(jí)VB預(yù)測(cè)試題(4)
2006年9月計(jì)算機(jī)二級(jí)C預(yù)測(cè)試題及答案(4)
2006年9月計(jì)算機(jī)等級(jí)考試三級(jí)網(wǎng)絡(luò)預(yù)測(cè)試題(
2006年9月計(jì)算機(jī)二級(jí)C預(yù)測(cè)試題及答案(3)
2006年9月計(jì)算機(jī)二級(jí)VB預(yù)測(cè)試題及答案(3)
版權(quán)聲明
如果本網(wǎng)站所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系
,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本網(wǎng)內(nèi)容,請(qǐng)注明出處。
發(fā)表評(píng)論
關(guān)于本站
網(wǎng)站聲明
廣告服務(wù)
聯(lián)系方式
付款方式
站內(nèi)導(dǎo)航
客服中心
友情鏈接
Copyright © 2004-2006
考試吧
(
Exam8.com
) All Rights Reserved
中國(guó)科學(xué)院研究生院中關(guān)村園區(qū)(北京市海淀區(qū))