浙江理工2009年08級(jí)C程序設(shè)計(jì)期末考試卷(A)_第1頁(yè)
浙江理工2009年08級(jí)C程序設(shè)計(jì)期末考試卷(A)_第2頁(yè)
浙江理工2009年08級(jí)C程序設(shè)計(jì)期末考試卷(A)_第3頁(yè)
浙江理工2009年08級(jí)C程序設(shè)計(jì)期末考試卷(A)_第4頁(yè)
浙江理工2009年08級(jí)C程序設(shè)計(jì)期末考試卷(A)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

PAGE2009年08級(jí)C程序設(shè)計(jì)期末考試卷(A)[注意]所有答案寫在單張的答題卷上。判斷題(本題共10分,每小題1分,用A表示正確,用B表示錯(cuò)誤。)(1)C語(yǔ)言的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,其中第一個(gè)字符必須是字母。(2)C語(yǔ)言的變量在使用前都必須先定義,定義變量時(shí)要指定變量名和數(shù)據(jù)類型。(3)如果a=1,b=2,c=3則表達(dá)式a=b==c的值等于3。(4)在程序設(shè)計(jì)中,經(jīng)常用選擇(又稱分支)、循環(huán)和函數(shù)3種控制結(jié)構(gòu)。(5)在C語(yǔ)言中,提供了3種循環(huán)語(yǔ)句:for、while、do-while。(6)如果定義了inta[20],那么使用語(yǔ)句a[20]=10可以給數(shù)組元素a[10]初始化。(7)用關(guān)鍵字static聲明的變量是全局變量,在整個(gè)程序的全部執(zhí)行過(guò)程中都占用存儲(chǔ)單元。(8)如果a=1,b=2,c=3,d=4則表達(dá)式a>b?c:d的值等于3。(9)如果a=15,那么執(zhí)行a=a>>2以后,a的值就變成了3。(10)Struct是定義結(jié)構(gòu)類型的關(guān)鍵字,struct和它后面的結(jié)構(gòu)名一起組成一個(gè)新的數(shù)據(jù)類型。單選題(本題共20分,每小題2分)(11)假設(shè)定義變量如下:intx;floaty;以下輸入語(yǔ)句中________是正確的。[A]scanf(“%f%f”,&y,&x);[B]scanf(“%f%d”,y,x);[C]scanf(“%f%d”,&y,&x); [D]scanf(“%5.2f%2d”,&y,&x);(12)假設(shè)有以下定義:inta[5]={1,2,3,4,5},i=3,*p=a,*q=a;則不能正確執(zhí)行的語(yǔ)句是________。[A]i=*p+*q; [B]a=i;[C]*p=*(a+i); [D]i=*p**(q+2);(13)以下有關(guān)宏定義的敘述,正確的是________。[A]宏名不具有類型 [B]帶參數(shù)的宏就是一個(gè)函數(shù)[C]宏名必須用大寫字母表示 [D]宏定義和其它C語(yǔ)句,其末尾要加分號(hào)(14)若用數(shù)組名作為函數(shù)調(diào)用時(shí)的參數(shù),則實(shí)際上傳遞給形參的是________。[A]數(shù)組第一個(gè)元素的值 [B]數(shù)組元素的值[C]數(shù)組的首地址 [D]數(shù)組名(15)若有定義charx[]="12345";chary[]={'1','2','3','4','5'};則。[A]x數(shù)組與y數(shù)組的長(zhǎng)度相同 [B]x數(shù)組長(zhǎng)度大于y的長(zhǎng)度[C]x數(shù)組長(zhǎng)度小于y數(shù)組長(zhǎng)度 [D]x數(shù)組等價(jià)于y數(shù)組(16)函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是。[A]將串str2復(fù)制到串str1中后再將串str3連接到串str1之后[B]將串str2連接到串str1之后再將串str1復(fù)制到串str3中[C]將串str1復(fù)制到串str2中后再連接到串str3之后[D]將串str1連接到串str2之后再?gòu)?fù)制到串str3之后(17)以下有關(guān)switch語(yǔ)句的正確說(shuō)法是________。[A]break語(yǔ)句是語(yǔ)句中必須的一部分[B]在switch語(yǔ)句中的每一個(gè)case都要用break語(yǔ)句[C]break語(yǔ)句在switch語(yǔ)句中不可以使用[D]在switch語(yǔ)句中可以根據(jù)需要使用或不使用break語(yǔ)句(18)以下正確的函數(shù)說(shuō)明是________。[A]floatadd(intx,y) [B]intadd(intx;inty)[C]charadd() [D]intadd(charx[][])(19)下列變量定義正確的是________。[A]intx_1;y; [B]intprintf=2,x_y=2;[C]intfor=4; [D]intx,y=5;(20)已知字符‘a(chǎn)’的ASCII碼為97,執(zhí)行下列語(yǔ)句的輸出是______。printf("%c%d",’b’,’b’+2);[A]bd [B]98d [C]98100 [D]b100

