廣州大學C語言程序設計期末考試試卷含答案_第1頁
廣州大學C語言程序設計期末考試試卷含答案_第2頁
廣州大學C語言程序設計期末考試試卷含答案_第3頁
廣州大學C語言程序設計期末考試試卷含答案_第4頁
廣州大學C語言程序設計期末考試試卷含答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

院、系領導

審批并簽名A

參考答案

廣州大學2009-2010學年第1學期考試卷

課程程序設計工考試形式(閉卷,考試)

學院數(shù)學與信息系____專業(yè)信安,計班級_______學號_________姓名

題次—?三.四五六七八九十總分評卷人

分數(shù)40202020100

評分

一、單項選擇題(每小題2分,共40分)

1.十六進制數(shù)CDE轉(zhuǎn)換成八制數(shù)是(A)

A)6336B)6363C)7337D)7373

2.以下所列的(:語言常量中,錯誤的是(B)

A)1ULB)eO.5C)"A"D)'\b'

3.已知字母c的ASCII碼為十進制的99,下面程序的輸出是(A)

intmain。

(

charc=*c,;

printf("%d,%c\n",c+2,c+3);

)

A)101,fB)99,fC)101,eD)101,102

4.表達式5-3/2-1的值是(B)

A)0B)3C)2.5D)2

5.設x、z均為int型變量,x的值為1,則求值表達式z=x--,++x后,x,z的值

分別為(C)

A)0,1B)1,0C)1,1D)0,0

6.設x、z均為int型變量,x的值為1,則求值表達式z=x--||x++后,x,z的值

分別為(A)

A)0,1B)1,0C)1,1D)0,0

7.若函數(shù)f為

intf(intx)

(

return-(x<0)+(x>0);

)

貝I」f(2009),f(-2OO8)和f(0)的值分別為(C)

A)012B)110C)l-10D)-110

8.下面函數(shù)的輸出為:(B)

intx=l;

■intmain()

{

intx=2;

{

externintx;

pr-intf("%d",x);

)

printf(**%d\nn,x);

}

A)11B)12B)21D)22

9.下列程序的輸出為:(A)

intmain()

(

char*p="hello”,*q;

for(q=p;*q;q++);

printf("%d\n”,(int)(q-p));

)

A)5B)4C)6D)不是一個確定的值

10.想要表示若x既不能被3整除,又不能被5整除,則把S的值加X,下面哪條語

句是錯的?(B)

A)if((x%3)*(x%5))S+=x;

B)if((x%3==0)+(x%5==0)-(x%15==0))S+=x;

C)if((x%3)==0||!(x%5));elseS+=x;

D)if((x%3)!=0)if((x%5)!=0)S+=x;

11.下列程序段的輸出結果是(C)

voidfun(*int*x,int*y)

printf("%d%d",*x,*y);

*x=3,*y=4;

)

intmain()

(

intx=l,y=2;

fun(&x,&y);

printf("%d%d\n",x,y);

)

A)2143B)1212C)1234D)2112

12.若有定乂:floatx;inta,b;則正確的switch語句是(C)

A)B)

switch(x)switch(x)

((

case1.0:printf(u*\n");case1,2:printf("*\n");

case2.0:printf;case3:printf("**\n");

})

C)D)

switch(a+b)switch(a+b);

({

casel:printf(,,\nu);case1:printf("*\n");

case1+2:printf("**\n");case(int)x:printf;

}

13.以下程序的輸出結果是(C)

intmain()

(

inti,x[3][3]={l,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

)

A)9,5,3B)7,4,3C)7,5,3D)9,6,1

14.以下程序輸出的結果是(D)

intmain()

charw[][5]={"ABCD","EFGHH,"IJKL","MNOP");

intk;

for(k=l;k<3;k++)

printf("%s\n",w[k]+k);

)

A)B)C)D)

ABCDJKLEFGFGH

FGHOPJKKL

15.以下程序的輸出結果是(B)

#defineZero(X)X-X

intmain()

{

printf("%d\n",2*Zero(2-3));

)

A)-6B)-4C)-2D)-0

16.若有代碼

structpoint{intx;inty;}pt,*p;

P=&Pt;

現(xiàn)要輸出pt的成員x,錯誤的語句為:(D)

A)printf("%d\n",p->x);B)printf("%d\n",p[0].x);

