精選C語言試卷(帶答案)._第1頁
精選C語言試卷(帶答案)._第2頁
精選C語言試卷(帶答案)._第3頁
精選C語言試卷(帶答案)._第4頁
精選C語言試卷(帶答案)._第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2006-2007學(xué)年第二學(xué)期考試試卷a卷 考試科目 c語言程序設(shè)計 考試方式 閉卷 完成時限 2小時 擬題人 審核人 批準(zhǔn)人 2007年 7 月 5 日機(jī)械、電氣、信息、生化、輕工、經(jīng)管、理學(xué)院 2006年級 各理工科專業(yè)題序一二三四五六總分得分說明:1. 應(yīng)將全部答案寫在答卷紙對應(yīng)的題號處;否則作無效處理;2. 編程題應(yīng)寫明題號,若答卷紙不夠,請寫在背面,不要另添卷紙;3. 考試完成后,必須將試卷與答卷同時交回。一、判斷題(10小題,每題1分,共10分;用表示正確,用×表示錯誤)1在循環(huán)體內(nèi)使用break語句和continue語句的作用相同。2函數(shù)返回值的類型最終取決于函數(shù)定義時

2、形參的類型。3else語句一定要與if語句配對使用,程序中else語句的個數(shù)一定小于或者等于if語句的個數(shù)。4從狹義角度講,算法是解決一個問題采取的方法和步驟的描述。51/2的結(jié)果是0,所以1.0/2的結(jié)果也是0。6a=b=c=5可以理解為a=(b=(c=5)。7假設(shè)有語句int a10=1,2,3,*p;p=a;則p+完全等價于a+。8for(;)等價于while(1)語句。9假定int類型變量占用兩個字節(jié),若有定義:int x10=0,2,4;,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是6。10char *sp ="welcome"可以寫成char *sp="welcome

3、" 。二、單選題(16小題,每題1分,共16分)1以下數(shù)組定義中錯誤的是:(a) int x3 =0; (b) int x23=1,2,3,4,5,6;(c) int x3=1,2,3,4,5,6;(d) int x23=1,2,3,4,5,6;2設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為:(a)eof (b)null (c) 0 (d)非0值 3有以下程序:main()int y=10;while(y-) ; printf(“y=%dn”,y);程序執(zhí)行后的輸出結(jié)果是:(a) y=0; (b)y=-1;(c) y=1 (d)while構(gòu)成無

4、限循環(huán)4. 若有以下宏定義:#define n 2 #define y(n) (n+1)*n 則執(zhí)行語句int z; z=2*n+y(5);后的值是 (a) 50 (b)34 (c)19(d)無定值 5以下敘述中錯誤的是:(a)c程序必須由一個或者一個以上的函數(shù)組成。(b)函數(shù)調(diào)用可以作為一個獨(dú)立的語句存在。(c)若函數(shù)有返回值,必須通過return 語句返回。(d)函數(shù)形參的值也可以傳回給對應(yīng)的實(shí)參。6設(shè)有如下定義的變量union data int i; char ch;float f;b;則變量b占用內(nèi)存的字節(jié)數(shù)是(假設(shè)int類型占2個字節(jié),char類型占1個字節(jié),float類型占4個字節(jié)

5、):(a) 4 (b)5 (c) 6 (d)77以下敘述中錯誤的是:(a)c程序中的#include 和#define 行均不是c語句(b)除逗號運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級最低(c)c程序中, “j+;”是賦值語句(d)c程序經(jīng)過編譯、連接步驟之后,才能形成一個真正可執(zhí)行的二進(jìn)制機(jī)器指令文件。8. 能正確表示a 和b 同時為正或同時為負(fù)的邏輯表達(dá)式是:(a) (a>=0|b>=0)&&(a<0|b<0) (b)(a>=0&&b>=0)&&(a<0&&b<0) (c) (a+b>

6、;0)&&(a+b<=0) (d) a*b>0 9對于一個正常運(yùn)行的c程序,以下敘述中正確的是:(a)程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束。(b)程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束。(c)程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束。(d)程序的執(zhí)行總是從程序中的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束。10設(shè)變量x和y均已經(jīng)正確定義并賦值。以下if語句中,在編譯時將產(chǎn)生錯誤信息的是:(a)if(x+);(b)if(x>y &&y!=0)(c) if(x>0) x-(d)if(y&l

7、t;0); else y+;else x+;11設(shè)已有定義:float x; 則以下對指針變量p進(jìn)行定義且賦初值的語句中正確的是:(a)float *p=1024;(b)int *p=(float)x;(c)float p=&x;(d)float *p=&x;12有以下程序:main() int i,j;for(i=1;i<4;i+) for(j=i;j<4;j+) printf(" %d*%d=%d ",i,j,i*j); printf("n");程序運(yùn)行后的輸出結(jié)果是:(a)1*1=1 1*2=2 1*3=3 (b)1*1

