程序設(shè)計(jì)期末考試試卷_第1頁(yè)
程序設(shè)計(jì)期末考試試卷_第2頁(yè)
程序設(shè)計(jì)期末考試試卷_第3頁(yè)
程序設(shè)計(jì)期末考試試卷_第4頁(yè)
程序設(shè)計(jì)期末考試試卷_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

復(fù)旦大學(xué)信息科學(xué)與工程學(xué)院

《程序設(shè)計(jì)》期末考試試卷

共9頁(yè)

課程代碼:INF0120001.06考試形式:□開(kāi)卷曰閉卷

(本試卷答卷時(shí)間為120分鐘,答案必須寫(xiě)在試卷上,做在草稿紙上無(wú)效)

專業(yè)學(xué)號(hào)姓名成績(jī)

題號(hào)—?二二總分

得分

ー、選擇題(30%)

1.閱讀程序,選擇程序的運(yùn)行結(jié)果。A_______________________________________

裝#include<stdio.h>

訂intTry(intn)

(

線if(n>0)

return(n*Try(n-2));

內(nèi)

else

不return1;

)

答main()

(

題intx;

x=Try(5);

,Tn

printf(%d\nzx);

}_____________________________________________________________________________

A.15B.120C.1D.前面三個(gè)答案都是錯(cuò)的

2.下列選項(xiàng)列中,在C中不正確的是B。

A.intnValue=073;B.intnValue=094;

C.intnValue=0x94;D.intnValue=100;

3.下列選項(xiàng)中,不是C提供的合法總算的是_C〇

A.forB.switchC.beginD.default

4.下列選項(xiàng)中,不是用來(lái)表達(dá)轉(zhuǎn)義字符的是ーC_?

A.\\B.\nC.OxABD.ヽ,

5.下列對(duì)字符串的定義中,錯(cuò)誤的是A______。

A)charstr[7]="FORTRAN”;

B)charstr[]="FORTRAN”;

C)char*str=nFORTRANn;

D)charstr[]={‘Fl'O'JR'JTl'R’JAl'N',0};

6.設(shè)指針pnValue指向的整型變量值為25,則++*pnValue后pnValue的值是_A

A.26B.25C.24D.以上答案都不對(duì)

7.以下程序段的輸出結(jié)果是:D

chara[]="ABCDE”;

char*p=NULL;

for(p=a;p<a+5;p++)

(

printf(、、%s\n〃,p);

}

A.ABCDEB.AC.ED.ABCDE

BDBCDE

CCCDE

DBDE

EAE

閱讀下列函數(shù),函數(shù)功能為ーA___〇

voidExchange(int*pl,int*p2)

intp;

p=*pl;

*pl=*p2;

*p2=p;

)

A.交換?pl和?p2的值B,正確,但無(wú)法改變*pl和*p2的值

C.交換?pl和?p2的地址D.可能造成系統(tǒng)故障

9.表達(dá)式!!6的值是__A?

A.6

B.0

C.1

D.65530

10.inta[]={2,6,10,14,16},*p=a+2;表達(dá)式?(p-1)*(p+1)[1J的值為:B

A.84B.96C.140D.60

二、簡(jiǎn)答題(30%)

1.下面程序代碼給出了交換兩個(gè)整數(shù)的swap函數(shù)。試改寫(xiě)該函數(shù),以避免生成臨時(shí)存儲(chǔ)單元。

voidswap(int&nlzint&n2)

(

inttemp;

temp=nl;nl=n2;n2=temp;

}

nl+=n2;

n2=nl-n2;

nl-=n2;

第2頁(yè)

2.下面哪些(如果有)名字是非法的?說(shuō)明原因并更正每個(gè)非法的標(biāo)識(shí)符名字。

(a)intdouble=3.14159;

(b)char_a;

(c)boolcatch-22;

(d)char1_or_2=,11;

(e)floatFloat=3.14f;

內(nèi)

3.寫(xiě)出下面程序的運(yùn)行結(jié)果,并說(shuō)明理由。

#include<stdio.h>

voidFunc(intx)

{

x=20;

)

main()

(

intx=10;

Func(x);

printf(n%d",x);

10

4.寫(xiě)出下面程序的運(yùn)行結(jié)果,并說(shuō)明其理由。

#include"stdafx.h”

#include"stdio.h"

intmain(intargczchar*argv[])

(

inta;

int&b=a;

b=10;

printf(na=%d\n*\a);

return0;

}

10

第4頁(yè)

5.閱讀下列程序,寫(xiě)出運(yùn)行結(jié)果。

#include<stdio.h>

main〇

(

inta[6][6]zi,j;I(n=6)

for(i=l;i<6;i++)

(

for(j=l;j<6;j++)

{

a[i][j]=(i/j)*(j/i);

)

}

for(i=l;i<6;i++)

(

for(j=l;j<6;j++)

|

printfド%2d”,a[i][j]);

)

printfC\n");

內(nèi)

三、程序設(shè)計(jì)題(40%)

1.編寫(xiě)ー個(gè)函數(shù)エnverse,實(shí)現(xiàn)將字符數(shù)組中的字符串逆序存放的功能。

[提示:有兩種方法:

(1)用數(shù)組a存放逆序存放前的數(shù)組元素,用數(shù)組b存放逆序存放后的數(shù)組元素:

(2)用ー個(gè)數(shù)組實(shí)現(xiàn)逆序存放,借助于ー個(gè)中間變量temp,將數(shù)組中首尾對(duì)稱位置的元素互換,

i指向數(shù)組首部的元素,從〇按依次加1變化,j指向數(shù)組尾部的元素,從n-l按依次減1變化,

當(dāng)變化到i>j時(shí)結(jié)束元素互換操作。]

VoidInverse(char*p)

{intn,i;

chartemp;

for(n=0;p[n];n4-+);

n-;

for(i=0;i<n-i;i++)

(

temp=a[i];

a[i]=a[n-i];

a[n-i]=temp;

I

第6頁(yè)

2.不用strcat函數(shù)編程實(shí)現(xiàn)字符串連接函數(shù)strcat的功能,將字符串t連接到字符串s的

尾部。

[提示:用i和j分別作為字符數(shù)組s和字符數(shù)組t的下標(biāo),先將i和j同時(shí)初始化為〇,

然后移動(dòng)i使其位于字符s的尾部即字符串結(jié)束標(biāo)志處,再將字符數(shù)組t中的字符依次拷貝到字

符數(shù)組s

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論