您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > C语言程序设计考试模拟题(V20090531)
1C语言程序设计期末考试模拟题0课程成绩组成与考试环境(1)课程成绩=平时成绩(100分制)×0.3+考试成绩(100分制)×0.7。(2)平时成绩中,教师应考虑30分以上的成绩为团队互助与协作能力考核。(3)考试成绩=程序设计能力模块成绩×0.7+编程规范与算法表示模块成绩×0.3注意:程序设计能力模块和编程规范与算法表示模块为必过(模块成绩≥60分)模块,若期末考试中有其中任一模块未通过,则课程成绩置为缓考,须在下学期开学时重考相应的模块,重考模块的成绩将打8折,即模块成绩=考试卷面成绩×0.8。若经过下学期开学时重考后还有模块未通过,则课程成绩置为58分以下,学生应在以后学年重修本课程。考试在机房闭卷上机完成,即闭卷机考。程序调试环境为MicrosoftVC6.0。1程序设计能力模块100分、150分钟1.1程序调试、修改10小题、40分给出的程序可能存在语法或算法上的问题或需要补充完整,但需要修改的地方肯定在/*******Found*******/下的第一行上且每行仅有一个(类)错误,不能修改其它地方,不能修改或删除/*******Found*******/本身,遵循最少修改、保持一行一条语句及{与}单独一行的原则。由于是计算机自动阅卷,修改时不能增加行或删除行,哪怕是一个空行都不行,否则可能得0分。应当提醒考生的是:由于考生在考前作了大量练习,知道考题的大概考法——实际考题与此公布的考题肯定会有所变化、程序需要修改调试的地方会有所不同,因此,请考生考试时务必仔细阅读实际考题的要求,严格按实际考题的要求做,避免先入为主,切记!以下需要调试、修改的程序供考生复习本题型的考点、考法使用,实际考题与此将有所区别,并且是以C语言源程序文件的形式提供——非在Word中修改。(1)从键盘读入一个数并在屏幕上显示#includestdio.hvoidmain(){inti;/*********Found************/scanf(%d,i);/*********Found************/printf(i=%5f\n,i);}2(2)调用函数,显示两个实数间最大的一个#includestdio.hfloatfmax(floatx,floaty);voidmain(){/*********Found************/floati,0;O=3.0;i=5.6;/*********Found************/printf(fmax(%5.2f,%5.2f)=%5.2f\n,i,O,fmaX(i,O));}/*********Found************/intfmax(floatx,floaty){if(xy)returny;elsereturnx;}(3)将字符串yy在屏幕上输出#includestdio.hvoidmain(){/*********Found************/charyy[100]=ok??\n;/*********Found************/f0r(;*yy;yy++){putchar(*yy);}}(4)计算半径为2+3的圆的面积#includestdio.h#definePI3.14/*********Found************/#defineS(r)PI*r*rvoidmain(){/*********Found************/intmianJi;mianJi=S(2+3);printf(mianji=%5.2f\n,mianJi);}(5)将字符串yy显示在屏幕上#includestdio.h3voidmain(){/*********Found************/charyy[100]=ok??\n/*********Found************/print(%s,yy);}(6)从键盘读入一行字符(包括空格、TAB等字符)并在屏幕上显示#includestdio.hvoidmain(){/*********Found************/charyy(128);/*********Found************/getchar(yy);/*********Found************/printf(%S,yy);}(7)判断x和y是否相等,相等则显示x=y,不等则显示xy#includestdio.hvoidmain(){/*********Found************/charx,y;x=39270;y=41001;/*********Found************/if(x=y){printf(x=y);}/*********Found************/else;{printf(xy\n);}}(8)打开文件d:\te.c用于读并判断打开是否成功#includestdio.hvoidmain(){FILE*fp;/*********Found************/charfileName[]=d:\te.c;/*********Found************/fp=fopen(fileName,w);4/*********Found************/if(fp==EOF){puts(FileOpenError!);exit(1);}putchar(fgetc(fp));fclose(fp);}(9)申请100个字节的内存空间,显示其首地址,然后释放申请到的内存空间#includestdio.h#includealloc.hvoidmain(){/*********Found************/charp[100];/*********Found************/if(p=(char*)malloc(100)==NULL){printf(mallocmemoryfail!\n);return;}printf(%p\n,p);/*********Found************/fclose(p);}(10)将字符串p显示在屏幕上#includestdio.h/*********Found************/#defineBEGIN/*********Found************/#defineENDvoidmain(){char*p=13125176247;constinti=0;for(printf(\n);p[i];)BEGINputchar(p[i]);/*********Found************/i++;END}(11)计算1/1+1/2+…+1/N之和并显示#includestdio.h#defineN10voidmain()5{/*********Found************/intsum=0;inti;for(i=1;i=N;i++){/*********Found************/sum+=1/i;}printf(%8.6f\n,sum);}(12)从键盘读入a和b的值(输入格式为a,b),在屏幕上显示b行a#includestdio.hvoidmain(){inta,b;/*********Found************/scanf(%d%d,&a,&b);while(b0)/*********Found************/___________printf(%d\n,a);b--;/*********Found************/___________printf(byebye!\n);}(13)从键盘输入最多10个字符(遇换行则停止输入)到数组Buf中,然后在屏幕上显示#includestdio.hvoidmain(){charc,Buf[11];inti;/*********Found************/for(i=1;i=10;i++){/*********Found************/if((c=getchar()=='\n'){break;}Buf[i]=c;}/*********Found************/___________printf(%s\n,Buf);}6(14)调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值#includestdio.h/*********Found************/voidswap(intx,inty){inttmp;/*********Found************/___________*x=*y;/*********Found************/y=x;}voidmain(){inta=3,b=4;/*********Found************/swap(a,b);printf(a=%db=%d\n,a,b);}(15)调用函数swap,将a和b的值交换,最后在屏幕上显示交换后的a,b之值#includestdio.hvoidswap(int*x,int*y){int*tmp,xy;/*********Found************/*tmp=x;*x=*y;/*********Found************/y=*tmp;}voidmain(){inta=3,b=4;/*********Found************/swap(*a,*b);/*********Found************/printf(a=%db=%d\n,&a,&b);}(16)worker的信息使用结构体存储,从键盘读入其各项信息并显示#includestdio.hvoidmain(){structWKER{longID;7longintnum;charname[20];charsex;/*********Found************/};worker.ID=1L;/*********Found************/scanf(%d%s%s,&worker.num,worker.name,&worker.sex);/*********Found************/printf(worker'sinfo:num=%dname=%ssex=%s\n,worker.num,worker.name,worker.sex);}(17)函数userLogin的功能主要是统计并返回登录的用户数,用户名最长30字节#includestdio.hlonguserLogin(char*userName){/*********Found************/longuserCount=0;userCount++;printf(welcomeuser%s.Therehave%ldusersinsystem.\n,userName,userCount);/*********Found************/return;}voidmain(){/*********Found************/char*userName;inti;while(1){printf(userName:);scanf(%s,userName);i=userLogin(userName);}}(18)从键盘上读入10个大于0的数,调用函数dispMaxNum显示其中最大的一个#includestdio.hintmaxNum=0;voiddispMaxNum(){/*********Found************/printf(maxNumber=%d\n,maxNumber);}voidmain(){inti,oneNumber,maxNumber=0;8printf(Pleaseinput10intnumber:);{intmaxNumber=0;/*********Found****
本文标题:C语言程序设计考试模拟题(V20090531)
链接地址:https://www.777doc.com/doc-2908302 .html