C)printf("%d\n",*p.x);D)printf("%d\n",*p->x);

17.下列代碼的輸出為:(D)

printf("%s\n”,"HeiloWorld”+4);

A)HelloB)llel1oWorldC)WorldD)oWorld

18.下列語句的輸出結果是(B)

putchar(putchar('a'))

A)aB)aaC)AD)ab

19.下面代碼的輸出是(B)

charfoo[]=uHelloWorld”;

printf("%d%d",strlen(foo),sizeof(foo));

A)1111B)1112C)1211D)1212

20.有如下代碼

main()

(

intx=l;

printf("%d\n",int);

)

橫線出不可填入的關健詞為(C)

A)autoB)register

C)externD)static

二、填空題(每空2分,共20分)

1.若想通過以下輸入語句給a賦于1,給b賦于2,

inta,b;

scanf("%d%d",&a,&b);

則輸入數(shù)據(jù)的形式應該是[IJ12

2.寫出能正確表示a是正偶數(shù)的關系表達式[2](a>0)&&?a%2)==0)

3.x的類型為doule,y的類型為float,用一個printf語句輸出這兩個值:

[3]printf("%f%f\nH,x,y);

4.若有如下代碼

doubles;

doublea[4][4]={{1,2,3,4},{2,3,4,1},{3,4,1,2},{4,1,2,3));

s=det4(a);

推測函數(shù)det4的原型

[4]doubledet4(int[][4])

5.函數(shù)stup逆序輸出一個字符串,并返回打印的字符總數(shù),請補充空白部分。

■intstup(constchar*s)

(

intn=0;

if([5]*s!=0)

(

n=l+stup(s+l);

[6]putchar(*s);

}

return[7]n;

)

6.以下程序的輸出為[8]1361015

intacc(intn)

(

staticintf;

f=f+n;

returnf;

)

main()

{

inti;

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

printf(n%d",acc(i));

)

7.若z,i均為int類型,i的當前值為1,則對表達式z=i++,i++,i++求值

后,z的值為[9]1

8.給指針p申請四個long型動態(tài)內(nèi)存單元,請?zhí)羁?/p>

p=[10]malloc(sizeof(long)*4);

三、程序閱讀題(每題4分,共20分)

寫出下列程序的運行結果:41

inif(intx,inty,intz)

{

if((x>z)&&(y>z))

returnx*x+y*y;

else

returnf(y,z,x);

}

intmain()

{

intn;

n=f(3,4,5);

printf("%d\n",n);

}

2.以下程序的運行結果是:HelloWorld

HelloWorld

voidf(char*s,constchar*t)

{

while(*s++=*t++);

}

intmain()

(

chara[1024];

charb[]=,,HelloWorld";

f(a,b);

printf("%s\n”,b);

printf("%s\n",a);

)

3,寫出程序輸出:45

longf(longn)

if(n!=0)

return(n%10+f(n/10));

else

return0;

)

intmain()

{

longn=1234567890;

printf(u%ld\nn,f(n));

)

4.以下程序的運行結果是:15

intf(int(*p)[3])

(

ints=0,i;

for(1=0;i<3;i++)

s+=(*(p+i))[i];

returns;

}

intmain()

(

inta[3][3]={l,2,3,4,5,6,7,8,9};

printfC,%d\nM,

5.卜.面程序的運行結果是:

intmain()

(

char*str[]={nPascal,,,,,Clanguage","Dbase","Cobol"};

char**p;

intk;

P=str;

for(k=3;k>=0;k―)

printfC,%s\nn,*(p++));

)

四、編程題(共20分)

1.實現(xiàn)一個函數(shù)sum,對給定輸入n,若n>0,返回1+2+…+n的值;若n<0,

則返回-1-2-......-n的值;若n=0,返回00(5分)

intf(intn)

(

ints=0;

if(n<0)

return-f(-n);

while(n>0)

s+=n--;

returns;

)

處理負號1分,循環(huán)2分,返回值1分,初始化1分。

2.用牛頓迭代求a平方根的遞推公式為x-0.5(x+a/x),初始值可選1.利用這

個公式實現(xiàn)函數(shù)doubleSqrt(doublea);此函數(shù)返回a的平方根。(7分)

doubleSqrt(doublea)

(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論