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

下載本文檔

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

文檔簡介

1、院、系領導審批并簽名 a 卷參考答案廣州大學 2009-2010 學年第 1 學期考試卷課程 程序設計 1 考試形式(閉卷,考試)學院 數(shù)學與信息 系 專業(yè) 信安,計班級 學號 姓名_ 題次一二三四五六七八九十總分評卷人分數(shù)40202020100評分一、單項選擇題(每小題 2 分,共 40 分)1. 十六進制數(shù) cde 轉(zhuǎn)換成八制數(shù)是(a )a) 6336 b) 6363 c) 7337 d) 73732. 以下所列的c語言常量中,錯誤的是( b )a) 1ul b) e0.5 c) “a” d) 'b'3. 已知字母c的ascii碼為十進制的99,下面程序的輸出是( a )i

2、nt main() char c=c; printf ("%d,%cn",c+2,c+3); a) 101, f b) 99, f c) 101, e d) 101, 1024. 表達式 5-3/2-1 的值是( b )a) 0 b) 3 c) 2.5 d) 25. 設x、z均為int型變量,x 的值為 1, 則求值表達式 z=x-, +x 后,x, z的值分別為( c ) a) 0, 1 b) 1, 0 c) 1,1 d) 0, 06. 設x、z均為int型變量,x 的值為 1, 則求值表達式 z=x-|x+ 后,x, z的值分別為( a ) a) 0, 1 b) 1,

3、0 c) 1,1 d) 0, 07. 若函數(shù) f 為 int f (int x) return -(x<0)+(x>0); 則 f(2009), f(-2008) 和 f(0) 的值分別為 ( c )a) 0 1 2 b) 1 1 0 c) 1 -1 0 d) -1 1 08. 下面函數(shù)的輸出為:(b)int x=1;int main() int x=2; extern int x; printf (“%d ”, x); printf(“%dn”, x); a) 1 1b) 1 2b) 2 1d) 2 29. 下列程序的輸出為:(a)int main() char *p=”hell

4、o”, *q; for (q=p; *q; q+); printf (“%dn”, (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); else s+=x;d) if (x%3)!=0) if (x%5)!=0) s+=x;11. 下列程序段的輸出結(jié)果是( c )void fun(int * x, int

5、 * y) printf("%d %d ", *x, *y); *x=3, *y=4;int main() int x=1,y=2; fun(&x,&y); printf("%d %dn",x, y);a) 2 1 4 3 b) 1 2 1 2 c) 1 2 3 4 d) 2 1 1 212. 若有定義: float x;int a,b; 則正確的switch 語句是( c )a)b)switch(x) switch(x) case 1.0:printf("*n"); case 1,2:printf("*n&

6、quot;); case 2.0:printf("*n"); case 3:printf("*n"); c)d) switch (a+b) switch (a+b); case 1:printf("n"); case 1:printf("*n"); case 1+2:printf("*n"); case (int)x: printf("*n"); 13. 以下程序的輸出結(jié)果是 ( c )int main() int i, x33=1,2,3,4,5,6,7,8,9; for(

7、i=0;i<3;i+) printf("%d,",x2-ii); a) 9,5,3 b) 7,4,3 c) 7,5,3 d)9,6,114. 以下程序輸出的結(jié)果是( d )int main() char w5="abcd","efgh","ijkl","mnop"int k; for (k=1; k<3; k+) printf("%sn", wk+k);a)b)c)d)abcdjkl efg fghfgh op jkkl15. 以下程序的輸出結(jié)果是( b )#de

