C語(yǔ)言程序設(shè)計(jì)期末考試卷及答案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)期末考試卷及答案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)期末考試卷及答案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)期末考試卷及答案_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)期末考試卷及答案_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余9頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)期末考試卷及答案#include <stdio.h>得分閱卷人復(fù)核人、單項(xiàng)選擇題。從 A、B C、D四個(gè)選項(xiàng)中,選擇一個(gè)最佳答案填入括號(hào)內(nèi)(每小題1分,共計(jì)30分)。1. 一個(gè)C語(yǔ)言程序的執(zhí)行是從()。A)本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束B)本程序的 main函數(shù)開始,至U main函數(shù)結(jié)束C)本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D)本程序文件的第一個(gè)函數(shù)開始,到本程序的main函數(shù)結(jié)束2.下列選項(xiàng)中不屬于C語(yǔ)言關(guān)鍵字的是(A) switch B)printf Cdefault Dcase3.設(shè)有語(yǔ)句int a=4;,則執(zhí)

2、行了語(yǔ)句a += a -= a *a;后,變量a的值是(A) 24B) -24C)164.已知 int i;float d;,則正確的表達(dá)式是(A) (int d) B)int(d)%i C ) (int)d%i5.已知 int i,a; ,執(zhí)行語(yǔ)句 i=(a=3*9,a/5),a+11;A) 5B ) 16后,27變量int(d%i)i的值是(386.下列選項(xiàng)中合法的字符型常量是(A) "a"B) 'n'"n"7.下面程序的運(yùn)行結(jié)果是(void main() int k = 15;printf("k = %d,k = %o,k

3、 = %xn",k,k,k);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í)行語(yǔ)句:scanf ( "%d%d%d",&a,&b,&c);使得 a 為 10, b為20, c為30,以下不正.確的輸入形式是()。A) 10B) 10C) 10,20,30 D ) 10 202020 3030309 .已知int x=1,y=2,z=3;,執(zhí)行下列程序段后,輸出的結(jié)

4、果是()。if(x>y) z=x;x=y;y=z;printf("%d,%d,%d",x,y,z);A) 1,2,3B) 2,3,3C) 2,3,1D ) 2,3,210 .若變量c為char類型,能正確判斷出 c為大寫字母的表達(dá)式是()。A) 'A'<=c<='Z'B) ('A'<=c)|(c<='Z')C) (A<=c)&&(c<=Z)D ) ('A'<=c)&&(c<='Z')11 .有以

5、下程序段:int k=0;while(k=1)第11頁(yè)共8頁(yè)k+;int i,s = 0;while循環(huán)執(zhí)行的次數(shù)是(A)無(wú)限次B)有語(yǔ)法錯(cuò),不能執(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+;b+; printf("a=%d,b=%d",a,b);A a=1,b=0B)a=1,b=1C) a=2,b=1D) a=2,b=213.若有定義int i = 1;while ( i < 10 ) i+;后,i的值為(B)10C)

6、 11D ) 1214.有說(shuō)明語(yǔ)句 int a尸1,2,3,4,5;,則數(shù)組a包括了()個(gè)元素。A 10C) 6D )不確定15.以下程序段執(zhí)行后,輸出結(jié)果是(char str尸'abcn012n"printf("%d",strlen(str);)1316.若有以下定義:floatt54;,能正確引用t數(shù)組元素的表達(dá)式是(A t14)t50C) t00D ) t0,017.執(zhí)行下列程序段:int a 3 = 1,2,3,4,5,6;for ( i = 0;i < 3;i+ )s = s + aii;則s的值是()。A 5B ) 6C ) 12D )

7、2118 .下述對(duì)字符數(shù)組的描述中,錯(cuò)誤.的是()。A字符數(shù)組可以存放字符串B)字符數(shù)組中的字符串可以整體輸入輸出C )可以在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值D)不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較19 .設(shè)有宏定義#define Y(x) (x) + 2 ,則下面程序段的運(yùn)行結(jié)果是()。int a = 2,b = 2,c = 1;printf("%dn",a * Y( b + c );A 7B ) 8C ) 9D ) 1020 .若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是()。A)數(shù)組的長(zhǎng)度B)數(shù)組第一個(gè)元素的值C)數(shù)組中全部元素的值D)數(shù)組的

