您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 《高级语言程序设计》实践环节考核指导
1《高级语言程序设计》实践环节考核指导(2006年2月修订)一、类型课程实验考核二、目的与要求高级语言程序设计是一门理论与实践密切结合、实践性较强的课程。本考核主要达到两个目的:1、检查学生掌握C语言基本语法的水平;2、检查学生以C语言开发、调试简单程序的能力。三、考核环境软件要求:Windows操作系统;VisualC++6.0英文版。考试系统:高等教育自学考试计算机信息管理专业考试系统四、考核内容1、C语言的简单命令、函数和基本的语法规则;2、循环、分支语法规则(特别是复杂条件式的书写规则);3、掌握一维数组和二维数组的定义及使用方法;4、函数的设计和调用方法;5、熟练掌握结构型的定义和使用方法。五、考核时间与形式考核时间为60分钟;采用闭卷形式,考生首先从考核服务器下载考核用文件到d:\2005ks下,所有答案都直接做在文件夹d:\2005ks内,最后根据考试要求把答案文件上传到考核服务器上考生自己的文件柜中(上传的答案文件不要压缩打包)。请认真阅读“考试系统”使用说明。六、注意事项1.遵守考场纪律,因计算机引起的问题请及时与监考老师联系;2.考生不要等到最后才上传答案文件,以免因最后时刻交卷人员太多造成服务器响应速度低;上传文件前务必关闭相应的软件。例如上传Word文档前应关闭Word系统。3.如果发现无法登录系统,请及时与监考老师联系,由监考老师协助处理。4.本系统采取了一定安全性措施,系统自动记录考生的登录时间和登录微机(登录时间取自服务器)。一旦发现同一时间段内有两台微机同时以某个考号登录系统,将按作弊处理。一旦发现某台微机在考试期间用两个准考证号登录过考试系统。也按照作弊处理。5.考试完毕,主动删除D盘上的相关文件夹。26.本次考试,要求熟练掌握压缩软件Winzip/Winrar的使用。能够用Winzip/Winrar压缩含有目录的文件夹和解压缩含有目录的文件夹。7.注意保护自己的二次登录密码,不要被其他考生知道。8.考生在考试前如果使用了模拟环境,请于考试开始前关闭所有浏览器窗口,然后重新登录考试服务器。七、题型与要求请参考以下样题。样题一一、(20分)请阅读以下程序“a1.c”,回答问题。#includestdio.hmain(){intn,k==0;printf(enteranumber:);scanf(%d,&n);while(n!=0){++k;n/=10;}print(Theresultis%d\n,k);}1、纠正程序中的两个语法错误,将正确的程序存入a1.c,并将程序实现的功能写在下面。2、编译运行该程序,若输入为“5436”,则输出是什么?将其输出结果写在下面。二、(40分)完善程序题目1、用起泡法对10个数进行排序。起泡法的思路是:将相邻两个数比较,将小的调到前头。请填补程序“a2.c”的空缺,改正其中的错误,并编译执行之。将正确的程序存入a2.c。假设输入以下数列“100101-577568720980”,程序的输出是什么?2、用选择法对数组中10个整数按由小到大排序。所谓选择法就是:先将10个数中最小的数与a[0]对换;再将a[1]到a[9]中最小的数与a[1]对换;……,每比较一轮,找出一个未经排序的数中最小的一个。请填补程序“a3.c”的空缺,改正其中的错误,并编译执行之。将正确的程序存入a3.c假设输入以下数列“10098-1077568720984”,程序的输出是什么?第1题程序a2.c第2题程序a3.c3#includestdio.hvoidmain(){inta[11];inti,j,t;printf(input10numbers:\n);for(i=1;i11;i++)scanf(%d,&a[i]);printf(\n);for(j=1;j=9;j++)for(i=1;i=10-j;i++)if(a[i]a[i+1]){t=____________;a[i]=_____________;a[i+1]=____________;}printf(thesortednumbers:\n);for(i=1;i11;i++)printf(%d,a[i]);}voidsort(array,n)intarray[];intn;{inti,j,k,t;for(i=0;in-1;i++){k=i;for(j=i+1;jn;j++)if(array[j]array[k])k=j;t=___________;array[k]=___________;array[i]=________________;}}main(){inta[10],i;printf(enterthearray\n);for(i=0;i10;i++)scanf(%d,&a[i]);sort(a,10);printf(thesortedarray:\n);for(i=0;i10;i++)printf(%d,a[i]);printf(\n);}三、编写程序(40分)求解方程x2+5y2=z2(0xyz20)的所有整数解。将调试正确的程序存入文件“a4.c”。再将所有的解答写在下面:样题二一、(20分)编译以下程序“b1.c”,然后回答问题。swap(pt1,pt2)int*pt1,*pt2;{intp;p=*pt1;*pt1=*pt2;*pt2=p;}exchange(q1,q2,q3)int*q1,*q2,*q3;{if(*q1*q2)swap(q1,q2);if(*q1*q3)swap(q1,q3);if(*q2*q3)swap(q2,q3);}main(){inta,b,c,*p1,*p2,*p3;scanf(%d,%d,%d,&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);printf(\n%d,%d,%d\n,a,b,c);}1、简述函数swap()的功能。2、假设输入为“98,0,100”,则程序输出是什么?4二、完善程序或程序纠错(40分)1、用递归方法求n!1(n=0,1)n!=n·(n-1)!(n1)请填补程序“b2.c”的空缺,改正其中的错误,并编译执行之。将正确的程序存入b2.c。请将15!的结果写在下面:2、这是一个利用插入法排序的程序b3.c,请纠正这个程序中的错误。第1题程序b2.c第2题程序b3.c:doublefac(n)intn;{doublef;if(n0)printf(n0,dataerror!);elseif();elsef=;return(f);}main(){intn;doubley;printf(inputaintegernumber:);scanf(%d,&n);y=fac(n);printf(%d!=%15.0f,n,y);}#includestdio.hvoidmain(){intxx[20],yy[20];intx,y,x0,n,nn;for(x=0;x20;x++)read(%d,xx[x]);nn=0;for(x=0;x20;x++){x0=xx[x];y=0;while(yy[y]x0&&ynn)y++;if(nn=y)yy[y]=xoelse{n=nn;while(ny){yy[n]=yy[n-1];n--;}yy[y]=x0;}nn++;}for(y=0;y20;y++)printf(%d,yy[y]);printf(\n);}三、编写程序(40分)有一个一维数组,内放10个学生成绩,写一个函数,求出平均分,最高分和最低分。将调试正确的程序存入文件“b4.c”。假设输入以下成绩“9945789710067.589926643”,程序的输出是什么?样题三一、(20分)请阅读以下程序“c1.c”,回答问题。#includestdio.hmain(){voidchange();charc,*p=&c,bb;while((*p=getchar())!='\n'){bb=2;change(p,&bb)if(bb=1)printf(%c,*p);}}voidchange(char*pc,char*aa){if(*pc='a'&&*pc='z')*aa=1;}1、纠正程序中的两个语法错误,将正确的程序存入c1.c,并将程序实现的功能写在下面。52、编译运行该程序,若输入为“HowAreYou”,则输出是什么?将其输出结果写在下面。二、完善程序或程序纠错(40分)1、找出1-n之间的所有素数,并显示在屏幕上。N由用户输入,为负值则报错。请把程序补充完整。2、从键盘上输入一个字符串,然后利用指针将其中的数字和字母分别存入数组a和b中,然后把他们分别输出。请把程序补充完整。第1题程序第2题程序includestdio.hvoidmain(){intn,m,k;scanf(“%d”,&n);if(n0){for(m=2;m=n;m++){forif(m%k==0)__________if(m==k)printf(“%d,”,m);}}elseprinf(“Error!”);}#includestdio.hvoidmain(){intn=0,m=0;chara[80],b[80],c[80];char*p=c;gets(p);while(*p!=’\0’){if___________{a[m]=*p;m++;p++;}else{b[n]=*p;n++;p++;}}a[m]=’\0’;b[n]=’\0’;;}三、编写程序(40分)编写程序求解百钱买百鸡问题。已知大公鸡三文钱一只,大母鸡两文钱一只,小鸡一文钱买三只。现有100文钱,想买100只鸡,请编写程序atest.c解决这个问题。样题四一、(20分)请阅读以下程序“d1.c”,回答问题。#includestdio.hmain(){charchintsum=0;for(;;){ch=getchar();if(ch=='\n')break;if(ch='A'&&ch='Z')sum++;}printf(sum=%d,sum);}1、纠正程序中的两个语法错误,将正确的程序存入d1.c,并将程序实现的功能写在下面。2、编译运行该程序,若输入为“GoodMorning!!”,则输出是什么?将其输出结果写在下面。二、完善程序或程序纠错(40分)1、有学生信息如下,学号(整型),姓名(字符串型),三门课的成绩(均为实型)。下面程序的功能是输入20名学生的信息,并计算每位学生的总分,最后输出这些学生的有关6资料。纠正d2.c程序中存在的两个错误。2、有一递推数列,满足条件:f(0)=0f(1)=1f(n)=f(n-1)+4f(n-2)考盘“考核试题”文件夹中的程序“d3.c”可根据输入的n值计算f(n)。请填补该程序中的空缺,改正其中的错误,并编译执行之。将正确的程序存入d3.c。请将f(10)的结果写在下面:第1题程序d2.c第2题程序d3.cstructurestudent;{intno;charxm[10];intscore[3],zf;}stu[20];voidmain(){intn,k;for(n=0;n20;n++){printf(“请输入第%d个学生信息:”,n+1);scanf(“%d”,stu[n].num);scanf(“%s”,stu[n].xm);stu[n].zf=0;for(k=0;k3;k++){scanf(“%d”,stu[n].score[k]);stu[n].zf=stu[n].zf+stu[n].score[k];}}printf(“现在输出结果:\n”);for(n=0;n20;n++)printf(“%d%s%d%d%d%d\n”,stu[n].no,stu[n].xm,stu[n].score[0],stu[n].score[1],stu[n].score[2],stu[n].zf);}includestdio.hvoidmain(){longintx0,x1,x
本文标题:《高级语言程序设计》实践环节考核指导
链接地址:https://www.777doc.com/doc-941296 .html