2008級C語言程序設(shè)計(jì)試卷_A帶答案(2009.6)_第1頁
2008級C語言程序設(shè)計(jì)試卷_A帶答案(2009.6)_第2頁
2008級C語言程序設(shè)計(jì)試卷_A帶答案(2009.6)_第3頁
2008級C語言程序設(shè)計(jì)試卷_A帶答案(2009.6)_第4頁
2008級C語言程序設(shè)計(jì)試卷_A帶答案(2009.6)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、天津工業(yè)大學(xué)200 8 200 9 學(xué)年第 2 學(xué)期 c 程 序 設(shè) 計(jì) 試卷(a)學(xué)院 班級 學(xué)號 姓名 注意事項(xiàng):1、本試卷共 13 頁,滿分為 100 分,考試時(shí)間為 110 分鐘。 2、標(biāo)準(zhǔn)答題卡使用2b鉛筆涂寫;文字題答題時(shí)請使用藍(lán)、黑鋼筆或圓珠筆,不得使用紅顏色墨水筆。題 目一二三四總 分分?jǐn)?shù)核對得 分閱卷人二、閱讀程序題答題處: (每空3分,共30分)1題【41】2題【42】3題【43】4題【44】5題【45】6題【46】7題【47】8題【48】9題【49】10題【50】三、程序改錯(cuò)題答題處:(每空2分,共12分)1題【51】【52】【53】2題【54】【55】【56】四、完善程

2、序填空題答題處:(每空2分,共18分)1題【57】【58】【59】2題【60】【61】【62】3題【63】【64】【65】一、單項(xiàng)單選題:(每題 1 分,共 40 分)(說明:請將正確答案按照題干上【】內(nèi)的序號涂寫“標(biāo)準(zhǔn)答題卡”)1以下標(biāo)識(shí)符中,能夠作為變量名使用的是 【1】 。a) n_1b) charc) x(2)d) 2_a2若有定義語句char ch='072' 則變量ch 【2】 。a) 定義錯(cuò)誤b) 包含1個(gè)字符c) 包含3個(gè)字符d) 包含4個(gè)字符3已知字母b的ascii碼值為66,則運(yùn)行下面程序段后,輸出結(jié)果是 【3】 。char ch1;ch1='b&#

3、39;+'5'-'3'printf("%d,%c",ch1,ch1);a) d,db) 68,dc) d,68d) 68,684若有如下語句:int x; float y; scanf("k=%d,f=%f",&x,&y);則能夠正確的為變量x輸入5、為變量y輸入3.2的方法是 【4】 。說明:備選答案中的<cr>表示回車符a) 5 3.2 <cr>b) 5 <cr> 3.2 <cr>c) k=5,f=3.2 <cr>d) x=5,y=3.2 &l

4、t;cr>5執(zhí)行下列程序段后,輸出結(jié)果是 【5】 。int k=10; printf("%d,%o,%x",k,k,k);a) 12,a,10b) 12,10,ac) 10,12,ad) 10,a,126判斷char 型變量 ch 是否為小寫字母的正確表達(dá)式是 【6】 。a) ("a"<=ch) && (ch<="z")b) ("a"<=ch) | (ch<="z")c) ('a'<=ch) && (ch<

5、='z')d) ('a'<=ch) | (ch<='z')7下列表達(dá)式中,值為0的是 【7】 。a) 3%4b) 3<=4c) 3.0/4d) 3/48執(zhí)行下列程序段后,變量a的值是 【8】 。int a=2,b;a=(b=3,b+5,b+);a) 2b) 3c) 4d) 89執(zhí)行下列程序段后,輸出結(jié)果是 【9】 。int x=5,y=2;y*=x+7%4; printf("y=%d ",y);a) y=11b) y=12c) y=13d) y=1610sizeof(double)是 【10】 。a) 一個(gè)整

6、型表達(dá)式b) 一個(gè)雙精度表達(dá)式c) 一個(gè)函數(shù)調(diào)用d) 一個(gè)語法有錯(cuò)誤的表達(dá)式11執(zhí)行下列程序段后,輸出結(jié)果是 【11】 。int a=5,b=4,c=3; printf("%dn",a|b&c);a) 0b) 1c) 5d) 712下列選項(xiàng)中,若所有變量均已正確說明且有初始值,那么錯(cuò)誤的c語句是 【12】 。a) +k;b) a=b=c+2;c) k=a=b;d) a=b+c=2;13執(zhí)行下列程序段后,輸出結(jié)果是 【13】 。int x=3,y=4,z=5;if(x>y) z=y;y=x;x=z;printf("x=%d y=%d z=%d"

7、;,x,y,z);a) x=5 y=3 z=5b) x=4 y=3 z=4c) x=3 y=4 z=4d) x=3 y=4 z=514執(zhí)行下列程序段后,輸出結(jié)果是 【14】 。int x=5,y;y=x>=5? x+2:x-2; printf("%d",y);a) 3b) 5c) 7d) 編譯出錯(cuò),沒有輸出結(jié)果15在嵌套使用if語句時(shí),c語言規(guī)定else總是 【15】 。a) 和之前與其具有相同縮進(jìn)位置的if配對b) 和之前與其最近且未配對的if配對c) 和之前與其最近且不帶else的if配對d) 和之前的第一個(gè)if配對16以下是if語句的基本形式:if (表達(dá)式)

