浙江大學2011–2012學年春季學期《程序設計基礎及實驗》課程期末考試試卷_第1頁
浙江大學2011–2012學年春季學期《程序設計基礎及實驗》課程期末考試試卷_第2頁
浙江大學2011–2012學年春季學期《程序設計基礎及實驗》課程期末考試試卷_第3頁
浙江大學2011–2012學年春季學期《程序設計基礎及實驗》課程期末考試試卷_第4頁
浙江大學2011–2012學年春季學期《程序設計基礎及實驗》課程期末考試試卷_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

浙江大學2011–2012學年春季學期《程序設計基礎及實驗》課程期末考試試卷課程號:21186020,開課學院:計算機學院.考試試卷:√A卷、B卷(請在選定項上打√)考試形式:√閉、開卷(請在選定項上打√),允許帶∕入場考試日期:2012年06月17日,考試時間:120分鐘誠信考試,沉著應考,杜絕違紀??忌彰簩W號:所屬院系:_(注意:答題內(nèi)容必須寫在答題卷上,寫在本試題卷上無效)試題一、單選題(每小題2分,共20分)若在主函數(shù)中有數(shù)組定義inta[10],并有函數(shù)調(diào)用f(a),則下列關于函數(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假設有如下定義"inta[4];“,下列表達式不正確的是_______.A.*aB.a(chǎn)[0]C.a(chǎn)++D.a(chǎn)+1以下選項中可用作C程序合法實數(shù)的是_______.A.2e1B.1.2EC.E4D.1.0e2.0要用C語言表示代數(shù)式,則不正確的表達式是_______.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í)行程序為test.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));}假設下列程序段執(zhí)行時輸入HELLOWORLD!<回車>,則輸出是_______.chars[20];scanf("%s",s);puts(s);下列程序的運行結(jié)果是_______.#include<stdio.h>voidmain(){inta=1,b=-1,c=1;if(b++||--c&&a++)printf("%d#%d#%d#",a,b,c);}表達式-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分)當輸入: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;}運行以下程序后,將輸出________.#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;}運行以下程序后,將輸出________.#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;}當輸入: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]);}下列程序運行時輸入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ào)用SaveLink()函數(shù),將鏈表數(shù)據(jù)用fprintf函數(shù)輸出保存在stu.txt文本文件中,每行保存一個學生信息,每行數(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論