2009年二级C语言模拟卷.doc_第1页
2009年二级C语言模拟卷.doc_第2页
2009年二级C语言模拟卷.doc_第3页
2009年二级C语言模拟卷.doc_第4页
2009年二级C语言模拟卷.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

二级 C程序设计 (本试卷考试时间 120 分钟) 一、单选题 ( 本大题 10 道小题 ,每小题 1 分,共 10 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。1. 下列C语言的标识符中,合法的标识符为_ A. #star B. 1234 C. _a100 D.9circuit 2.若已定义: int x; 则表达式 (x=4*5,x*5),x+25) 的值是 _。 A.20 B.100 C.125 D.45 3.若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执行语句: scanf(“x=%d, y=%f”,&x,&y,); 时,正确的键盘输入是 _ 。A. 55 55.5B. x=55, y=55.5 C.5555.5 D.x=55y=55.54.若有说明语句:int x=10,y=20,z=30; 则执行语句:if(xy) z=x; x=y; y=z; printf(“%d,%d,%d”,x,y,z); 后,输出是_ A.10,20,30 B.20,30,10 C.20,30,30 D.20,30,20 5.程序段:int num=0; while(num=2) printf(“%d ,”,num+);的运行结果是_ A.0,1, B.1,2, C.0,1,2, D.1,2,3, 6.若有说明:int a34,s; ,则对数组a的元素引用错误的是_ A.s=0; for(i=0;i3;i+) for(j=0;j4;j+) s+=aij; B.s=0; for(j=0;j4;j+) for(i=0;i3;i+) s+=aij; C.s=0; for(i=0;i4;i+) for(j=0;j3;j+) s+=aji; D.s=0; for(i=0;i3;i+) for(j=0;jname0 D.(*per).name8 D.(*s).id 10.若有以下语句:char x=3,y=6,z;z=yx2; 则z的二进制值是_ A.00011011 B.00001010 C.00011100 D.00001100 二、填空题 ( 本大题 7 道小题 ,每空 2 分,共 14 分)。1设有说明语句:int a=13, b=6; 则a/b的十进制数值为_ 22设有说明语句:int x=3, y=2; 则计算表达式(x=5) | (y=6*x) 后变量y的值是_ 23设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&b+c/2后,t的值是_ 14如果函数不要求带回值,可用_来定义函数返回值为空. void5下列程序的输出结果是_ 4,10f(int a) int i=0; while (ainext=head;head=p;三、程序填空题 ( 本大题 3 道小题 ,每空 3 分,共 30 分)。1有人说,满足公式 p=n*n+n+41 (n是正整数)的p一定是素数,下列程序验证这个说法是错误的。#include int fun(int p) int n; for(n=2;n*n=p;n+) if(p%n=0) _(1)_ ;return 1;main() int n=1,p; do p=n*n+n+41; if(!fun(p) _(2)_ ; printf(“%d是素数 n”,p);while(_(3)_ );printf(“%d=%d*%d+%d+41不是素数 n”,p,n,n,n);(1)return 0(2)break(3)+n1802下面程序的功能是:整型数组a中含N个元素,现将元素位置进行前后交换,使第0个元素与第N-1个元素交换,第1个元素与第N-2个元素交换,以此类推,最后输出交换后的数组元素。#include #define N 8int aN=3,8,5,15,9,7,20,6;main() int i,j,t; for(i=0;iN;i+) printf(%4d,*(a+i); /*输出交换前的元素*/ printf(n); for(i=0;iN/2;i+) j=_(1)_; /*需要交换的元素下标*/ t=*(a+i); _(2)_; *(a+j)=t; for(j=0;jN;i+) printf(%4d,_(3)_); /*输出交换后的元素*/ printf(n);(1)N-1-i(2)*(a+i)=*(a+j)(3) *(a+j)3将两个文本文件中字符$之前的内容合并到一个文件中去,其中函数void sub(FILE*all, FILE*f1 ,FILE *f2 )的功能是将文件指针f1,f2所指向的文件中的内容写到文件指针all所指向的文件中; main函数完成如下功能:先打开目标文件,再依次打开源文件,调用sub函数完成文件内容的拷贝。例如三个源文件 f1.txt ,f2.txt, 每个文件的内容分别如下文件名 内容f1 aaa$aaf2 bbb$bb则产生一个新的目标文件fall.txt,包括f1,f2三个文件字符$之前的内容,fall的内容为aaabbb。#include #include main()FILE *f1, *f2,*fall;void sub(_(1)_ );if (fall=fopen(_(2)_ )=NULL) printf(Cannot open file!n);exit(1); if (f1=fopen(f1.txt,r)=NULL | (f2=fopen(f2.txt,r)=NULL) printf(Cannot open file!n);exit(1); else sub(_(3)_ );_(4)_ ;fclose (f1);fclose(f2);void sub(FILE *all, FILE *f1, FILE *f2)char c;while(c=fgetc(f1)!=$) fputc( c,all);while(c=fgetc(f2)!=$) fputc( c,all);(1)FILE *all,FILE *f1,FILE *f2(2)”fall.txt”,”w”(3) fall,f1,f2(4)fclose(fall)四程序调试题 (2题,4+6=10分)1. 程序调试题1(E_3_1.c)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括E_3_1.c文件和E_3_1.exe文件)保存到目录C:KS中。功能说明:程序功能是输入正整数n(1=n=9),输出n行杨辉三角形。如:输入n=5,则输出如下图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 原程序(见C:KSE_3_1.c)#include main( ) static int a99;int i,j,k,n;scanf( %d,&n); for(i=0,in,i+) /for(i=0;in;i+) for(k=0;k18-2*i;k+) printf( ); for(j=0;j=i;j+) if(j=0|j=i) aij=1; else aij=ai-1j-1+aij-1; / aij=ai-1j-1+ai-1j; printf( ); printf(%-3d,aij); printf(t); / printf(n); 2. 程序调试题2(E_3_2.C)调试要求:下列程序有3处错误,请按题中的功能要求,在不改变程序结构(不增加、删除语句,不调整语句顺序)的情况下调试并修改该程序(在所修改语句后加/*modified*/字样的注释),使其运行能得到正确的结果。将结果(包括E_3_2.c文件和E_3_2.exe文件)保存到C:KS目录中。功能说明:程序功能是输入一个字符串(少于80个字符,以回车结束),把字符串中的数字字符(0-9)转换为整数,去掉其他字符,要求定义并调用函数long stol (char*s),s是原字符串。假设不考虑整数数据范围超限的情况。如输入: 3a56bc77rfasefg fg88fg 则输出: 3567788原程序(见C:KSE_3_2.c)#includelong stol( char *s)long number=0; while(*s!=0) if(*s=0 & *s=0 & *s=9) number=number*10+*s-0 ; s+; return number;main() char s80; gets(s80); /gets(s); printf(number=%d,stol(s); / printf(number=%ld,stol(s);五 编程题(2题,18+18=36分)1编程题1(E_5_1.c)编程要求:请按题中的功能要求,编写程序并能得到正确结果。将结果(包括E_5_1.c文件和E_5_1.exe文件)保存到目录C:KS中。功能说明:函数fun求sum=d+dd+ddd+dd.d(n个d),其中d为1-9的数字。从主函数中输入d和n,调用fun函数,并以sum=XXXXXXX的形式输出结果。如输入d=3,n=4则输出:sum=37022编程题2(E_5_2.c)编程要求:请按题中的功能要求,编写程序并能得到正确结果。将结果(包括E_5_2.c文件和E_5_

温馨提示

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

评论

0/150

提交评论