8、首地址21 .下面敘述中,不正確的是()。A)在不同的函數(shù)中可以使用相同名字的變量B)函數(shù)中的形式參數(shù)是局部變量C)在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效22.若在程序中定義了以下函數(shù):float max( float a float b )return ( a>b?a:b); 并將其放在主調(diào)函數(shù)之后,則在調(diào)用之前應(yīng)該對(duì)該函數(shù)進(jìn)行聲明,以下選項(xiàng)中錯(cuò)誤.的聲明是()。A) float max( float a,b );B) float max( float float );C) float max( float a ,float

9、b ); D) float max( float x ,float y );23 .要使函數(shù)體內(nèi)的某局部變量能保留函數(shù)前一次調(diào)用后的值,供下一次調(diào)用時(shí)繼續(xù)使用,該變量的存儲(chǔ)類型應(yīng)是()。A) auto B) extern C) static D) register24 .類型相同的兩個(gè)指針變量之間不能.進(jìn)行的運(yùn)算是()。A) +B) -C) =D )=25 .若有說(shuō)明語(yǔ)句:int i, x34"則不能將x11的值賦值給變量i的語(yǔ)句是()。A)i= *( *( x + 1 ) +1 );B)i = x11;C)i= *( *( x + 1 ) );D)i = *( x1 +1 );26

10、.有如下程序段: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) 8則枚舉元素 my your、his、her的值分別是(A) 0 1 2 3B) 0 4 0 10C) 0 4 5 15D) 1 4 5 1528.下面程序的運(yùn)行結(jié)果是(union myun struct int x,y,z; u;a;int k;void main()A) 429.表達(dá)式11A) 0a.u.x = 4;a.u.y

11、 = 5;a.u.z = 6;a.k = 0;printf("%dn",a.u.x);& 18的值是(B)C) 530.當(dāng)順利執(zhí)行了文件關(guān)閉操作后,fclose函數(shù)的返回值是(C) -1D) 6D) 27)°D) 127. 設(shè)有定義: enum team my,your=4,his,her = his+10;得分閱卷人復(fù)核人A) 0B)true、填空題(每小題 2分,共計(jì)20分)。scanf("%d",&n);printf("%.0fn",f(n);10.以下程序執(zhí)行后的輸出結(jié)果是 void main() i

12、nt a = 3,b = 1,t;t = ( a << 2 )| b;printf("%dn",t);得分閱卷人復(fù)核人三、程序閱讀題(每小題 4分,共計(jì)20分)。1 .以下程序執(zhí)行后的輸出結(jié)果是 。#include <stdio.h>void main() int i;for ( i = 1;i <5;i+ )putchar('#');2 .以下程序執(zhí)行后的輸出結(jié)果是 。void main() int arr10=-1,2,3,4,-5,6,7,-8,9,0,i,k = 0;1 . C語(yǔ)言源程序編譯后生成 程序,然后經(jīng)過(guò)連接生成

13、可執(zhí)行程序。2 .實(shí)型常量有兩種表示方法:小數(shù)形式和 。3 . rewind 函數(shù)的功能是 。4 .若ch是字符型變量,與 ch=getchar();功能相同的語(yǔ)句是 。5 .以下程序段要使指針變量p指向一個(gè)整型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡nt * 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í)行下面程序且輸入:ABC相車時(shí),輸出的結(jié)果是 。

14、#include <stdio.h>void main() char ss10 ="12345”;gets(ss);printf( " %sn" ,ss);9 .下面程序的功能是用函數(shù)的遞歸調(diào)用求n! (n>1),請(qǐng)?zhí)羁?。float f(int n) if (n=1) return(1);else return ();void main() int n; int x;for ( i = 0;i <10;i + )四、程序改錯(cuò)題(共 2小題,每正確修改一處錯(cuò)誤得2分,10 分)。if(arri<0) k+;printf("%d

15、n",k);3 .以下程序執(zhí)行后的輸出結(jié)果是 void fun(int a10)int i,j,t;for (i=0;i<9;i+)for (j=0;j<9-i;j+)if (aj>aj+1)t=aj;aj=aj+1;aj+1=t; void main()int i;int a10=435,1,0,826,7,9;fun(a);for (i=0;i<10;i+)printf("%3d",ai);printf("n");4 .以下程序執(zhí)行后的輸出結(jié)果是 #include <stdio.h>struct stui

16、nt *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 = *p1;*p1 = *p2;*p2 = k;void main() int a = 3,b = 6,*x = &a,*y = &b;swap( x,y );printf("%d,%dn",*x,*y);得分