8、語句其中“表達(dá)式” 【16】 。a) 必須是邏輯表達(dá)式b) 必須是關(guān)系表達(dá)式c) 必須是邏輯表達(dá)式或關(guān)系表達(dá)式d) 可以是任意合法的表達(dá)式17執(zhí)行下列程序段后,輸出結(jié)果是 【17】 。int c=4;switch(c)case 2:case 4:c+;case 3:c+;break;case 5:c+;printf("%d",c);a) 5b) 6c) 7d) 編譯時(shí)有語法錯(cuò)誤,沒有輸出結(jié)果18執(zhí)行下列程序段后,輸出結(jié)果是 【18】 。int k=5;while(-k) printf("%d",k-=3);a) 1b) 2c) 4d) 死循環(huán)19執(zhí)行下列

9、程序段后,輸出結(jié)果是 【19】 。int i,k;for(i=0;i<4;i+,i+)for(k=1;k<3;k+)printf("*");a) *b) *c) *d) *20若變量已正確定義,則以下能正確計(jì)算f=n!的程序段是 【20】 。a) f=0; for(i=1;i<=n;i+) f*=i;b) f=1; for(i=n;i>1;i+) f*=i;c) f=1; for(i=1;i<=n;i+) f*=i;d) f=0; for(i=n;i>=2;i-) f*=i;21有下面的程序段,則 【21】 。int x=10;do x=

10、x-1; while(x=0);a) 循環(huán)體一次也不執(zhí)行b) 循環(huán)體執(zhí)行1次c) 循環(huán)體執(zhí)行10次d) 是死循環(huán)22下面程序段的執(zhí)行結(jié)果是 【22】 。int k;for(k=4;k<=10;k+)if(k%3=0) continue;printf("%d",k);a) 45b) 457810c) 69d) 67891023若有定義語句char x="abc", y='a','b','c' 則下列敘述中正確的是 【23】 。a) 數(shù)組x和數(shù)組y完全相同b) 數(shù)組x的元素個(gè)數(shù)和數(shù)組y的元素個(gè)數(shù)相同c)

11、數(shù)組x的元素大于數(shù)組y的元素個(gè)數(shù)d) 數(shù)組x的元素個(gè)數(shù)小于數(shù)組y的元素個(gè)數(shù)24下列程序段的輸出結(jié)果是 【24】 。int i,a10;for(i=9;i>=0;i-)ai=10-i;printf("%d%d%d",a2,a5,a8);a) 258b) 369c) 741d) 85225現(xiàn)要定義一個(gè)char型的二維數(shù)組smn,存放以下3個(gè)字符串"basic"、"c+"、"java",則m和n的最適當(dāng)?shù)娜≈凳?【25】 。a) 2和6b) 3和6c) 2和5d) 3和526下列程序段的輸出結(jié)果是 【26】 。ch

12、ar s="abncd" printf("%d",strlen(s);a) 4b) 5c) 6d) 727若有定義int a3=1,2,3,4,5,6,7; 則 【27】 。a) 數(shù)組a第一維的大小是2b) 數(shù)組a第一維的大小是3c) 數(shù)組a第一維的大小是4d) 編譯時(shí)有語法錯(cuò)誤28若有定義語句 char s5="tree",t7="flower" 則下列語句中,能正確地輸出兩個(gè)字符串的是 【28】 。a) printf("%s%s",s5,t7);b) printf("%c%c&qu

13、ot;,s,t);c) puts(s);puts(t);d) gets(s);gets(t);29若有定義語句 char s110,s210; 則函數(shù)調(diào)用strcmp(s1,s2)的功能是 【29】 。a) 將字符串s2連接到s1末尾b) 將字符串s1連接到s2末尾c) 測試字符串s1中是否包含s2d) 比較兩個(gè)字符串的大小30若有定義語句float a=3.1,b,*p=&b;則對賦值語句 *p=a; 和 p=&a;的準(zhǔn)確解釋是 【30】 。a) 兩個(gè)語句都是將變量a的值賦予變量bb) *p=a是使指針p指向變量a;p=&a是將變量a的值賦予變量bc) *p=a是將變

