浙江大學(xué)2011–2012學(xué)年春季學(xué)期《程序設(shè)計(jì)基礎(chǔ)及實(shí)驗(yàn)》課程期末考試試卷_第1頁
浙江大學(xué)2011–2012學(xué)年春季學(xué)期《程序設(shè)計(jì)基礎(chǔ)及實(shí)驗(yàn)》課程期末考試試卷_第2頁
浙江大學(xué)2011–2012學(xué)年春季學(xué)期《程序設(shè)計(jì)基礎(chǔ)及實(shí)驗(yàn)》課程期末考試試卷_第3頁
浙江大學(xué)2011–2012學(xué)年春季學(xué)期《程序設(shè)計(jì)基礎(chǔ)及實(shí)驗(yàn)》課程期末考試試卷_第4頁
浙江大學(xué)2011–2012學(xué)年春季學(xué)期《程序設(shè)計(jì)基礎(chǔ)及實(shí)驗(yàn)》課程期末考試試卷_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

浙江大學(xué)2011–2012學(xué)年春季學(xué)期《程序設(shè)計(jì)基礎(chǔ)及實(shí)驗(yàn)》課程期末考試試卷課程號:21186020,開課學(xué)院:計(jì)算機(jī)學(xué)院.考試試卷:√A卷、B卷(請?jiān)谶x定項(xiàng)上打√)考試形式:√閉、開卷(請?jiān)谶x定項(xiàng)上打√),允許帶∕入場考試日期:2012年06月17日,考試時間:120分鐘誠信考試,沉著應(yīng)考,杜絕違紀(jì)??忌彰簩W(xué)號:所屬院系:_(注意:答題內(nèi)容必須寫在答題卷上,寫在本試題卷上無效)試題一、單選題(每小題2分,共20分)若在主函數(shù)中有數(shù)組定義inta[10],并有函數(shù)調(diào)用f(a),則下列關(guān)于函數(shù)f的原型聲明中錯誤的是_______.A.voidf(intx[10]);B.voidf(intx[]);C.voidf(intx);D.voidf(int*x);若有宏定義如下:#defineM5#defineNM+1#defineLN*M/2則執(zhí)行語句printf("%d",L);后,輸出結(jié)果是_______.A.5B.7C.12D.15若定義chars[]="1234\0abcd";那么sizeof(s)和strlen(s)的值分別為_______.A.4和9B.1和9C.10和9D.10和4若定義structH{longid;char*s;};那么變量定義錯誤的是_______.A.structHh[5]={{1,"a"},{2,"b"}};B.structHh[5]={{1},{2}};C.structHh[5]={1,"a",2,"b"}};D.structHh[5]={1,a,2,b};若定義structVec{intu,v,w,x;}a={2,4,6,8};int*p=&a.u;那么p[3]的值是_______.A.2B.4C.6D.8假設(shè)有如下定義"inta[4];“,下列表達(dá)式不正確的是_______.A.*aB.a(chǎn)[0]C.a(chǎn)++D.a(chǎn)+1以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是_______.A.2e1B.1.2EC.E4D.1.0e2.0要用C語言表示代數(shù)式,則不正確的表達(dá)式是_______.A.4*u/a/b*xB.4*u*x/b/aC.4*u*x/a*bD.u*x/a/b*4執(zhí)行下列程序段后,a,b的值為_______.inta=5,b=1;do{b=a+(a=a>0,a+b);}while(a--);A.-1,7B.0,6C.0,7D.-1,3若有定義:inty=10;則語句do{y--;}while(--y);執(zhí)行后,y的值是_______.A.-1B.1C.8D.0試題二、填空題(每小題2分,共30分)對于下列函數(shù),調(diào)用f(8)將輸出_______.intf(intx){ return((x>1)?f(x/2)+1:1);}下列命令行參數(shù)程序生成的執(zhí)行程序?yàn)閠est.exe,執(zhí)行test123abc<回車>,輸出結(jié)果是_______.main(intagrc,char*argv[]){printf(“%c#%d#”,*++argv[1],argc);}下列代碼段的輸出為_______.voidf(intb,int*c){ b++; *c=*c+b;}intmain(){inta=1,b=2; f(a,&b); printf("%d#%d#",a,b);}下面程序段的輸出是_______.inta=1,b=2,*pa=&a,*pb=&b,*t;t=pa;pa=pb;pb=t;printf("%d#%d#%d#%d#",a,b,*pa,*pb);下面代碼段輸出結(jié)果是_______.typedefstruct{charname[20],country[10];intcode;}City;typedefstruct{intno;charname[20];Cityaddr;}Contact;Citya={"HZ","CN",86};Contactp={5,"Tom"};p.addr=a;printf("%slivesin%s\n",,);用typedef寫出類型FP的定義,使得FP代表指向返回值為整型的函數(shù)的指針。下列程序段輸出_______.chars[]=”abc\'\0def\0ghi”,*sp=s;printf(“%s”,sp+5);下列程序的輸出結(jié)果是_______.#include<stdio.h>intf(intx){staticintk=0;return++k+x;}main(){intk;for(k=0;k<3;k++)printf("%d#",f(k));}假設(shè)下列程序段執(zhí)行時輸入HELLOWORLD!<回車>,則輸出是_______.chars[20];scanf("%s",s);puts(s);下列程序的運(yùn)行結(jié)果是_______.#include<stdio.h>voidmain(){inta=1,b=-1,c=1;if(b++||--c&&a++)printf("%d#%d#%d#",a,b,c);}表達(dá)式-20>>2+3的值為_______.若有定義:intx=2;則語句do{printf(“*”);x--;}while(!x==0);的執(zhí)行結(jié)果是_______.下面代碼段的輸出結(jié)果是_______.inti;for(i=0;i<=3;i++)switch(i%3){case0:printf(“*”);break; default:printf(“#”);case1:printf(“&”);}下面代碼段的輸出結(jié)果是_______.intx=5,y=0;do{x+=3;y+=x; if(y>40)break;}while(x=16);printf("%d#%d#",x,y);下列程序段執(zhí)行后,z的值是_______.staticstruct{intx,y[3];}a[3]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*p=a-1;intz;z=*((int*)(p+2)-1);試題三、程序閱讀題(每小題5分,共30分)當(dāng)輸入:2187<回車>時,下列程序的輸出是_______.#include<stdio.h>intmain(){intcount=0,i,dig,n,new=0;dig=9;scanf("%d",&n);do{if(n%10<dig)dig=n%10;n=n/10;count++;}while(n!=0);for(i=0;i<count;i++)new=new*10+dig;printf("%d",new);return0;}運(yùn)行以下程序后,將輸出________.#include<stdio.h>intf(intx,intn,chars[]){staticchart[]="BLACKOUT";intcount;if(x<8){s[n]=t[x];s[n+1]='\0';returnn+1;}count=f(x/8,n,s);count=f(x%8,count,s);returncount;}intmain(){inta=159;chars[100];f(a,0,s);puts(s);return0;}運(yùn)行以下程序后,將輸出________.#include<stdio.h>#definelength3voidtransposition(intArray[length][length]){ inti,j; intArrayTemp[length][length]; for(i=0;i<length;i++) for(j=0;j<length;j++) ArrayTemp[j][i]=Array[i][j]; for(i=0;i<length;i++) for(j=0;j<length;j++) Array[i][j]=ArrayTemp[i][j];}intmain(){ inti,j; intArray[length][length]={1,3,5,7,9,11,13,15,17}; transposition(Array); for(i=0;i<length;i++) for(j=0;j<length;j++) printf("%d#",Array[i][j]); return0;}下列程序的輸出是_______.#include<stdio.h>structnode{ intscore;structnode*next;};voidprintcir(structnode*t){ structnode*p=t; do{ printf("%d#",p->score); p=p->next; }while(p!=t);}voidinvrtcir(structnode*node){ structnode*p,*q,*t; p=node;q=p->next; do{ t=q->next; q->next=p; p=q; q=t; }while(p!=node);}intmain(void){staticstructnodeT1[]={0,T1+1,1,T1+2, 2,T1+3, 3,T1}; printcir(T1); invrtcir(T1); printcir(T1);return0;}當(dāng)輸入:824211154<回車>,以下程序?qū)⑤敵鯻______.#include<stdio.h>intmain(){inta[10];intn,i,j,k;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);i=0;while(i<n){j=i+1;while(j<n){f(a[j]!=a[i]){j++;continue;}for(k=j;k<n-1;k++)a[k]=a[k+1];a[k]=0;n--}i++;}for(i=0;i<n;i++)printf("%d#",a[i]);}下列程序運(yùn)行時輸入52,程序的輸出是_______.#include<stdio.h>#include<stdlib.h>structnode{intno;structnode*next;};main(){inti,n,m;structnode*p,*q,*h;scanf("%d%d",&n,&m);for(i=0;i<n;i++){if((p=(structnode*)malloc(sizeof(structnode)))!=NULL){p->no=i+1;if(i==0)h=p,q=p;elseq->next=p,q=p;}}p->next=h;q=p;/*tail*/p=q->next;while(p!=q){for(i=0;i<m;i++){q=p;p=q->next;}q->next=p->next;printf("%d#",p->no);free(p);p=q->next;}printf("%d\n",p->no);}試題四、程序填空題(每空2分,共20分)輸入一個以回車結(jié)束的字符串(少于80個字符),判斷該字符串中是否包含"Hello"。要求定義和調(diào)用函數(shù)in(s,t),該函數(shù)判斷字符串s中是否包含字符串t,若滿足條件則返回1,否則返回0.#include<stdio.h>intin(char*s,char*t){inti,j,k;for(i=0;s[i]!='\0';i++){ (1);if(s[i]==t[j]){ for((2);t[j]!='\0';k++,j++)if((3))break;if(t[j]=='\0')(4); }}return0;}intmain(){chars[80];printf("Enterastring:");gets(s);if((5))printf("\"%s\"includes\"Hello\"\n",s);elseprintf("\"%s\"doesn'tinclude\"Hello\"\n",s);return0;}下面主程序首先通過CreateLink()函數(shù),使用在鏈尾加結(jié)點(diǎn)的方式建立學(xué)生信息鏈表并返回鏈頭指針,然后調(diào)用SaveLink()函數(shù),將鏈表數(shù)據(jù)用fprintf函數(shù)輸出保存在stu.txt文本文件中,每行保存一個學(xué)生信息,每行數(shù)據(jù)用空格間隔。#include<stdio.h>#include<stdlib.h>structstudent{ char name[20]; intscore; structstudent*next;};structstudent*CreateLink(){ int i,n; structstudent *head,*p,*p1; scanf("%d",&n); for(i=0;i<n;i++){ (6); scanf("%s%d",p->name,&p->score); if(i==0) head=p; else p1->next=p; (7); } p->next=NULL; returnhead;}voidSaveLink(structstudent*p){ FILE*fp; if((8)){ printf("CreateFileError!\n"); exit(0); }while(p!=NULL){ (9); p=p->next; } fclose(fp);}main(){structstudent*head; (10); SaveLink(head);}……………裝…訂……………

溫馨提示

  • 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

提交評論