8、1 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=6 3*1=3 3*3=9(c)1*1=1 (d)1*1=11*2=22*2=4 2*1=2 2*2=4 1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=913按照c語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的是:(a)大寫字母 (b)連接符(c)數(shù)字字符 (d)下劃線14設(shè)有定義:int k=0;以下選項的四個表達(dá)式中與其他三個表達(dá)式的值不相同的是:(a)k+(b)k+=1 (c)+k(d)k+115有以下程序main() char ch="uvwxyz",*pc; pc=ch

9、;printf(" %cn",*(pc+5);程序運(yùn)行后的輸出結(jié)果是:(a)z (b)0(c)元素ch5的地址 (d)字符y的地址16有以下函數(shù):int fun(char *s) char * t=s;while(*t+);return (t-s);該函數(shù)的功能是:(a)比較兩個字符串的大小 (b)計算s所指向字符串占用內(nèi)存字節(jié)的個數(shù)(c)計算s所指字符串的長度 (d)將s所指字符串復(fù)制倒字符串t中16有以下函數(shù):int fun(char *s) char * t=s;while(*t+);return (t-s);該函數(shù)的功能是:(a)比較兩個字符串的大小 (b)計算s所

10、指向字符串占用內(nèi)存字節(jié)的個數(shù)(c)計算s所指字符串的長度 (d)將s所指字符串復(fù)制倒字符串t中三、基礎(chǔ)填空題(14空,每空1分,共14分)1以下程序的輸出結(jié)果是 。#include <string.h>main() printf(“%dn”,strlen("ibmn012n");2執(zhí)行以下程序后的輸出結(jié)果是main() int a=10;a=(3*5,a+4);printf("a=%dn",a);3排序是數(shù)據(jù)處理中最常見的問題,它是將一組數(shù)據(jù)按遞增或者遞減的次序排列。排列的算法很多。常用的算法有 法和選擇法。4設(shè)有定義“char web20;

11、”,要將字符串“”賦值給字符數(shù)組web的語句是 。5一個函數(shù)用于接收一個字符和一個整數(shù),并返回一個字符,函數(shù)名為love_c,則該函數(shù)的原型說明為 。6c語言規(guī)定,簡單變量作函數(shù)參數(shù)時,他和對應(yīng)的形參之間的數(shù)據(jù)傳遞方式是 。7判斷字符變量x是小寫英文字母字符的c語言表達(dá)式是 。8程序中調(diào)用了庫函數(shù)strcmp,必須包含頭文件 。9若x=13,y=25,z=-17,則表達(dá)式(p=(x<y)?x:y)<z?p:z)的值為 。10下列程序段的的輸出結(jié)果是 。 char a=010,b=10;printf(" %dn",a&b<<2);11表達(dá)式中的

12、類型轉(zhuǎn)換分為兩種:一種是隱式數(shù)據(jù)類型轉(zhuǎn)換;另一種是 數(shù)據(jù)類型轉(zhuǎn)換。12數(shù)組是順序存儲結(jié)構(gòu),它的存儲分配方式是“靜態(tài)”的。 是一種動態(tài)的數(shù)據(jù)結(jié)構(gòu),它由若干個結(jié)點(diǎn)鏈接而成,與數(shù)組最大的不同是結(jié)點(diǎn)在內(nèi)存中并不占據(jù)連續(xù)的存儲空間。13有定義: int a3=1,2,3,4,5,6,8,9,10;則printf("%d",*(*(a+1)+2);語句的輸出結(jié)果為 。 14以下程序的輸出結(jié)果是 。main() int a,b,c=240;a=c/100%9;b=(-1)&&(-1);printf("%d,%dn",a,b);四、程序填空題(10空,每

13、空2分,共20分)1下面程序運(yùn)行后輸入以1結(jié)束的一批整數(shù),輸出其中的最大值。例如 :輸入-3 -8 -10 -1后,輸出:-3#include<stdio.h>void main() int max,x; scanf("%d",&x);if(x!=-1) _ (1) _;while(_ (2) _)if(max<x) max =x;_ (3) _;printf(" max%dn",max);(1)(a)x=max (b)max =x(c) x+ (d)max=0(2)(a)x!=-1 (b)max>=0(c)x=-1 (d

14、)max!=-1(3)(a)max=max+1 (b) x=x+1(c)scanf(“%d”,&x); (d) else max =-12下面程序通過字符指針實(shí)現(xiàn),將s1指向的字符串“i have a dream!”反向拷貝到s2中。#include<stdio.h>#include <stdlib.h>void main()char *s1="i have a dream! ",*s2,*t;int len;len= _ (4) _;s2=(char *)calloc(len+1,sizeof(char);t=s2;while(*s1!=0

