您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 浙工大C语言程序设计期末试卷12
1、12007/08一学期C程序设计试卷说明:考生应将所有答案填写在答卷上,否则无效。一、填空题(每小题2分,共20分)⑴将“若1x5则返回”写作C语句“if(1x5)return;”,是(正确/错误)的,会导致(编译/逻辑)错误。⑵执行语句for(i=1;i20;i=i+4)s=s+i;后,变量i的当前值是。⑶声明语句为floata[4][5]={{1,2},{3,4}};,表达式a[1]+2表示。⑷执行语句printf(%d,%d\n,EOF,NULL);后的显示结果为。⑸声明charstr1[20]=Borland,str2[]=C++5.0;,调用函数strcat(str1,str2);后,执行puts(str1)显示。⑹自定义函数f,用于将n个元素的float类型数组按值从小到大排序,写出该函数原型(首句)。⑺设intn=13,调用以下函数f(n)的显示结果是。voidf(intm){intk=m%2;m=m/2;if(m!=0)f(m);printf(%d,k);}⑻动态分配m个float类型数据的存储空间,并将该存储空间的首地址返回给指向float类型数据的指针变量p,语句。
2、为:。⑼语句a=3;b=5;printf(%d,%d\n,a|b,b2);的显示结果为。⑽语句a=3;b=~a;printf(%d\n,b);的显示结果为。二、程序阅读题(每小题8分,共24分)阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。1.#includestdio.hvoidmain(){inta[4][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6},{4,5,6,7}},i,j;for(i=0;i4;i++){for(j=1;j=3-i;j++)printf();for(j=3-i;j4;j++)printf(%3d,a[i][j]);putchar('\n');}}2.#includestdio.h#includestring.hintf(char*s){inti,k=0;for(i=0;s[i]!='\0';i++)if(s[i]==''){strcpy(s+i,s+i+1);k=1;break;}2returnk;}voidmain(){chara[15]=abcdefg;doputs(a);while(f(a));}3.#includestd。
3、io.hvoidf(float**a,intn){inti,j;floatc;for(i=0;in;i++){c=a[i][i];for(j=0;jn;j++)a[i][j]/=c;}}voidmain(){floatb[4][4]={{2,4,6,8},{4,2,6,8},{6,4,2,8},{8,6,4,2}};inti,j;float*c[4]={b[0],b[1],b[2],b[3]};f(c,4);for(i=0;i4;i++){for(j=0;j4;j++)printf(%6.1f,b[i][j]);putchar('\n');}}三、程序填空题(每空2分,共24分)阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。1.【程序说明】计算一元二次方程ax2+bx+c=0的实根。#includestdio.h⑴voidmain(){floata,b,c,d;⑵;d=b*b-4*a*c;if(⑶)printf(实数范围内无解!\n);else⑷;}2.【函数说明】调用函数f,可在n行n列数组中生成下图所示形式的数据。voidf(⑴){inti,j;⑵;3for(j=0;jn;。
4、j++){⑶;for(i=0;in;i++){a[i][j]=t;⑷;}}图调用函数所生成数据}3.【函数说明】h为student类型节点组成链表的头指针,删除从头节点起第1个满足条件“cj60”的节点。函数返回头指针,*flag为0表示链表中无可删除节点。类型标识符student定义为structstudent{charname[9];intcj;student*next;};student*del_stu(student*h,int*flag){student⑴;*flag=0;if(h==NULL)returnh;if(⑵){/*删除头节点*/h=h-next;free(p1);*flag=1;returnh;}while(p1-next!=NULL){⑶;/*p2指向下一节点*/if(p2-cj60){/*p2指向需删除节点则删除*/⑷;free(p2);*flag=1;break;}elsep1=p2;}returnh;}四、程序设计题(每小题8分,共32分)1.编程,输入x后按照下列公式计算y的值并输出。2.编程,输入大于1的实数x,求最小的n使得x≤1.1n。3.编写函数。
5、,将m行n列数组的每一行,同除以该行上绝对值最大的元素。4.文本文件e:\c.txt存放着程序设计基础的考试信息,每行包含学号(8位字符)和成绩(3位整数)两个数据。编程,将成绩小于60分的学生信息从文件中删除。【提示】将从e:\c.txt读出的、成绩及格的学生信息输出到新建文件中,然后删除原文件(执行remove(e:\\c.txt)语句)、改名(执行rename(新建文件名,e:\\c.txt)语句)。42007/08二学期C程序设计答卷选课班级任课教师班级学号考生姓名题号(题分)一(20)二(24)三(24)四(32)总分得分一、填空题(每小题2分,共20分)⑴,⑵⑶⑷⑸⑹⑺⑻⑼⑽二、程序阅读题(每小题8分,共24分)1._______________2._______________3.____________________________________________________________________________________________________________________________________________________。
6、_三、程序填空题(每空2分,共24分)1.⑴⑵⑶⑷2.⑴⑵⑶⑷3.⑴⑵⑶⑷四、程序设计题(每小题8分,共32分)1.编程,输入x后按照下列公式计算y的值并输出。2.编程,输入大于1的实数x,求最小的n使得x1.1n。53.编写函数,将m行n列数组的每一行,同除以该行上绝对值最大的元素。4.文本文件e:\c.txt存放着程序设计基础的考试信息,每行包含学号(8位字符)和成绩(3位整数)两个数据。编程,将成绩小于60分的学生信息从文件中删除。62007/08一学期C程序设计参考答案一、填空题(每小题2分,共20分)⑴错误,逻辑⑵21⑶第2行第3个元素的地址⑷-1,0⑸BorlandC++5.0⑹voidf(float*x,intn)⑺1101⑻p=(float*)malloc(m*sizeof(float))⑼7,20⑽-4二、程序阅读题(每小题8分,共24分)1.42.abcdefg3.1.02.03.04.045abcdefg2.01.03.04.0456abcdefg3.02.01.04.04567abcdefg4.03.02.01.0三、程序填空题(每空2分,共24分)1.⑴#in。
7、cludemath.h⑵scanf(%f%f%f,&a,&b,&c)⑶d0⑷printf(%f,%f\n,(-b+sqrt(d))/2,(-b-sqrt(d))/2)2.⑴float**a,float*x,intn⑵floatt⑶t=1⑷t=t*x[j]3.⑴*p1=h,*p2⑵h-cj60⑶p2=p1-next⑷p1-next=p2-next四、程序设计题(每小题8分,共32分)1.编程,输入x后按照下列公式计算y的值并输出。声明语句1、头文件1分、if结构3、函数引用3分。2.编程,输入大于1的实数x,求最小的n使得x1.1n。包含文件1分,声明语句1分,输入语句2分,循环结构4分while(scanf(%f,&x),x=1);while(pow(1.1,n)x)n++;3.编写函数,将m行n列数组的每一行,同除以该行上绝对值最大的元素。函数原型2分,2重循环3分,其他3分。4.文本文件e:\c.txt存放着程序设计基础的考试信息,每行包含学号(8位字符)和成绩(3位整数)两个数据。编程,将成绩小于60分的学生信息从文件中删除。打开文件2分,读文件、判断结束2分,输入格式2分,删除、改名2分。。
本文标题:浙工大C语言程序设计期末试卷12
链接地址:https://www.777doc.com/doc-5184234 .html