(完整版)C語言程序設(shè)計期末考試卷及答案.doc,推薦文檔_第1頁
(完整版)C語言程序設(shè)計期末考試卷及答案.doc,推薦文檔_第2頁
(完整版)C語言程序設(shè)計期末考試卷及答案.doc,推薦文檔_第3頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.c 語言程序設(shè)計期末考試卷及答案printf(k = %d,k = %o,k = %xn,k,k,k);學(xué)號 得分閱卷人復(fù)核人a)k = 15,k = 15,k = 15b)k = 15,k = 17,k = 17c)k = 15,k = 017,k = 0xfd)k = 15,k = 17,k = f8已知 a,b,c 為 int 類型,執(zhí)行語句:scanf( % d% d% d,& a,& b,& c) ; 使得 a 為 10,b 為 20,c 為一、單項選擇題。從a、b、c、d 四個選項中,選擇一個最佳答案填入括號內(nèi)( 每小題 1 分,共計 30 分)。30,以下不正確的輸入形式是()

2、。1一個 c 語言程序的執(zhí)行是從()。a)10b)10c)10,20,30d)1020 a)本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束20203030b) 本程序的 main 函數(shù)開始,到 main 函數(shù)結(jié)束30姓名 c) 本程序的 main 函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束9已知 int x=1,y=2,z=3;,執(zhí)行下列程序段后,輸出的結(jié)果是()。d) 本程序文件的第一個函數(shù)開始,到本程序的 main 函數(shù)結(jié)束if(xy) z=x;x=y;y=z;.第2裝線2. 下列選項中不屬于 c 語言關(guān)鍵字的是()。a)switchb)printfc)defaultd)case

3、3. 設(shè)有語句 int a = 4; ,則執(zhí)行了語句 a += a -= a * a; 后,變量 a 的值是()。a)24b) -24c)4d)164. 已知 int i;float d;,則正確的表達式是()。班級 a)(int d)b)int(d)%ic)(int)d%id)int(d%i)5. 已知 int i,a;,執(zhí)行語句 i=(a=3*9,a/5),a+11; 后,變量 i 的值是()。a)5b)16c)27d)386. 下列選項中合法的字符型常量是()。a)ab)nc)nd)a 7下面程序的運行結(jié)果是()。#include void main( )int k = 15;print

4、f(%d,%d,%d,x,y,z);a)1,2,3b)2,3,3c)2,3,1d)2,3,210. 若變量 c 為 char 類型,能正確判斷出 c 為大寫字母的表達式是()。a)a=c=zb)(a=c)|(c=z)c)(a=c)&(c=z)d)(a=c)&(c=z)11. 有以下程序段:int k=0; while(k=1)k+;while 循環(huán)執(zhí)行的次數(shù)是()。a)無限次b)有語法錯,不能執(zhí)行c)一次也不執(zhí)行d)執(zhí)行 1 次12以下程序的輸出結(jié)果是()。void main( )int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+;case 2:a+

5、;b+; printf(a=%d,b=%d,a,b);c)可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值a)a=1,b=0b)a=1,b=1c)a=2,b=1d) a=2,b=213若有定義 inti = 1;,執(zhí)行語句 while ( i 10 )i+; 后,i 的值為()。a)9b)10c)11d)1214有說明語句 int a =1,2,3,4,5;,則數(shù)組 a 包括了()個元素。a)10b)5c)6d)不確定15以下程序段執(zhí)行后,輸出結(jié)果是()。char str=abcn012n;printf(%d,strlen(str);a)5b)6c)7d)1316. 若有以下定義:flo

6、at t54;,能正確引用 t 數(shù)組元素的表達式是()。a)t14b)t50c)t00d)t0,017. 執(zhí)行下列程序段:int i,s = 0;int a 3 = 1,2,3,4,5,6;for ( i = 0;i b?a:b); 并將其放在主調(diào)函數(shù)之后,則在調(diào)用之前應(yīng)該對該函數(shù)進行聲明,以下選項中錯誤的聲明是()。a) float max( float a,b );b) float max( float ,float );c) float max( float a ,float b );d)floatmax(floatx,floaty); 23要使函數(shù)體內(nèi)的某局部變量能保留函數(shù)前一次調(diào)用后