15、)s1+;do s1-;len-; _ (5) _; s2+;while(len>0);*s2=0;s2=t;puts(s2);(4)(a) strcpy(s1) (b)st(c) *s1 (d) strlen(s1)(5)(a)*s1=*s2 (b)*s2=*s1(c)&s2=&s1 (d)&s1=&s23建立一個鏈表,每個結(jié)點(diǎn)包括:學(xué)號、姓名、性別、年齡。#define len sizeof(struct student)struct student char num6;char name8; char sex2; int age; struct st

16、udent* next;stu10;main() struct student *p,*pt,*head; int i,length,iage; printf("input length of list (<10). "); scanf("%d",&length);/*建立鏈表*/for(i=0;i<length;i+) p=(struct student*)malloc(len); if(i=0) _ (6) _; else pt->next=p;pt=p;printf(“no:”);scanf(“%s”,p->num)

17、;printf(“name:”);scanf(“%s”,p->name);printf(“sex:”);scanf(“%s”,p->sex);printf(“age:”);scanf(“%d”,&p->age);_ (7) _;p=head;printf(“n no. name sex agen”);while(_ (8) _) printf(“%4s%8s%6s%6dn”,p->num,p->name,p->sex,p->age);p=p->next;.(6)(a) head=pt=p; (b)p=pt=head;(c) head=p;

18、 (d)p=head;(7)(a)p->next=p; (b)head->next =null;(c) pt->next=null; (d)p->next =null;(8)(a) p!=null (b)p=null(c)head!=null (d)head=null4一球從100米高度自由落下,每次落地后反彈跳回原高度的一半,再落下。求它再第10次落地時,共經(jīng)過多少米?第10次反彈多高?main() float sn=100,hn= _ (9) _; int n; for(n=2;n<=10;n+) sn=sn+_ (10) _; /*第n次落地時共經(jīng)過的米數(shù)*

19、/ hn=hn/2; /*第n次反彈的高度*/printf(“第10次落地時候共經(jīng)過%fn”,sn);printf(“第10次反彈%fn”,hn);(9) (a)100 (b)0(c)sn/2(d) sn/4(10)(a)hn (b)hn/2(c)2*hn(d)4*hn五、程序閱讀題(5小題,每題4分,共20分)(認(rèn)真閱讀程序,寫出程序運(yùn)行結(jié)果,注意輸出數(shù)據(jù)的格式)1程序1 void main()char ch7=“65ab21”;int i,s=0;for(i=0;chi>=0&&chi<9;i+)s=10*s+chi-0;printf(“%dn”,s);2程序2

20、main() int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i<3;i+) printf(“%d”,t2-ii);3程序3 main() int row,column;for (row=1;row<=4;row+)for (column=1;column<=row;column+) printf("*"); printf(“n”);4程序4int k=0;void fun(int m) m+=k; k+=m; printf("m=%d k=%d ",m,k+);main() int i=4;fun(i+);pri

21、ntf(" i=%d k=%d n", i,k);5程序5#include <stdio.h>struct stuint num;char name10;int age;void py(struct stu*p) printf(“%sn”,(*p).name);void main()struct stu student3=1001,"sun",25,1002,"ling",23,1003,"shen",22;py(student+2);六、程序設(shè)計題(2題,每題10分,共20分)1設(shè)a是一個整型數(shù)組,n

22、和x都是整數(shù),數(shù)組a中的元素都是互異的。請編寫函數(shù)find(a,n,x),在數(shù)組a的前n個元素中查找x,如果找到,返回x在數(shù)組a中的位置;如果沒有找到,返回-1。 例如:數(shù)組a中有元素1,4,3,2,5,調(diào)用find(a,5,2)后返回4,因?yàn)樵赼的前5個元素中找到了2,它在a中的位置是4;而調(diào)用find(a,5,10)后返回-1,因?yàn)樵赼的前5個元素中沒有找到10。2編寫一程序,從鍵盤輸入20個實(shí)數(shù),計算出平均值,將平均值和大于平均值的數(shù)寫入到文本文件a1.txt中。 專業(yè)班級 學(xué)號 姓名 裝訂線 2006-2007學(xué)年第二學(xué)期考試試卷a卷 考試科目 c語言程序設(shè)計 考試方式 閉卷 完成時限 2小時 擬題人 審核人 批準(zhǔn)人 2007年 7 月 5 日機(jī)械、電氣、信息、生化、輕工、經(jīng)管、理學(xué)院 2006年級 各理工科專業(yè)參考答案及評分標(biāo)準(zhǔn)一、判斷題(每題1分,共10分) 注:用表示正確,用×表示錯誤12345678910×××××二、單選題(每題1分,共16分)12345678910111213141516bdbcdacdab或cdbbaac三、基礎(chǔ)填空題(每題1分,共14分)1 8 2 a14 3 冒泡 4 strcpy(web,&quo

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論