8、fine zero(x) x-xint main() printf("%dn",2*zero(2-3); a) -6 b) -4 c) -2 d) -016. 若有代碼struct point int x; int y; pt, *p;p = & pt;現(xiàn)要輸出 pt 的成員 x,錯誤的語句為: ( d )a) printf (“%dn”, p->x);b) printf (“%dn”, p0.x);c) printf (“%dn”, *p.x); d) printf (“%dn”, *p->x);17. 下列代碼的輸出為: (d)printf (“%s

9、n”, “helloworld”+4);a) hellob) helloworldc) worldd) oworld18. 下列語句的輸出結(jié)果是( b )putchar (putchar (a)a) a b) aa c) a d) ab19. 下面代碼的輸出是( b )char foo=“hello world”;printf (“%d %d”, strlen(foo), sizeof(foo);a) 11 11 b) 11 12 c) 12 11 d) 12 1220. 有如下代碼main () _ int x=1; printf (“%dn”, int);橫線出不可填入的關鍵詞為 ( c

10、)a) auto b) registerc) extern d) static二、填空題(每空 2 分,共 20 分)1. 若想通過以下輸入語句給a賦于1,給b賦于2,int a,b;scanf("%d%d”,&a,&b);則輸入數(shù)據(jù)的形式應該是_【1】1 2 2. 寫出能正確表示a是正偶數(shù)的關系表達式_【2】(a>0) && (a%2)=0) 3. x 的類型為 doule, y 的類型為 float,用一個 printf 語句輸出這兩個值:_【3】printf (“%f %fn”, x, y);_4. 若有如下代碼double s;doubl

11、e a44 = 1,2,3,4,2,3,4,1, 3,4,1,2,4,1,2,3;s = det4 (a);推測函數(shù) det4 的原型_【4】double det4 (int 4) 5. 函數(shù) stup 逆序輸出一個字符串,并返回打印的字符總數(shù),請補充空白部分。int stup (const char *s) int n=0; if (_【5】*s!=0 _) n=1+stup(s+1); _【6】putchar(*s); return _【7】n; 6. 以下程序的輸出為_【8】1 3 6 10 15 int acc(int n) static int f; f=f+n; return f;

12、 main() int i; for(i=1;i<=5;i+) printf("%d ",acc(i); 7. 若 z, i 均為 int 類型,i 的當前值為 1, 則對表達式 z=i+, i+, i+ 求值后,z 的值為 _【9】1 8. 給指針p申請四個long 型動態(tài)內(nèi)存單元,請?zhí)羁誴=【10】malloc(sizeof(long)*4); ; 三、程序閱讀題(每題4分,共20分)1.寫出下列程序的運行結(jié)果: 41int f(int x, int y, int z) if (x>z) && (y>z) return x*x+y*y;

13、 else return f(y, z, x);int main() int n; n = f(3,4,5); printf (“%dn”, n);2.以下程序的運行結(jié)果是:hello world hello worldvoid f (char *s, const char *t) while (*s+=*t+);int main()char a1024;char b=”hello world”;f(a,b);printf (“%sn”, b);printf (“%sn”, a);3.寫出程序輸出:45long f(long n)if (n!=0) return (n%10 + f(n/10)

14、;elsereturn 0;int main()long n=1234567890; printf(“%ldn”,f (n);4.以下程序的運行結(jié)果是:15int f (int (*p) 3)int s=0, i; for (i=0; i<3; i+) s+=(*(p+i)i; return s;int main( ) int a33=1,2,3,4,5,6,7,8,9; printf(“%dn”, f(a);5.下面程序的運行結(jié)果是:int main( )char *str=“pascal”,”c language”,”dbase”,”cobol”;char *p;int k;p=st

15、r; for (k=3; k>=0; k-) printf(“%sn”, *(p+);四、編程題(共20分)1. 實現(xiàn)一個函數(shù) sum,對給定輸入 n,若 n>0, 返回 1+2+ + n 的值; 若 n<0,則返回 -1-2-n 的值;若 n=0,返回 0。(5分)int f (int n)int s=0; if (n<0) return f(-n);while (n>0) s+=n-;return s;處理負號 1 分, 循環(huán) 2 分,返回值 1 分,初始化 1 分。 2. 用牛頓迭代求 a 平方根的遞推公式為 x 0.5(x+a/x), 初始值可選 1. 利

16、用這個公式實現(xiàn)函數(shù) double sqrt(double a); 此函數(shù)返回 a 的平方根。 (7分)double sqrt(double a) double x=1, err;do x=0.5*(x+a/x); err=x*x-a; if (err<0) err=-err;while (err>1e-6); return x;變量類型 1分,初始化 1 分,循環(huán)迭代 2 分,誤差控制 2 分,返回值 1分。3. 實現(xiàn)一個程序,實現(xiàn)文件復制功能。(8分)int main (int argc, char *argv)char buf1024;file *rfp, *wfp;int n;if (argv<3) printf (“useage: %s file1 file2n”, argv0); return -1;rfp=f

溫馨提示

  • 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

提交評論