程序填空題(本題共30分,每小題2分)閱讀下列程序說(shuō)明和程序,在每小題提供的若干可選答案中,挑選一個(gè)最佳的答案。1【程序說(shuō)明】輸入一個(gè)整數(shù),判斷是否是素?cái)?shù)?!境绦虼a】#include<stdio.h>_________(21)____________intmain(){inti,m;printf("Enteranumber:");scanf(""%d",&m);for(i=2;i<=sqrt(m);i++){if(m%i==0)_____(22)______;}if(______(23)_______)printf("%disaprimenumber!\n",m);elseprintf("No!\n");return0;}【選項(xiàng)】(21)[A]#include<string.h> [B]#include<math.h>[C]doublesqrt(doublem); [D]#definesqrt(m)(22)[A]exit(0) [B]return0[C]continue[D]break(23)[A]i>m/2 [B]i>=m/2[C]i>sqrt(m) [D]i>=sqrt(m)2【程序說(shuō)明】每年期末考試結(jié)束后,班主任都要統(tǒng)計(jì)班里成績(jī),學(xué)生數(shù)不超過(guò)50人。需要統(tǒng)計(jì)的項(xiàng)目有學(xué)號(hào)、姓名、英語(yǔ)成績(jī)、計(jì)算機(jī)成績(jī),并輸出兩門課程的平均成績(jī),保留2位小數(shù)?!境绦虼a】#include<stdio.h>structstudent{charid[10];charname[6];intenglish;intcomputer;floatave;};intmain(){inti,n;______(24)_________;printf("請(qǐng)輸入學(xué)生數(shù):");scanf("%d",&n);for(i=1;i<=n;i++){printf("請(qǐng)輸入第%d個(gè)學(xué)生的信息:",i);scanf("%s%s%d%d",________(25)________);stu.ave=_________(26)_________;printf("學(xué)號(hào):%s姓名:%s平均分:%.2f\n",stu.ave);}return0;}【選項(xiàng)】(24)[A]structstudentstu [B]studentstu [C]structstudentstu[50] [D]studentstu[50](25)[A]&stu [B]&stu[i][C]&stu[i].id,&stu[i].name,&stu[i].english,&stu[i]puter [D]&stu.id,&,&stu.english,&stuputer(26)[A](&stu[i].english+&stu[i]puter)/2.0 [B](&stu[i].english+&stu[i]puter)/2[C](&stu.english+&stuputer)/2.0 [D](&stu.english+&stuputer)/23【程序說(shuō)明】輸入一個(gè)十進(jìn)制正整數(shù),將其轉(zhuǎn)換成16進(jìn)制并輸出。【程序代碼】#include<stdio.h>intmain(){inti,p,n;intnumber[40];scanf("%d",&n)p=-1;while(_____(27)_______){number[++p]=______(28)_______;______(29)_______;}for(i=p;i>=0;i--){if(_______(30)________)printf("%d",number[i]);elseprintf("%c",________(31)_________);}printf("\n");return0;}【選項(xiàng)】(27)[A]n=0 [B]n!=0[C]n==0 [D]n>=0(28)[A]n%16 [B]n/16[C]n-number[p]*16 [D]n-number[p-1]*16(29)[A]n=n-number[p] [B]n=n-number[p-1][C]n/=16 [D]n%=16(30)[A]number[i]!=0 [B]number[i]<10[C]number[i]>0 [D]number[i]>=10(31)[A]number[i] [B]'A'+number[i][C]number[i]-10 [D]'A'+number[i]-104【程序說(shuō)明】輸入一個(gè)整數(shù)n,打印出n層金字塔。(下圖是n=3時(shí)的金字塔)*********【程序代碼】#include<stdio.h>main(){intn,i,j;scanf("%d",&n);for(i=1;____(32)______;i++){for(j=1;___(33)___;j++){printf("");}for(j=1;____(34)____;j++){printf("*");}_____(35)______;}}【選項(xiàng)】(32)[A]i>n [B]i>=n[C]i<n [D]i<=n(33)[A]j<=n-i [B]j<=n[C]j>=n-i [D]j>=n(34)[A]j<=n-i [B]j>=n-i[C]j<=2*i-1 [D]j>=2*i-1(35)[A]return0; [B]printf("\n");[C]break [D]continue

