浙江大学2011–2012学年春季学期《程序设计基础及实验》课程期末考试试卷_第1页
浙江大学2011–2012学年春季学期《程序设计基础及实验》课程期末考试试卷_第2页
浙江大学2011–2012学年春季学期《程序设计基础及实验》课程期末考试试卷_第3页
浙江大学2011–2012学年春季学期《程序设计基础及实验》课程期末考试试卷_第4页
浙江大学2011–2012学年春季学期《程序设计基础及实验》课程期末考试试卷_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学2011–2012学年春季学期《程序设计基础及实验》课程期末考试试卷课程号:21186020,开课学院:计算机学院.考试试卷:√A卷、B卷(请在选定项上打√)考试形式:√闭、开卷(请在选定项上打√),允许带∕入场考试日期:2012年06月17日,考试时间:120分钟诚信考试,沉着应考,杜绝违纪。考生姓名:学号:所属院系:_(注意:答题内容必须写在答题卷上,写在本试题卷上无效)试题一、单选题(每小题2分,共20分)若在主函数中有数组定义inta[10],并有函数调用f(a),则下列关于函数f的原型声明中错误的是_______.A.voidf(intx[10]);B.voidf(intx[]);C.voidf(intx);D.voidf(int*x);若有宏定义如下:#defineM5#defineNM+1#defineLN*M/2则执行语句printf("%d",L);后,输出结果是_______.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[0]C.a++D.a+1以下选项中可用作C程序合法实数的是_______.A.2e1B.1.2EC.E4D.1.0e2.0要用C语言表示代数式,则不正确的表达式是_______.A.4*u/a/b*xB.4*u*x/b/aC.4*u*x/a*bD.u*x/a/b*4执行下列程序段后,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);执行后,y的值是_______.A.-1B.1C.8D.0试题二、填空题(每小题2分,共30分)对于下列函数,调用f(8)将输出_______.intf(intx){ return((x>1)?f(x/2)+1:1);}下列命令行参数程序生成的执行程序为test.exe,执行test123abc<回车>,输出结果是_______.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);下面代码段输出结果是_______.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代表指向返回值为整型的函数的指针。下列程序段输出_______.chars[]=”abc\'\0def\0ghi”,*sp=s;printf(“%s”,sp+5);下列程序的输出结果是_______.#include<stdio.h>intf(intx){staticintk=0;return++k+x;}main(){intk;for(k=0;k<3;k++)printf("%d#",f(k));}假设下列程序段执行时输入HELLOWORLD!<回车>,则输出是_______.chars[20];scanf("%s",s);puts(s);下列程序的运行结果是_______.#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);的执行结果是_______.下面代码段的输出结果是_______.inti;for(i=0;i<=3;i++)switch(i%3){case0:printf(“*”);break; default:printf(“#”);case1:printf(“&”);}下面代码段的输出结果是_______.intx=5,y=0;do{x+=3;y+=x; if(y>40)break;}while(x=16);printf("%d#%d#",x,y);下列程序段执行后,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<回车>,以下程序将输出_______.#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分)输入一个以回车结束的字符串(少于80个字符),判断该字符串中是否包含"Hello"。要求定义和调用函数in(s,t),该函数判断字符串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()函数,使用在链尾加结点的方式建立学生信息链表并返回链头指针,然后调用SaveLink()函数,将链表数据用fprintf函数输出保存在stu.txt文本文件中,每行保存一个学生信息,每行数据用空格间隔。#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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论