版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是(D)。A)C语句必须以分号结束B)任何一个C程序中有且只有一个主函数C)复合语句在语法上可被看作一条语句D)C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。A)MAINB)_HJC)20ngD)LINE13、以下能正确定义一维数组的是(C)。A)inta5=0,1,2,3,4,5;B)inta5="012345”;C)chara="012345"D)chara5=0,1,2,3,4,5;4、执行下列程序段后输出的结果是(C)。x=9;wh
2、ile(x>7)printf(“*”-%xA)*B)*C)*D)*5、设charstr110="ABCDS,str210="xyz”;D) 0则执行语句printf("d”,strlen(strcpy(str1,str2)后的输出结果是解析:strcpy(str1,str2);后,str1里是"XYZ",Z后面有字符串结束符strcpy(str1,str2);执行后,函数返回的是str1,因为str1里是新值"XYZ",而strlen(strcpy(str1,str2)就是strlen(str1的新值),所以得3str
3、len统计到字符串结束符以前,即,不计入字符串结束符。A)9B)8C)5D)36、若用数组名作为函数调用的实参,则传递给形参的是(A)。A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为(C)A)voidB)doubleC)intD)char8、下面不能正确进行字符串赋值操作的语句是(C)。A)chars5="ABCD"B)chars5;s="ABCD"C)char*s;s="ABCDEF"D)char*s="ABCD"解析
4、:这样理论上的没错的把s指针指向字符串可以改变s指针但不能改变其指向的值正确的应该是这样chars="ABCDEF"或chars8;strcpy(s,"ABCDEF");9、设有说明ints5=1,3,5,7,9;int*p=s;则下列表达式中值为3的是(C)。A)+pB)+(*p)C)*(+p)D)*(p+=2)解析:A是把p得地址后移一个int单位长度,即使p指向数组的第二个元素。B是取得p当前指向的元素值然后加1,即1+1=2;C是先移动p,使其指向第二个元素,然后取得当前指针指向的元素值,即3.D是先使p指向数组的第三个元素,然后去的当前指针指向
5、的元素的值,即5。1R下面程序的卒&出结果是(B)intm=13;intfun(intx,inty)intm=3;return(x*y-m);main()inta=7,b=5;printf(“%n”d,fun(a,b)/m);A)1B)2C)3D)10二、填空题。(每空2分,共30分)1 .设有变量说明语句:intx=1,y=2;则执行下述printf语句的输出结果是_1.000000_printf("%fn",1.0+x/y);2 .执行下述程序:#include<stdio.h>main()intx,y;scanf("%2d%*2s%1d&
6、quot;,&x,&y);printf("%dn",x+y);若从键盘输入:12345671则程序的输出结果是_17_。解析:x,y为int类型,x的长度为2,y的长度为1,即x为12,y为5,故x+y=173 .以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。#include<stdio.h>main()floatx,amax,amin;scanf("%f",&x);amax=x;amin=x;while(x>0)if(x>
7、;amax)amax=x;elseif(x<amin)amin=x;scanf("%f,&x);printf("namax=%fnamin=%fn",amax,amin);4 .设n是整型变量,且已具有某正整数值。根据下述数学式111111122334nn1求s的值并输出。可编写如下之程序段来实现。请填空。intk;doubles,d;s=0.0;d=1.0;k=0;dos=s+d;_k+;d=1.0/(k*(k+1);while(k<=n);printf("%fn",s);5 .执行下述程序白输出结果是-3下0443#in
8、clude<stdio.h>main()inta6,i;for(i=0;i<6;i+)ai=9*(i-2+4*(i>3)%5;printf("%3d",ai);printf("n");解析:(i>3)为真时值为1,反之为0,6 .执行下述程序白输出结果是6o#include<stdio.h>main()inta=2,4,6,*ptr=&a0,x=8,y,z;for(y=0;y<3;y+)z=(*(ptr+y)<x)?*(ptr+y):x;printf("%dn",z);7
9、.执行下述程序白输出结果是60#include<stdio.h>main()inta2=10,20,30,40,50,60,(*p)2;p=a;printf("%dn",*(*(p+2)+1);8 .执行以下程序白输出结果是_10_0#include<stdio.h>main()ints,i,sum();for(i=1;i<=10;i+)s=sum(i);printf("s=%dn",s);sum(intk)intx=0;return(x+=k);9 .下述函数定义用来求出两个整数之各,并通过函数的模拟传地址调用,传回两整数
10、相加之和值,请填空。voidadd(intx,inty,int*z)*z=x+y;10.函数func的功能是将整型变量x的值转换成二进制数,并将该二进制数的每一位存入由整型指针b所指向的一维数组a最低位存放于a中,次低位存放于a1中,依此类推。请填空。voidfunc(intx,int*b)intr;dor=x%2;=r;x/=2;while(x);11以下程序中函数invert实现将数组内所有数组元素的值逆置。比如,执行本程序将输出:10987654321请填空。#include<stdio.h>main()inta10=1,2,3,4,5,678,9,10,i,n=10;inv
11、ert(a,n-1);for(i=0;i<10;i+)printf("%3d",ai);printf("n");invert(int*s,intnum)int*t,k;t=s+num;while(t>s)k=*s;*s=*t;*t=k;s+;t-;12若有以下定义和说明,则结构体变量w在内存中所占的字节数是unionaafloatx;floaty;charc6;structstunionaav;floatw5;doubleave;w;13.执行下述程序的输出结果是#include<stdio.h>structstrfloatx;c
12、har*y;*m;structstrgroup3=95.0,"Li",82.5,"Wang",73.5,"Sun"main()m=group;printf("%.lf,%sn",m->x,m->y);14下面的程序用来统计某文件中字符的个数。请填空#include<stdio.h>#include<stdlib.h>main()FILE*fp;longnum=0;if(fp=fopen("fnam.dat","r")=NULL)printf
13、("Can'topenthisfile!n");exit(0);while()fgetc(fp);num+;printf("num=%dn",num);fclose(fp);15执行下述程序后,输出结果为,#include<stdio.h>#defineFUN1(a,b)a+b#defineFUN2(a,b)a-b#defineCAL(a,b)a*b+a+3main()编辑版wordprintf("%dn",CAL(FUN1(3,5),FUN2(4,5);三、修改程序(在程序出错的语句下划横线并标号,把修改后的语句
14、写在程序之后的横线上。每小题5分,共10分)I .下列给定程序的功能是:读入一个整数(2<=k<=10000),打印它的所有质因子(即所有为素数的因子)。例如,若输入整数2310,则应输出2、3、5、7、II 。#include<conio.h>#include<stdio.h>IsPrime(intn);inti,m;m=1;for(i=2;i<n;i+)if!(n%i)m=0;continue;return(m);main()intj,k;printf(n“Pleaseenteranintegernumberbetween2and10000:”);
15、scanf(“%d”,k);,k);printf(nTheprimefactor(s)of%dis(are):for(j=2;j<=k;j+)if(!(k%j)&(IsPrime(j)printf(n%4d”,j);printf(n");2,下列给定程序中,函数fun的功能是:逐个比较ab两个字符串对应位置中的字符,把ASCII值大或等于的字符一次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串为:aBcdeFgh#include<stdio.h>#include<string.h&g
16、t;voidfun(char*p,char*q,char*c)intk=1;while(*p!=*q)if(*p<*q)ck=*q;elseck=*p;if(*p)p+;if(*q)q+;k+;main()chara10="aBCDeFgh”,b10=ABcd”,c80=""fun(a,b,c);printf("Thestringa:");puts(a);printf("Thestringb:");puts(b);printf("Theresult:");puts(c);四、阅读下列程序,在程序后面
17、的横线上,写出该程序的功能或给出运行结果(每小题5分,共20分)1. #include<stdio.h>voidmain()charch;intk=0;for(ch='A;ch<'H'ch+,k+)if(k%2=0)printf("%c,ch);printf(n");输出结果:2. #include<stdio.h>voidmain()intk=0;charc='A';doswitch(c+)case'A:k+;break;case'B'-;kcase'C':k+=
18、2;break;case'D':k=k%2;break;case'E':k=k*10;break;default:k=k/3;k+;while(c<'G');printf("n",k);输出结果:3. #include<stdio.h>voidmain()inta6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j;for(i=0;i<6;i+)for(j=0;j<6;j+)if(ai=bj)break;if(j<6)printf("d',a
19、i);printf(n");输出结果:4. #include<stdio.h>voidmain()inta8=1,0,1,0,1Q1,0,i;for(i=2;i<8;i+)ai+=ai-1+ai-2;for(i=0;i<8;i+)printf("d',ai);printf(n");输出结果:五、编程题(本大题20分,第一题8分,第二题12分)1、计算分段函数的值:E1俨(x<0)Y=2*x2-2(x>=0)编程实现。2、输入10个学生3门课的成绩,用函数实现:找出最高的分数所对应的学号和成绩。模拟试卷十一参考答案:一、单
20、选题1) D2)C3)C4)C5)D6)A7)C8)C9)C10)B二、填空题1、1.0000002、173、x>0.04、k=k+15、-3-404436、67、608、109、int*z10、*(b+)11、t>s12、4213、95,Li14、fgetc(fp)!=EOF15、29三、改错题1、IsPrime(intn);改为IsPrime(intn)scanf("%d'用为scanf("%d&k);if!(n%i)m=0;continue;改为if(!(n%i)m=0;continue;if(!(k%j)&(IsPrime(j)改为if(!(k%j)&(IsPrime(j)2、studio.h改为stdio.hvoid;fun(char*p,char*q,char*c);改为voidfun(char*p,char*q,char*c)k=1改为k=0while(*p!=*q)改为while(*p)|(*q)k+后添加一个四、阅读程序1、ACEG2、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度混凝土泵送工程质量验收与支付结算合同
- 2024年度技术服务合同:人工智能软件开发与应用委托协议
- 2024年度工厂标识牌购买合同
- 2024年度工业区物业清洁与维护合同
- 思科端口安全官方
- 2024年度环保搬迁项目拆迁补偿合同服务内容扩展
- 2024年度旅游公司实习生合同:旅游规划与导游服务
- 2024年度仇媛项目施工合同
- 2024年度健身器材采购与代售合同
- 反腐倡廉警示教育心得体会
- 电子政务概论-形考任务5(在线测试权重20%)-国开-参考资料
- 构美-空间形态设计学习通课后章节答案期末考试题库2023年
- 小学五年级家长会课件22
- 前置胎盘案例分析模板(sp病人及评分
- 公共卫生服务管理ppt课件
- 备品备件管理规定
- 幼儿园午睡巡查记录表
- 急性胃肠炎病历模板4页
- 激发农村学生主动学习的策略(开题报告)
- 6S推行计划表
- 上海市重点建设项目社会稳定风险评估咨询收费办法
评论
0/150
提交评论