電子科技大學(xué)C語(yǔ)言程序設(shè)計(jì)期末考試試卷1及答案_第1頁(yè)
電子科技大學(xué)C語(yǔ)言程序設(shè)計(jì)期末考試試卷1及答案_第2頁(yè)
電子科技大學(xué)C語(yǔ)言程序設(shè)計(jì)期末考試試卷1及答案_第3頁(yè)
電子科技大學(xué)C語(yǔ)言程序設(shè)計(jì)期末考試試卷1及答案_第4頁(yè)
電子科技大學(xué)C語(yǔ)言程序設(shè)計(jì)期末考試試卷1及答案_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGE2第頁(yè)共4頁(yè)P(yáng)AGE電子科技大學(xué)學(xué)生考試卷(A)卷考試課程C語(yǔ)言程序設(shè)計(jì)考試日期2007年6月日成績(jī)課程號(hào)上課時(shí)間任課教師姓名考生姓名學(xué)號(hào)(8位)年級(jí)專業(yè)說(shuō)明:請(qǐng)將全部答案都書寫在最后頁(yè)答題紙上,否則答題無(wú)效。試題一、單選題,根據(jù)題目從A、B、C、D中,選擇一個(gè)正確的選項(xiàng)(共16分)1.有定義floata=1,z;intb=3;printf("%.2f",a+b/2);的輸出值是()。A、1 B、 2 C、 2.00 D、2.502.判斷char型變量c為數(shù)字字符的正確表達(dá)式為()。A、 ‘0’<=c<=’9’ B、 ‘0’<=c&&c<=’9’C、 c>=’0’||c<=’9’ D、 c>=0&&c<=93.假設(shè)變量x為int型、k為char型,下列語(yǔ)句片段中,無(wú)語(yǔ)法錯(cuò)誤的是()。A、switch(x){casex>=90:putchar('A');casex<60:putchar('E');}B、 switch(x){case1+2:k='A';case2*4:k='B';}C、 switch(x){case2+x:k=x-2;case3*x:k=x+3;default:k=0;}D、 switch(x){case3.5:k=0.5*x;case7.8:k=8*x;default:k=0;}4.若有floata=2.5,b=6.3,*pa=&a;*pa*=3;pa=&b;則正確的是()。A、pa的值是2.5;B、*pa的值是6.3C、*pa的值是7.5D、pa的值是6.3;5.設(shè)x和y均為int型變量,則語(yǔ)句“x+=y;y=x–y;x–=y;”的功能是()。A、交換x和y的值 B、 把x和y按從大到小排列C、把x和y按從小到大排列 D、 無(wú)確定結(jié)果6.若有charc1,c2,s='b';連續(xù)執(zhí)行下面語(yǔ)句后,c1,c2和s的輸出值應(yīng)是()。c1=s++;c2=++s;printf("%c,%c,%c",c1,c2,s);A、b,d,dB、b,c,dC、d,e,fD、b,d,b7.若有變量定義intx=3,*p;,則下面語(yǔ)句不正確的是()。A、p=&(x+1); B、p=&x; C、p=&x+1; D、p=&x,p++;8.下面程序段的輸出結(jié)果是()。#include<stdio.h>voidfun(inta,intb,intc,int*px,int*py){ *px=a;if(*px>b)*px=b; if(*px>c)*px=c; if(a>b)*py=a; else*py=b; if(*py<c)*py=c;}voidmain(){intm=4,n=2,s=9,a=3,b=5;fun(m,n,s,&a,&b);printf("%d,%d",a,b);}A、4,2 B、2,9C、4,9 D、3,59.若有數(shù)組定義為inta[10],i;與a[i]=100等價(jià)的賦值表達(dá)式是()。A、a+i=100B、*(a+i)=100C、(a+i)=100D、&a[i]=10010.判斷下面的循環(huán)體執(zhí)行多少次()。i=8;k=10;while(i!=8)i=k--;A、8次 B、 10次 C、無(wú)數(shù)次 D、0次11.下面語(yǔ)句的功能是將變量ch中小寫字母轉(zhuǎn)換為大寫字母,如果變量ch中的字符不是小寫字符,則保持原來(lái)字符,正確的應(yīng)該是()。A、if(ch>='a'&ch<='z')ch=ch-32; B、if(ch>='a'&&ch<='z')ch=ch-32;C、ch=(ch>='a'&&ch<='z')?ch-32:''; D、ch=(ch>'a'&&ch<'z')?ch-32:ch;12.下面是關(guān)于break、continue語(yǔ)句的敘述,其中正確的說(shuō)法是()。A、break、continue功能相同B、break只能出現(xiàn)在循環(huán)體中C、continue只能出現(xiàn)在循環(huán)體中D、continue的功能是跳出循環(huán)體13.C語(yǔ)言中,每個(gè)字符串的末尾都有一個(gè)字符串的結(jié)束符,表示字符串的終止。下列哪一個(gè)字符是字符串的結(jié)束符()。A、'\n'B、'\0'C、'\t'D、'-1'14.如果指針p指向x,則*p++表示的是()。A、對(duì)指針p加1B、對(duì)p的對(duì)象加1C、對(duì)變量x加1D、對(duì)指針p和變量x各加115.下面各敘述中不正確的是()。A、變量名sum和Sum代表兩個(gè)不同的變量。B、若變量已正確定義,表達(dá)式x+y=z是一個(gè)合法的賦值表達(dá)式。C、do-while語(yǔ)句先執(zhí)行循環(huán)體,后判斷循環(huán)條件,所以循環(huán)體至少會(huì)執(zhí)行一次。D、不同類型的變量在內(nèi)存中占用存儲(chǔ)空間的大小不一樣。16.char*s[]={"first","second","third"};printf("%s,%s,%c\n",s[0],s[1]+1,*s[2]);first,second,*thirdB、first,econd+1,*thirdC、first,econd,*tD、first,econd,t試題二、按題目的意思,寫出正確的內(nèi)容。(共12分)1.C程序中的“真”和“假”是如何表示?2.讀程序,回答問題#include<stdio.h>#defineMAX7voidmain(){inti,a[MAX]={5,8,-7,5,3,0,7},c;for(i=0;i<MAX;i++){c=a[i];/*第8行*/a[i]=a[MAX-i-1];a[MAX-i-1]=c;/*第10行*/}for(i=0;i<MAX;i++)printf(“%d”,a[i]);}問題1.程序運(yùn)行后的輸出結(jié)果為是:。問題2.將for循環(huán)中的i<MAX改為i<MAX/2后,輸出結(jié)果為:。問題3.刪除第8行,將第10行a[MAX-i-1]=c改為a[MAX-i-1]=a[i],for循環(huán)中仍然是i<MAX則輸出結(jié)果為:。3.定義一個(gè)可以表示日期(年、月、日)的結(jié)構(gòu)體數(shù)據(jù)類型date,并用該類型定義一個(gè)變量z同時(shí)為變量初始化,初始化年、月、日的值分別2007、6、28。4.寫出調(diào)用函數(shù)g(4)的輸出結(jié)果。intg(intn){if(n==2||n==1)returnn;elsereturng(n-2)+g(n-1);}試題三、讀程序?qū)懗龀绦驁?zhí)行結(jié)果(共24分)1.閱讀下列程序,并寫出程序執(zhí)行結(jié)果。#include<stdio.h>intf(intm,intn){intc=0;for(;m!=0;m=m/10){if(m%10==n)c++;}returnc;}voidmain(){printf("%d#",f(30303,0));printf("%d#",f(21212,3));}2.閱讀下列程序,并寫程序執(zhí)行結(jié)果。#include<stdio.h>voidmain(){intx,i;for(i=1,x=1;i<=3;i++){ x=x+i;switch(x){case1:putchar('a');break;case2:putchar('b');break;case3:putchar('c');break;case4:putchar('d');break;default:putchar('e');break;}}}3.閱讀下列程序,并寫出程序執(zhí)行結(jié)果。#include<stdio.h>voidmain(){inta=1,b=1;intf(inty,intm,intd);a=f(1976,4,25);printf("#%d#\n",a);}intf(inty,intm,intd){intk,flag,n;inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31},};flag=y%4==0&&y%100!=0||y%400==0;for(n=d,k=1;k<m;k++)n+=tab[flag][k];returnn;}4.閱讀下面程序,在提供的A~D四個(gè)答案中,按提問挑選正確答案。#include<stdio.h>voidsort(int*a,intn){inti,j,t; for(i=1;i<n;i++)for(j=0;j<n-i;j++) if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t; }}voidmain(){inti,r,n,a[10]={4,6,-3,9,0,-4,8,5,1,7};scanf("%d%d",&r,&n); sort(a,10);/*第13行*/for(i=0;i<10;i++)printf("%d,",a[i]);}(1)程序運(yùn)行時(shí),輸出()。(2)若將第13行語(yǔ)句sort(a,10);改為sort(a+3,7)后;則輸出()。(3)若將第13行語(yǔ)句sort(a,10);改為sort(a+5,0)后;則輸出()。(4)若將第13行語(yǔ)句sort(a,10);改為sort(&a[1],8)后;則輸出()。供選擇的A~D四個(gè)答案如下:A、4,6,-3,9,0,-4,8,5,1,7,B、4,-4,-3,0,1,5,6,8,9,7,C、4,6,-3,-4,0,1,5,7,8,9, D、-4,-3,0,1,4,5,6,7,8,9,5.試題五、程序填空,按程序完成的功能,在劃線部分填寫適當(dāng)?shù)膬?nèi)容。(共18分)1.程序功能:在數(shù)組a中已存儲(chǔ)10個(gè)數(shù),輸入查找數(shù)x,在數(shù)組a中查找x,如果在數(shù)組中找到,則輸出它在數(shù)組中的下標(biāo)(元素號(hào)),如果沒有找到,則輸出“Notbeenfound.”#include<stdio.h>#defineN10voidmain(){inta[N]={3,-7,8,23,45,60,78,23,-33,-76},i,x;intflag=0;printf("inputxtolookfor:\n");scanf("%d",&x);for(i=0;i<N;i++) if(1){printf("find,at:%d\n",i); flag=1;}if(2)printf("Notbeenfound.\n");}2.程序功能:輸入班級(jí)50個(gè)學(xué)生的數(shù)學(xué)成績(jī),計(jì)算平均分并統(tǒng)計(jì)高于平均分的人數(shù)在屏幕輸出,同時(shí)將高于平均成績(jī)的分?jǐn)?shù)寫到d:\temp\aa.txt文件中?!境绦颉?include<stdio.h>#defineN50voidmain(){floatscore[N],sum,ave;FILE*fp;inti,count; fp=fopen(3);printf("請(qǐng)輸入學(xué)生成績(jī)\n");for(i=0,sum=0;i<N;i++){scanf("%f",&score[i]);sum+=score[i];}ave=4;5;for(i=0;i<N;i++)if(score[i]>=ave){ count++;6; }printf("平均成績(jī)=%.2f,高于平均分人數(shù)=%d\n",ave,count); fclose(fp);}3.程序功能:假設(shè)a數(shù)組中數(shù)據(jù)由小到大順序存放,以下程序把a(bǔ)數(shù)組中相同的數(shù)據(jù)刪除得只剩一個(gè),然后以每行3個(gè)數(shù)的形式輸出a數(shù)組的數(shù)據(jù)?!境绦颉?include<stdio.h>#defineN12voidmain(){ inta[N]={3,3,4,4,4,6,9,9,23,23,90,90}; inti,j,n; n=N; i=N-1; while(i>=0) { if(a[i]==a[i-1]) { for(j=i;j<n;j++) a[j-1]=7; n--; } 8; } for(i=0;i<n;i++) {printf("%4d",a[i]); if((i+1)%3==0)9; }}試題六編程序(共30分)1.輸入x,按下式計(jì)算y值并輸出。2.輸出所有的“水仙花數(shù)”,水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)字立方和等于其本身。如:153=13+53+333.在主函數(shù)中計(jì)算1+1/2!+1/3!……1/n!的和并輸出。其中n的值通過(guò)程序輸入。要求將計(jì)算階乘的運(yùn)算定義成函數(shù)。2007C程序設(shè)計(jì)期末試卷(A)解答試題一、單選題(20分,每小題1分)CBBBA,AABBD,BCAAB,DBDBD試題二、按題目的意思,寫出正確的內(nèi)容(10分,每小題2分)非0為真,0為假(1)18(2)改變,24(該題2個(gè)問題中的“S的”應(yīng)該刪除。問題表達(dá)不夠清楚)。(1)58–75307(2)7035-785或703(3)70353074.structdate{intx,y,z}z={2007,6,28};(成員名可以是其它)或structdate{intx,y,z};structdatez;z.x=2007;z.y=6;z.z=28;5.5試題三、讀程序?qū)懗龀绦驁?zhí)行結(jié)果(每小題5分)1.2#0#2.bde3.#116#318#202#4.D

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論