C语言程序设计模拟试卷及参考答案.doc_第1页
C语言程序设计模拟试卷及参考答案.doc_第2页
C语言程序设计模拟试卷及参考答案.doc_第3页
C语言程序设计模拟试卷及参考答案.doc_第4页
C语言程序设计模拟试卷及参考答案.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计模拟试卷及参考答案 第11页/共11页C语言程序设计模拟试卷及参考答案试卷一说明:考生应将所有答案填写在答卷上,否则无效。一、填空题(每小题2分,共20分) 判断变量a、b中必有且只有一个为0的逻辑表达式为 。 若a=52、b=23、c=-19,表达式“(y=(ab)?a:b)c)?y:c”的值为 。 执行程序段“y=1;x=5; while(-x) y+;”后,y的值为 。 数组声明为“int a66;”,表达式“*a+2”是指 。 声明“char s120=张三56;”后,使字符串s1为张三的赋值表达式为 。 在一维float类型数组中查找并返回最大值与最小值的函数f原型是 。 动态分配n个double类型数据存储空间并将首地址返回指针变量p,写作 。 x、y均为结构体类型变量,语句“x=y;”在 的条件下可以执行。 执行“n=-37; n=25; m=n25;后”,m的值为 。 执行“a=3; b=-7; c=a&b;”后,c的值为 。二、程序阅读题(每小题8分,共24分)阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。1. #include void main() float a43=2.3,-1.5,2.6,1.2,13.4,-3.2,2.1,1.4,-2,6.2,1.4,2; int i,j,i0=0,j0=0; float c; for(i=0;i4;i+) for(j=0;jai0j0) i0=i;j0=j; for(j=0;j3;j+) c=a0j;a0j=ai0j;ai0j=c; for(i=0;i4;i+) for(j=0;j3;j+) printf(%5.1f,aij); putchar(n); 2. #include void f(int x) int y=x%10; printf(%dn,y); if(x/10) f(x/10); void main() f(1234); 3. #include #include int f(char *s) int i; for(i=0;si!=0;i+) if(si=_) strcpy(s+i,s+i+1);return 1; return 0; void main() char ss40=Windows_xp,word_2003,VB_6.0,VC_6.0; while(f(ss) puts(ss); 三、程序填空题(每空2分,共24分)阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。1.【程序说明】输入正整数x,求k1、k2、k3、k4、k5使得x50k120k210k35k4k5,且k1k2k3k4k5为最小。 void main() int x,k1,k2,k3,k4,k5; while(scanf(%d,&x), ); k1=x/50; x=x%50; k2=x/20; ; k3=x/10; x=x%10; ; k5=x%5; printf(%d,%d,%d,%d,%dn,k1,k2,k3,k4,k5); 2【函数说明】下列程序计算方程ax2bxc0的实根。 #include #include struct root ; ; root f(float a,float b,float c) ; x.x1=(-b+sqrt(b*b-4*a*c)/2/a; x.x2=(-b-sqrt(b*b-4*a*c)/2/a; ; void main() float a,b,c; root y; scanf(%f%f%f,&a,&b,&c); if(b*b-4*a*c0) printf(方程无实根n); else y=f(a,b,c); printf(x1=%f,x2=%fn, ); 3.【函数说明】head为stu类型节点组成链表的头指针,删除所有满足条件“cjcjnext!= ) ; if(p2-cjnext=p2-next;free(p2); return head; 四、程序设计题(1、2小题各10分,第3小题12分,共32分)1. 编程,输入若干个数x,输出函数x=sin(y)所对应的y值(角度值)。当输入的x之绝对值大于1时运行结束。2. 编写通用函数,将double类型一维数组按值从小到大排序。3. 文本文件e:c.txt 中按统一格式,每行12个字符分别为:学号(8位字符)、考试成绩(3位整数)、交作业次数(1位整数)。编程,更新该文件中的信息,将所有学生成绩再加交作业次数(大于100按100写入)。参考答案一、填空题(每小题2分,共20分) a*b=0 & a+b!=0 -19 5 第1行第3个元素的地址 s14=0; void f(float* a,int n,float* max, float* min) p=(double*)malloc(n*sizeof(double) x、y为相同类型 -37 1 二、程序阅读题(每小题8分,共24分)1. 1.2 13.4 -3.2 2. 4 3. Windowsxp,word_2003,VB_6.0,VC_6.0 2.3 -1.5 2.6 3 Windowsxp,word2003,VB_6.0,VC_6.0 2.1 1.4 -2.0 2 Windowsxp,word2003,VB6.0,VC_6.0 6.2 1.4 2.0 1 Windowsxp,word2003,VB6.0,VC6.0 三、程序填空题(每空2分,共24分)1. #include xnext; NULL p2=p1-next;四、程序设计题(1、2小题各10分,第3小题12分,共32分)1. 编程,输入若干个数x,输出函数x=sin(y)所对应的y值(角度值)。当输入的x之绝对值大于1时运行结束。重点依次为:循环结构与控制,头文件,函数asin,输入/出2. 编写通用函数,将double类型一维数组按值从小到大排序。重点依次为:形参设置,算法正确性3. 文本文件e:c.txt 中按统一格式,每行12个字符分别为:学号(8位字符)、考试成绩(3位整数)、交作业次数(1位整数)。编程,更新该文件中的信息,将所有学生成绩再加交作业次数(大于100按100写入)。重点依次为:文件读写(注意格式)函数,文件结束标志,打开、关闭,文件删除与更名试卷二说明:考生应将所有答案填写在答卷上,否则无效。一、程序阅读题(每小题8分,共24分)阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。 1. #include void main() int a6=12,4,17,25,27,16,b5=5,13,4,24,32,i,j; for(i=0;i6;i+) for(j=0;j5;j+) if(ai%bj=0)break; if(j5) printf(%dn,ai); 2. #include void main() char a8,temp; int i,j; for(i=0;i7;i+) ai=A+i; for(i=0;i4;i+) temp=a0; for(j=1;j7;j+) aj-1=aj; a6=temp;a7=0; printf(%sn,a); 3. #include /* 写出运行时依次输入 1、5、-3、-13、0的输出结果。*/ void main() short a,b16,i; /* sizeof(short)为2,short类型数据占2个字节、16个 */ while(1) /* bit的存储空间,以补码形式存储整型数据。*/ scanf(%d,&a); if(a=0) break; for(i=15;i=0;i-) bi=a&1; a=a1; for(i=0;i16;i+) printf(%d,bi); putchar(n); 二、程序填空题(每空2分,共32分)阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。 1.【程序说明】函数f1在字符串s1中查找并返回子串s2第一次出现的地址。若s1指向WINDOWS、s2指向DO则函数返回s1+3,若s1指向WindowS、s2指向DO则函数返回NULL。 char *f1( char s1, char s2) int i,j, m; m = for(i=0; istrlen(s1)-m;i+) for(j=0; ;j+) if(s1i+j!=s2j) break; if( ) return s1+i; return ; 2【程序说明】下列函数用选择法对double类型数组按值从小到大排序。 void sort( ) int i,j,k; double t; for( i=0; ;i+) k=i; for(j=i+1;jn;j+) if( ) k=j; t=ai; ai=ak: 3.【程序说明】下列程序运行时可显示所输入的二维数组中最大值,以及其所在的行、列号。 #include void f(float *a, int m,int n, float *max, ) int i,j; for(i=0;im;i+) for(j=0;j=a*i0*j0) *max=aij; *i0=i; *j0=j; void main() float b34,*c3= ,x; int i,j,m,n; for(i=0;i3;i+) for(j=0;jnext; free(p2); if(head=NULL) return NULL; p1=head;p2=p1-next; while(p2!=NULL) if(p2-numnext; else p1=p2; ; return(head); 三、程序设计题(10、10、10、14分,共44分) 1编程,输入x值,按下式计算并输出y值。 2. 输入20个点的x、y坐标值,统计落在下图中阴影部分的点的个数,并输出统计结果。 3. 编制函数,返回一元n次代数多项式的值。4. 文件e:aaa.txt中存放了若干行数据,表示姓名、成绩。每行格式如下所示,将其中成绩小于60的各行数据写入到文件e:bbb.txt中。 张三 78 李四 69 王五 57 .参考答案一、程序阅读题(每小题8分,共24分) 1. 12 2. BCDEFGA 3. 0000000000000001 4 CDEFGAB 0000000000000101 25 DEFGABC 1111111111111101 16 EFGABCD 1111111111110011 二、程序填空题(每空2分,共32分) strlen(s2) jm j=m NULL double *a, int n in-1 ajnumnext=p2-next p2=p2-next 三、程序设计题(10、10、10、14分,共44分) 1 #include #include void main() float x,y; scanf(%f,&x); if(x-5) y=sin(x)+5; else if(x=5) y=x*x; else y=x+3; printf(%fn,y); 2. #include void main() float x,y; int i,n=0; for(i=1;i=1 & x*x+y*y=4) n+; printf(%dn,n); 3. float f(float *a, int n,float x) float y=a0,t=1; int i; for(i=1;i=n;i+) t=t*x; y=y+ai*t; return y; 4. #include void main() FILE *f1,*f2; char n9; int c; f1=fopen(e:aaa.txt,r); f2=fopen(e:bbb.txt,w); while(!feof(f1) fscanf(f1,%s%d,n,&c); if(c60) fprintf(f2,%s %dn,n,c); fclose(f1); fclose(f2); 试卷三说明:考生应将所有答案填写在答卷上,否则无效。一、程序阅读题(每小题8分,共24分)阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。 1. #include void main() int a6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j; for(i=0;i6;i+) for(j=0;j6;j+) if(ai=bj)break; if(j6) printf(%dn ,ai); 2. #include void main() char a8,temp; int i,j; for(i=0;i7;i+) ai=a+i; for(i=0;i4;i+) temp=a0; for(j=1;j7;j+) aj-1=aj; a6=temp;a7=0; printf(%sn,a); 3. #include int f1(int k) if(k=1) return 1; return k*f1(k-1); int f2(int m,int n) return f1(m)/f1(n)/f1(m-n); void main() int i,j; for(i=0;i4;i+) for(j=0;j=i;j+) printf(%3d,f2(i,j); putchar(n); 二、程序填空题(每空3分,共36分)阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。 1.【程序说明】函数f1在字符串s1中查找并返回子串s2第一次出现的地址。若s1指向WINDOWS、s2指向DO则函数返回s1+3,若s1指向WindowS、s2指向DO则函数返回NULL。 char *f1( char *s1, char *s2) int i,j, m; m = for(i=0; istrlen(s1)-m;i+) for(j=0; ;j+) if(s1i+j!=s2j) break; if( ) return s1+i; return ; 2【程序说明】下列过程用选择法对double类型数组按值从小到大排序。 void Sort( ) int i,j,k; double t; for( i=0; ;i+) k=i; for(j=i+1;jn;j+) if( ) k=j; t=ai; ai=ak:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论