




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1頁共3頁南京理工大學泰州科技學院課程期末考試試卷課程名稱:C程序設計學分:4.0教學大綱編號:試卷編號:考試方式:閉卷滿分分值:100考試時間:120分鐘組卷日期:2010年12月20日 組卷教師(簽字):張 微審定人(簽字):學生班級:學生學號:學生姓名:12.已知int a34,則*(a+1)+2等價于(11)。A) a12B) *a1 + 2C) *( a1 + 2 )D) a1 + 213.鏈表結點的數據類型為結構體類型,其中包括數據域和指針域,而指針域的類型應為(13)。A)自身結構體類型B)任意結構體類型C)整型D)字符型14.調用函數時,實參是一維數組名a,則向函數傳送的是:
2、(16)A.數組的長度B.數組所有兀素的值C.數組元素a0的值D.數組元素a0的地址15.已知有語句“FILE *fp; int x = 123; fp = fopen(out.dat , W);”,如果需要將變量x的值以文本形式保存到一個磁盤文件out.dat中,則以下函數調用形式中正確的是(15)。A. fprintf(%d, x);B. fprin tf(fp,%d, x);C. fprintf(%d, x, fp);D. fprintf( out.dat , x);二、填空題(每空1分,共10分)1.在C語言源程序中,不帶任何修飾符的浮點數(例如:3.14)都是按(1)類型數據存儲的。
3、2.已知有聲明char ch = g;,則表達式ch = ch-a + A的值為字符(2)的編碼。3.以下程序的輸出結果是(3)。#i nclude #defineM5#defineNM+Mmain () int k;k=N*N*5;prin tf(%dn,k);4.若有聲明char s10 = remi nd,執行puts(s+2);后的輸出結果是(4)。5.釋放動態申請的內存時使用的函數為:(5)6.假定己有聲明“char a30”,則將字符串program.正確地保存到數組a中的語句是(6)。7. 若 有定義 “enum seqmouse,cat, dog, rabbit=0,sheep
4、,cow=6,tiger;” ,貝U執行語句“printf( %d, cat + sheep + cow);” 后輸出結果是(7)。9.字符串Linex12Twot的長度是:(8)10.在使用文件之前,先要(9)文件,用完文件后要(10)文件。三、填寫計算結果(每空3分,共24分)1.以下程序運行后輸出結果的第一為_(1_,第二行為_一。#in cludevoid main()int i = 5;一、選擇題(每題2分,共30分)1.以下敘述正確的是。A 一個用C語言編寫的程序在運行時總是從main函數開始逐條執行語句的B. ma in函數是系統庫函數C. mai n函數中每行只能出現一條語句D
5、. main函數必須出現在所有其他函數之前2.以下選項中不能用作變量名的是(2)。Aenum;B._float;C.sum;D._123。3.以下常量表示正確的是(3)。A.1.5E1.5;B.0118;C.0 x11B;D.0115。4.以下表示數學式ab=b|b=c);B.ab&b=b)&!(b=c);D.ab 0; j -=2 ) k+;B.for( j = 0; j 15; j += 2 ) k+;C.for( i = 0; i 0; i -= 2 ) k+;。6.以下函數定義中正確的是(6)。A.int fun(int a , b)B.int fun(int a ,
6、int a)C.int fun( int *a, i nt b)D.int fun (char a , i nt b)7.以下語句printf( %x, %c, 65, 65 );的輸出結果是:(7A. 65, 65B. 65, AC. 41, AD. 41,658.設有以下輸入語句,要想得到x = 10, y = 20的結果,鍵盤正確輸入為:(8)sca nf( x = %d, y = %d, &x, &y );A. 10, 20B. 10 20C. 1020D. x = 10, y = 209.若有聲明char ss8= red;則sizeof(ss)的值是(9)。A.3;
7、B.4;C.8;D.1。10.在C程序中,每種變量有各自的有效作用范圍和生存期,其中(12)在整個程序運行過程中都存在,但只在函數調用時有效。第2頁共3頁課程名稱:C程序設計學分:4.0試卷編號:6.以下程序運行后的輸出的結果是(8)。#in clude mai n() char *s, *s1 =Here;s = s1;while (*s1) s1+;printf( %dn, si - s);四、程序改錯(每空2分,共10分)請改正程序函數中的錯誤,使它能得出正確的結果,程序中出現的錯誤在found所標示出的下方。將改正后的語句寫在相應空格處。注意:不要改動main函數,不得增行或刪行,也不
8、得更改程序的結構!1.根據形參m的值(2=m=9),在m行m列的二維數組中存放如下所示規律的數據,由main函數輸出。例如,若輸入2則輸出:1224若輸入4則輸出:1234246836912481216#i nclude #define M 10int aMM = 0 ;/*定義a1010二維數組*/* foun d*/void fun (i nt a,i nt m)(1) int j, k ;for(j=0;jm;j+)for (k=0;km;k+)/* foun d*/ailkl=k*i;(2)main () int i,j,n;printf(En ter n:”; sca nf (%c”
9、&n);/* foun d*/fun (aMl, n);(3)for(i=0;i n; i+) for(j=0;j n;j+)2以下程序運行時輸岀結果是(3)。#in elude void f(int *x, int y) *x = y + 1; y = *x + 2;mai n() int a = 2, b = 2;f( &a, b);prin tf(%d, %d, a, b);3.以下程序運行后輸出結果的第一行為(4),第二行為(5)。#i nclude int f1() static int i = 0,f = 1;retur n f *= +i;int f2() int
10、 i = 0,f = 1;retur n f *= +i;void mai n() prin tf( %dn, f1( )+ f2();prin tf( %dn, f1( )+ f2();5.以下程序運行時,若鍵盤輸入5,則輸出是(6)。若鍵盤輸i,則輸出是(7)。#i nclude #in elude int strch(char s,char ch) int i;for( i = strle n( s); i = 0; i-)if( si-1 = ch ) return i;if( i 0 ) return 0;mai n() char ch,s1 = as153d5 nfghjkm;第3
11、頁共3頁課程名稱:C程序設計學分:4.0試卷編號:2.以下程序的功能是:實現兩個復數相加的計算并輸出運算結果。#i nclude #i nclude struct complex float r, i;struct complex *cal(struct complex *x1, struct complex *x2) struct complex *p;p = (4) )malloc(sizeof(struct complex);p-r = (*x1).r + (*x2).r; p-i = (*x1).i + (*x2).i;return (5):mai n() struct complex
12、 *p, x, y;scan f(%f%f%f%f, &x.r, &x.i, &y.r, &y.i);p = cal( &x, &y);prin tf(result: %.2f+%.2fi,(6);free(p);3.下面程序是采用函數遞歸來求兩個整數的最大公約數gcd(m,n),其一般的遞推公式為:mn0gcd(m, n)(m1為m被n整除后的余數)gcd( n,m1)n 0#i nclude gcd( int m, int n) in t g;if ( n = = 0 )(7):else(8):return (9);mai n() int m
13、, n;printf( Input m & n-);sca nf( %d,%d, &m, &n );prin tf( m=%d ,n=%d,gcd=%dn, m, n, gcd( m,n);六、編程題(8分)編與函數FindMaxMin從數組a中找出最大值和最小值,結果分別用return和指針變量帶回。函數原型如下:float Fin dMaxMi n( float *a, i nt n, float *min );2.函數的功能是:刪除p數組中字符串中的所有空白字符(包括制表符、回車符及換行符)。輸入字符串時用#結束輸入。#in elude #i nclude fun
14、 ( char p) int i,t; char c80;/*fo un d*/For (i=0,t=0;pi;i+)(4)if( pi!= ) ct+=pi;/*fo un d*/ct =0;(5)strcpy(p,c);mai n() char c,s80; int i=0;printf(Input a stri ng:”;c=getchar();while(c!=#) si=c;i+;c=getchar(); si=0;fun(s); puts(s);五、完善程序(每空2分,共18分)1.fun1函數的功能是:將數組S的4個元素中大于等于平均值的數保存到a數組,小于平均值的數保存到b數組
15、,變量n、m分別保存a數組和b數組中數據的個數。請填空。#i nclude #defi ne N 4double fun 1(i nt *x, i nt *y, i nt *z, i nt *n, int *m) int i; double av = 0;(1); for (i = 0; i N; i+)(2);av /= N;for (i = 0; i N; i+)if (3) y*n = xi; (*n)+: else z*m = xi; (*m)+; return av; void mai n() int SN = 60, 80, 50, 90, aN = 0, bN = 0, t, m
16、, n, i, j;double ave;ave = fun 1(S, a, b, &n, & m);for (i = 0; i n; i+) printf(%3d, ai);printf(n);for (i = 0; i = av(5)p(7)g = m(9)_g_共 18 分)(2)av += sN(4)struct complex*(6)p - r, p - i(8)g= gcd( n, m%n )(5)_free_(7)_8(6)strcpy( a, program)(8) 10六、編程題(8 分)參考程序如下:float FindMaxMin( float *a, int n, float *min ) int i;float max;(9)打開(10)關閉三、填寫計算結果(每題3 分,共 24 分)max =*min =a0;1分for(i = 1;i n; i+ )1分if ( max ai ) *min :
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論