14、量a的值賦予變量b;p=&a是使指針p指向變量ad) 兩個(gè)語句都是使指針p指向變量a31下列程序段的輸出結(jié)果是 【31】 。char *s="east","west","south","north"char *p=s;printf("%d",p01);a) 字符w的ascii碼值b) 字符wc) 字符a 的ascii碼值d) 字符a32下列程序段的輸出結(jié)果是 【32】 。int a=1,3,5,7,9, s=0, k, *p;p=&a1;for(k=0;k<2;k+)s+=

15、*(p+k);printf("%d",s);a) 8b) 4c) 3d) 133若有定義語句 double b54, (*p)4=b, *q=b1;則不能表示數(shù)組元素b23的是是 【33】 。a) *(q+7)b) *(p+2)+3c) *(b2+3)d) (*(p+2)334若有如下函數(shù)定義int fun(int *p) return *p; 則函數(shù)fun的返回值是是 【34】 。a) 一個(gè)整數(shù)b) 一個(gè)整型指針c) 形參p的值d) 形參p的地址35數(shù)組名作函數(shù)的參數(shù)時(shí),實(shí)參數(shù)組傳遞給形參數(shù)組的是 【35】 。a) 數(shù)組的首地址b) 數(shù)組中全部元素的值c) 數(shù)組中元素的個(gè)

16、數(shù)d) 數(shù)組中第一個(gè)元素的值36函數(shù)fun的定義形式如下:void fun(char ch, double x)則以下對函數(shù)fun的調(diào)用語句中,正確的是 【36】 。a) fun("abc",3.0);b) t=fun('d',16.7);c) fun('65',7.9);d) fun('a',69);37若有如下語句:struct sk int a; float b;struct sk data,*p=&data;則對變量data中a成員的正確引用是 【37】 。a) (*p).data.ab) (*p).ac) (

17、*p)->ad) *p->a38若有如下定義:enum mye=e1, e2=5, e3;則枚舉常數(shù)e1和e3的值分別是 【38】 。a) 0和2b) 1和3c) 0和6d) 4和639若文本文件myfile.txt中原有內(nèi)容為:hello,則運(yùn)行下列程序段后,文件myfile.txt中的內(nèi)容是 【39】 。file *fp; fp=fopen("myfile.txt","w"); fprintf(fp,"abc");fclose(fp);a) helloabcb) abcloc) abcd) abchello40執(zhí)行下列

18、程序段后,輸出結(jié)果是 【40】 。#define pt 3.5#define s(x) pt*x*xint a=1,b=2;printf("%4.1f",s(a+b);a) 14.0b) 31.5c) 7.5d) 程序有錯(cuò)誤,無輸出結(jié)果二、閱讀程序題:(每題 3 分,共 30 分)(說明:請將正確答案按照題號填寫在“填空題答題處”)1下列程序的運(yùn)行結(jié)果是 【41】 。main() int i,x; for (i=1,x=1; i<=50; i+) if (x>=6) break; if (x%2=1) x+=5; continue; x-=3; printf(&

19、quot;%d %dn",x,i );6 22下列程序的運(yùn)行結(jié)果是 【42】 。 main() int i=105; printf("%sn",(i%3=0 && i%5=0 &&i%7=0)? "yes": "no"); yes3下列程序的運(yùn)行結(jié)果是 【43】 。 main() unsigned int a=135; do printf("%d", a%10); a=a/10; while(a!=0); 5314下列程序的運(yùn)行結(jié)果是_ 【44】 。 #define n 5

20、 main() int i,an=1,3,5,7,9,t; for(i=0;i<=n/2;i+) t=ai; ai=an-i-1; an-i-1=t; for(i=0;i<n;i+) printf("%d",ai); 975315下列程序的運(yùn)行結(jié)果是_ 【45】 。 main() int i,a24=45,6,35,-12,100,11,3,-40; int *p=a0, *q=p; for(i=1;i<8;i+) if(*q<pi) q=&pi; printf("%d",*q); 1006下列程序的運(yùn)行結(jié)果是 【46】