7、的值,供下一次調(diào)用時繼續(xù)使用,該變量的存儲.a)i = *( *( x + 1 ) + 1 );b)i = x11;c)i = *( *( x + 1 ) );d)i = *( x1 + 1 ); 26有如下程序段:int a6 = 1,2,3,4,5,6 ;int m,*ptr; ptr = &a0;m = ( *ptr )*( *( ptr + 2 ) ) *( *( ptr + 4 ) );執(zhí)行該程序段后,m 的值為()。a) 15b)48c)24d)827. 設(shè)有定義:enum team my,your=4,his,her = his+10;則枚舉元素 my、your、his、her

8、的值分別是()。a)0 1 2 3b)0 4 0 10c)0 4 5 15d)14 5 1528. 下面程序的運行結(jié)果是()。union myunstruct int x,y,z; u; int k;a; void main( )a.u.x = 4;a.u.y = 5;a.u.z = 6;a.k = 0; printf(%dn,a.u.x);a)4b)0c)5d)629. 表達式 11 & 18 的值是()。a)0b)1c)2d)27 30當(dāng)順利執(zhí)行了文件關(guān)閉操作后,fclose 函數(shù)的返回值是()。a) 0b)truec) -1d) 1得分閱卷人復(fù)核人二、填空題(每小題 2 分,共計 20

9、分)。1c 語言源程序編譯后生成程序,然后經(jīng)過連接生成可執(zhí)行程序。2實型常量有兩種表示方法:小數(shù)形式和。3. rewind 函數(shù)的功能是。4. 若 ch 是字符型變量,與 ch=getchar();功能相同的語句是。5. 以下程序段要使指針變量 p 指向一個整型的動態(tài)存儲單元,請?zhí)羁?。int* p;p=malloc(sizeof(int);6. 已知:int *p,a = 2,b = 1;,則執(zhí)行程序段 p = &a;a = *p + b; 后,a 的值為。 7. 已知:int x = 1, y = 2, z;,則執(zhí)行 z = x y ? +x : +y;后,z 的值為。8. 當(dāng)執(zhí)行下面程序且

10、輸入:abc時,輸出的結(jié)果是。#include void main( )char ss10 =12345; gets(ss); printf(“%sn”,ss);9. 下面程序的功能是用函數(shù)的遞歸調(diào)用求 n!(n1),請?zhí)羁?。float f(int n)if (n=1) return(1);elsereturn ();void main( )int n; scanf(%d,&n);printf(%.0fn,f(n);10. 以下程序執(zhí)行后的輸出結(jié)果是 。void main( ) int a = 3,b = 1,t; t = ( a 2 ) | b; printf(%dn,t );得分閱卷人復(fù)核

11、人三、程序閱讀題(每小題 4 分,共計 20 分)。1. 以下程序執(zhí)行后的輸出結(jié)果是 。#include void main( )int i;for ( i = 1;i 5;i+ )putchar(#);2. 以下程序執(zhí)行后的輸出結(jié)果是。void main( )intarr10=-1,2,3,4,-5,6,7,- 8,9,0,i,k = 0;) if(arri0) k+;.printf(%dn,k );.3. 以下程序執(zhí)行后的輸出結(jié)果是f。voidfun(int a10)oint i,j,t;rfor (i=0;i9;i+)for (j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;

12、 ivoid main( )=int i;int a10=4,3,5,1,0,8,2,6,7,9;0fun(a);for (i=0;i10;i+)iprintf(%3d,ai);printf(n);14. 以下程序執(zhí)行后的輸出結(jié)果是0。;#include istruct stu+.int x; int *y;*p;int a2 = 10,20;struct stu aa2 = 150,&a0,250,&a1; void main( )p = aa;printf(%dn,(+p)- x ); 5以下程序執(zhí)行后的輸出結(jié)果是。void swap( int *p1 ,int *p2)int k;k =

13、 *p1;*p1 = *p2;*p2 = k;void main( )int a = 3,b = 6,*x = &a,*y = &b; swap( x,y ); printf(%d,%dn,*x,*y );得分閱卷人復(fù)核人四、程序改錯題(共 2 小題,每正確修改一處錯誤得 2 分,共計 10 分)。注意:不得增行或刪行,寫出改正后的程序行,使之能夠得出正確的結(jié)果。1. 下列程序的功能是計算數(shù)列 1,3,5,2n-1,的前 n 項之和,其中 n 由鍵盤輸入。void main( )int s=0,n,i=1;scanf(%d,n);/* 1)該行有錯誤*/ do s=s+i;i=i+2; whi

14、le (i2*n-1);/* 2)該行有錯誤*/ printf(s=%dn,s);2. 下列給定的程序中,函數(shù) average 的功能是:求 10 個數(shù)的平均值。#include float average(float *array) int i;float aver,sum;/* 1)該行有錯誤*/ for (i=0;i10;i+)sum=arrayi;/* 2)該行有錯誤*/aver=sum/10; return(aver);void main( ) float data10,aver; int i;printf(please input 10 data:n); for (i=0;i10;

15、i+)scanf(%f,&datai);aver=average(data0);/* 3)該行有錯誤*/ printf(averege data is %5.2fn,aver);bbbcabdcbd11121314151617181920acbbccacbd21222324252627282930dacacacbca得分閱卷人復(fù)核人五、程序設(shè)計題(共 3 小題,第 1 小題 6 分,第 2、3 小題各 7 分,共 20 分)。得分閱卷人復(fù)核人1. 輸入 x,計算并輸出下列分段函數(shù) y 的值(結(jié)果保留 2 位小數(shù))。04xy = 3(x 15)2. 在一個已排序的整型數(shù)組(設(shè)從小到大)中,插入一