17、閱卷人復(fù)核人注意:不得增行或刪行,寫出改正后的程序行,使之能夠得出正確的結(jié)果。printf("Please input 10 data:n");1.下列程序的功能是計(jì)算數(shù)列void main()int s=0,n,i=1;scanf("%d",n);do s=s+i;i=i+2; while (i>2*n-1);printf("s=%dn",s);1,3,5,2n-1,的前n項(xiàng)之和,其中n由鍵盤輸入。for (i=0;i<10;i+)/* 1/* 2)該行有錯(cuò)誤*/)該行有錯(cuò)誤*/2.下列給定的程序中,函數(shù) average

18、的功能是:求10個(gè)數(shù)的平均值。#include <stdio.h>float average(float *array) int i;float aver,sum;/* 1)該行有錯(cuò)誤 */for (i=0;i<10;i+)sum=arrayi;/* 2)該行有錯(cuò)誤 */aver=sum/10;return(aver);void main() float data10,aver;int i;scanf("%f",&datai);aver=average(data0);/* 3printf("averege data is %5.2fn&q

19、uot;,aver);得分閱卷人復(fù)核人)該行有錯(cuò)誤*/五、程序設(shè)計(jì)題(共 3小題,第1小題6分,第2、3小題各7分,共20分)。1 .輸入x,計(jì)算并輸出下列分段函數(shù)y的值(結(jié)果保留2位小數(shù))。0 (X 0)4xy (° x 15)2.5x 10.5 (x 15)2.在一個(gè)已排序的整型數(shù)組(設(shè)從小到大)中,插入一個(gè)整數(shù),使之仍然有序(要求數(shù)組中原有的10個(gè)整數(shù)從鍵盤按順序輸入)。3.請(qǐng)先編寫一個(gè)函數(shù) concat(char str1 ,char str2),實(shí)現(xiàn)兩個(gè)字符串的連接(注 意不要用strcat函數(shù));再編寫一個(gè) main()函數(shù)進(jìn)行測(cè)試:在主函數(shù)中輸入兩個(gè)字符串, 然后調(diào)用c

20、oncat函數(shù),最后將連接后的字符串輸出。得分閱卷人復(fù)核人參考答案一、單項(xiàng)選擇題。從 A、B C、D四個(gè)選項(xiàng)中,選擇一個(gè)最佳答案填入括號(hào)內(nèi)(每小題1分,共30分,錯(cuò)選、漏選、多選均不得分 )。12345678910BBBCABDCBD11121314151617181920ACBBCCACBD21222324252627282930DACACACBCA得分閱卷人復(fù)核人、填空題(每小題 2分,共20分,錯(cuò)填、漏填均不得分 )。題號(hào)12345答案目標(biāo)指數(shù)形式使文件的位置指 針?lè)祷氐轿募^scanf( "%C ,&ch);(int *)題號(hào)678910答案33ABCn*f(n-1)

21、13三、程序閱讀題(每小題 4分,共20分)題號(hào)12345答案#30 1 2 3 4 5 6 7 8 92506,3說(shuō)明:對(duì)于程序閱讀題,如果該題考生所給出的答案僅僅是書寫格式上的錯(cuò)誤,沒(méi)有其它方面錯(cuò)誤,扣1分,否則該題不得分。得分閱卷人復(fù)核人四、程序改錯(cuò)題(共 2小題,每正確修改一處錯(cuò)誤得2分,共計(jì)10分)。注意:不得增行或刪行,寫出改正后的程序行,使之能夠得出正確的結(jié)果。1. 1) scanf("%d",&n);2) while (i<=2*n-1);2. 1) float aver,sum=0;2) sum=sum+arrayi;(或者改為 sum+=a

22、rrayi; 、sum=sum+*(array+i); 、sum+=*(array+i);sum=sum+(*(array+i); 也正確)3) aver=average(data);(或者改為 aver=average(&data0); 也正確)得分閱卷人復(fù)核人五、程序設(shè)計(jì)題(共 3小題,第1小題6分,第2、3小題各7分,共20分)評(píng)分總則:若考生給出的程序語(yǔ)法正確,符合要求,能夠?qū)崿F(xiàn)具體功能,即可得滿分;若程序存在錯(cuò)誤,不能得出正確結(jié)果,閱卷教師酌情給分,給分方法參考下列評(píng)分標(biāo)準(zhǔn)。1)源程序代碼#include <stdio.h>main()float x,y; 1 分printf("input x:");scanf("%f',&x);2 分if(x<0) y=0;else if (x<=15) y=4*x/3;else y=2.

溫馨提示

  • 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)論