21、。main() char *name =“follow me”, ”visual basic ”,”fortran”, ”computer design”;char *p; int i;for(i=0; i<4; i+=2 ) p=name+i; printf(“%s ”,*p); follow me fortran7下列程序的運(yùn)行結(jié)果是 【47】 。void swap(int a, int b) int t; t=a, a=b, b=t; main() int x=5,y=10; swap(x,y); /* 函數(shù)調(diào)用 */ printf("x=%d,y=%dn",x

22、,y);x=5, y=108下列程序的運(yùn)行結(jié)果是 【48】 。 struct st int x; int *y; *p; int dt4= 10,20,30,40 ; struct st aa4= 50,&dt0,60,&dt1,70,&dt2,80,&dt3; main() p=aa+1; printf("%dn",*p->y); 209下列程序的運(yùn)行結(jié)果是 【49】 。 f( int a) int b=0; static int c = 3; b+; c+; return( (a+b)*c ); main() int a = 2,

23、i; for(i=0; i<a; i+) printf("%d ", f(a); 12 1510下列程序的運(yùn)行結(jié)果是 【50】 。#define qwe(x, y) x*ymain()int c;c=qwe(2, 2+3)*2;printf("c=%dn", c);c=10三、程序改錯(cuò)題:(每題 6 分,共 12 分)(說明:請將”found error”行的錯(cuò)誤更正, 并將正確答案按照題號填寫在“程序改錯(cuò)題答題處”,不可增加語句)1若一個(gè)字符串正讀和反讀都一樣,如level、madam稱為回文。下列程序的功能是判斷輸入的字符串是否為回文。#inc

24、lude <stdio.h>#include <string.h>main()char str80;int i,k,m=1;scanf("%s", &str);/* found error 【51】 */ 答案:scanf("%s",str);k=strlen(str);for(i=0;i<k/2;i+)if( stri != strk-i ) /* found error 【52】 */ 答案:if(stri!=strk-i-1)m=0;break;if( m=1 )/* found error 【53】 */答案

25、:if(m=1)printf("%s是回文n",str);elseprintf("%s不是回文n",str);2下列程序的功能是從鍵盤輸入10個(gè)單精度浮點(diǎn)數(shù),求這10個(gè)中的最大值、最小值,以及這10個(gè)數(shù)的平均值,并輸出,輸出平均值時(shí)保留小數(shù)點(diǎn)后面2位。#include <stdio.h>main()float x,max,min,a,k;scanf("%f",&x);max=min= x;/* found error 【54】 */ 答案:max=min=a=x;for(k=2;k<=10;k+)scanf(

26、"%f",&x);if(max<x) max=x;else min=x;/* found error 【55】 */答案:if(min>x) min=x;a+=x;或else if(min>x) min=x;printf("最大值=%f, 最小值=%fn",max,min);printf("平均值=%f n",a/10);/* found error 【56】 */ 答案:printf("平均值=%.2fn",a/10);四、完善程序填空題:(每空2分,共18分)(說明:請將正確答案按照題

27、號填寫在“程序改錯(cuò)題答題處”)1下面程序的功能是:利用公式 ,從鍵盤輸入x,求ex的近似值 ,直到最后一項(xiàng)的絕對值小于10-6為止。#include <stdio.h>#include <math.h>main() int n=1; float t=1.0, x, s= 【57】 ; scanf("%f", &x); do 【58】 ; n+=1; s+=t; while( 【59】 ); printf("%fn",s);1.0 t=t*x/n;fabs(t)>1e-62下面程序的功能是:從鍵盤輸入5個(gè)字符串,然后用

28、“選擇排序法”按升序排序,最后由小到大的順序輸出。請?zhí)羁胀晟瞥绦颉?include <stdio.h>#include 【60】 main() char a510,b10,*p; int i,j; for(i=0;i<5;i+) gets(ai); /* 輸入5個(gè)字符串 */ for(i=0;i<4;i+) /* 排序 */ p=ai; for( 【61】 ;j<5;j+) if(strcmp(aj, p)<0) 【62】 ; if(strcmp(ai,p)!=0) strcpy(b,ai); strcpy(ai,p); strcpy(p,b); for(i

29、=0;i<5;i+) puts(ai); /* 由小到大的順序輸出5個(gè)字符串 */<string.h>j=i+1p=aj3下面程序的功能是:把字符串"i am a teacher."寫入到文本文件d:test中,要求只把"teacher."讀到ss數(shù)組中并顯示到屏幕上。請?zhí)羁胀晟瞥绦颉?include <stdio.h>main() file 【63】 ; char s20="i am a teacher.",ss20='0', c; int i=0; fp=fopen("d:t

30、est", 【64】 ); fputs(s,fp); fseek(fp, 【65】 , 0); i=0; while(c=fgetc(fp)!=eof) ssi=c; i+; ; puts(ss); fclose(fp);*fp"w+"7標(biāo)準(zhǔn)答案:一、單項(xiàng)單選題1"a" 2"b" 3"b" 4"c" 5"c" 6"c" 7"d" 8"b" 9"d" 10"a"11&quo

溫馨提示

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

評論

0/150

提交評論