16、個整數(shù),使之仍然有序(要求數(shù)組中原有的10 個整數(shù)從鍵盤按順序輸入)。得分閱卷人復(fù)核人3. 請先編寫一個函數(shù) concat(char str1 ,char str2 ),實現(xiàn)兩個字符串的連接(注意不要用 strcat 函數(shù));再編寫一個 main( )函數(shù)進行測試:在主函數(shù)中輸入兩個字符串,然后調(diào)用 concat 函數(shù),最后將連接后的字符串輸出。參考答案一、單項選擇題。從a、b、c、d 四個選項中,選擇一個最佳答案填入括號內(nèi)( 每小題 1 分,共 30 分,錯選、漏選、多選均不得分)。12345678910三、程序閱讀題(每小題 4 分,共 20 分)題 號12345答 案#30 1 2 3

17、4 5 6 7 8 92506,3說明:對于程序閱讀題,如果該題考生所給出的答案僅僅是書寫格式上的錯誤,沒有其它方面錯誤,扣 1 分,否則該題不得分。.得分閱卷人復(fù)核人else y=2.5*x-10.5; 2 分printf(y=%.2fn,y); 1 分.四、程序改錯題(共 2 小題,每正確修改一處錯誤得 2 分,共計 10 分)。注意:不得增行或刪行,寫出改正后的程序行,使之能夠得出正確的結(jié)果。1. 1)scanf(%d,&n);#include stdio.h main()int a11,i,b;2) 源程序代碼2)while (i=2*n-1);2.1)float aver,sum=0

18、;2) sum=sum+arrayi; (或者改為 sum+=arrayi; 、sum=sum+*(array+i); 、sum+= *(array+i); sum=sum+(*(array+i);也正確)3) aver=average(data); (或者改為 aver=average(&data0); 也正確)printf(imput 10 sorted integer number:n);for (i=0;i=0&aib;i-)ai+1=ai; 2 分ai+1=b; 1 分printf(sorted numbers:n); for (i=0;i11;i+)printf(%5d,ai);

19、1 分得分閱卷人復(fù)核人五、程序設(shè)計題(共 3 小題,第 1 小題 6 分,第 2、3 小題各 7 分,共 20 分)評分總則:若考生給出的程序語法正確,符合要求,能夠?qū)崿F(xiàn)具體功能,即可得滿分;若程序存在錯誤, 不能得出正確結(jié)果,閱卷教師酌情給分,給分方法參考下列評分標(biāo)準(zhǔn)。1)源程序代碼#include main()float x,y; 1 分printf(input x:);scanf(%f,&x); 2 分if(x0)y=0;else if (x=15) y=4*x/3;3) 源程序代碼#include #include void concat(char str1,char str2) 1 分int i,j;j=strlen(str1); 1 分for (i=0; str2i!=0; i+)str1j=str2i; j+; 1 分str1j=0; 1 分main()char str120,str220;printf(input two string:n); gets(str1);gets(str2); 1 分concat(str1,str2); 1 分puts(str1); 1 分“”“”at the end, xiao bian gives you a passage.

溫馨提示

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

評論

0/150

提交評論