程序閱讀題(本題共20分,每小題5分)閱讀下列程序并寫出運(yùn)行結(jié)果。1【程序】#include<stdio.h>intmain(){intk=10;for(k=1;k<=10;k++){k=k+1;printf("k=%d\n",k);}}2【程序】#include<stdio.h>intmain(){charc1,c2;while(scanf("%c",&c1))if(c1<'A'||c1>'Z')printf("inutagain!\n");else{c2=c1+3;printf("c1=%c\nc2=%c\n",c1,c2);}}鍵盤輸入AB并按回車后,請(qǐng)寫出程序運(yùn)行結(jié)果。3【程序】#include<stdio.h>voidswap1(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}voidswap2(intx,inty){inttemp;temp=x;x=y;y=temp;}voidmain(){inta,b,c,temp;a=8;b=19;c=16;printf("a=%2d,b=%2d,c=%2d\n",a,b,c);if(a<b)swap1(&a,&b);if(a<c)swap1(&a,&c);if(b<c)swap2(b,c);printf("a=%2d,b=%2d,c=%2d\n",a,b,c);}4【程序】#include<stdio.h>intx;voidf1(){intx=4;x=+1;printf("f1:%d\n",x);}voidf2(){x=x+1;printf("f2:%d\n",x);}intmain(){x=2;printf("main:%d\n",x);f1();f2();{intx=10;f1();f2();}}程序設(shè)計(jì)題(本題共20分)(1)編寫程序,輸入一個(gè)學(xué)生成績(jī),根據(jù)成績(jī)輸出學(xué)生的等級(jí)。(8分)分?jǐn)?shù)段對(duì)應(yīng)的等級(jí)85~100A70~84B60~69C60以下D(2)編寫一個(gè)程序,要求從鍵盤上輸入50個(gè)同學(xué)的學(xué)號(hào)和C語(yǔ)言成績(jī),然后按照成績(jī)從高到低進(jìn)行排序,并將成績(jī)寫入到score.txt中,格式如下:(12分)學(xué)號(hào)成績(jī)D08357101100D0835711999……2009年08級(jí)C程序設(shè)計(jì)期末考試A卷參考答案姓名___________學(xué)號(hào)___________班級(jí)____________得分___________[注意]所有答案寫在單張的答題卷上。判斷題(正確的答A,錯(cuò)誤的答B(yǎng),本題共10分,每小題1分)題號(hào)12345678910答案BABBABBBAA單選題(本題共20分,每小題2分)題號(hào)11121314151617181920答案CBACBADCDD程序填空題(本題共30分,每小題2分)題號(hào)21222324252627282930答案BDCADCBACB題號(hào)3132333435答案DDACB

程序閱讀題(本題共20分,每小題5分)程序1程序2k=2k=4k=6k=8k=10每行1分如果沒(méi)寫”k=”,扣2分,寫成10行的扣3分c1=Ac2=Dc1=Bc2=Einutagain!每行1分,格式錯(cuò)扣1分。程序3程序4a=8,b=19,c=16a=19,b=8,c=16每行2.5分,格式錯(cuò)扣1分。每行1分程序設(shè)計(jì)題(本題共20分)評(píng)分標(biāo)準(zhǔn):include語(yǔ)句:0.5分評(píng)分標(biāo)準(zhǔn):include語(yǔ)句:0.5分主函數(shù)定義:1分變量定義:0.5分scanf語(yǔ)句:1分選擇結(jié)構(gòu)4分printf語(yǔ)句:1分#include<stdio.h>intmain(){intscore;chargrade;scanf("%d",&score);if(score>=85)grade='A';elseif(score>=70)grade='B';elseif(score>=60)grade='C';elsegrade='D';printf("您的等級(jí)是%c\n",grade);}(2)12分#include<stdio.h>#include<string.h>intmain()//頭文件和main0。5分{inti,j,score[50],temp;charname[50][10],stemp;FILE*fp;//變量定義1分for(

溫馨提示

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