C语言程序设计模拟试题3(附答案)_第1页
C语言程序设计模拟试题3(附答案)_第2页
C语言程序设计模拟试题3(附答案)_第3页
C语言程序设计模拟试题3(附答案)_第4页
C语言程序设计模拟试题3(附答案)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计模拟试卷三一、填空题。(每空2分,共16分)1 .在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。2 .一个C语言文件是由若干个组成。3 .设有以下变量定义,并已赋确定的值charw;intx;floaty;doublez;则表达式:w*x+z-y所求得的数据类型为。4 .若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式。5 .若有如下图所示五个连续的int类型的存储单元并赋值如下图,a0的地址小于a4的地址。p和s是基类型为int的指针变量。请对以下问题进行填空。a0a1a2a3a42233445566(1)若p已指向存储单元a1

2、。通过指针p,给s赋值,使s指向最后一个存储单元a4的语句是:(2)若指针s指向存储单元a2,p指向存储单元a0,表达式s-p的值是。二、单项选择题。(每题2分,共40分)1 .设有intx=11;则表达式(x+*1/3)的值是()。A)3B)4C)11D)122 .下列程序的输出结果是()。A)3B)3.2C)0D)3.07main()doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d,d*y);3 .下列程序执行后的输出结果是(小数点后只写一位)()。A) 666.06.0B)666.76.73 / 13C)666.06.7D)66

3、6.76.0main()doubled;floatf;longl;inti;i=f=l=d=20/3;printf("%d%ld%f%fn",i,l,f,d);scanf("%d",&d);4下列变量定义中合法的是()。A)short_a=1-.le-1;B)doubleb=1+5e2.5;C)longdo=0xfdaL;D)float2_and=1-e-3;5设intx=1,y=1;表达式(!x|y-)的值是()。A)0B)1C)2D)-16与y=(x>0?1:x<0?-1:0);的功能相同的A)if(x>0)y=1;else

4、if(x<0)y=-1;elsey=0;C)y=-1if(x)if(x>0)y=1;elseif(x=0)y=0;elsey=-1;7以下循环体的执行次数是(A)3B)2C)1main()inti,j;for(i=0,j=1;i<=j+1;i+=2,j-8以下叙述正确的是(A)do-whileif语句是()。B)if(x)if(x>0)y=1;elseif(x<0)y=-1;elsey=0;D)y=0;if(x>=0)if(x>0)y=1;elsey=-1;)。D)0)printf(“n%”d,i);)。语句构成的循环不能用其它语句构成的循环来代替。B

5、) do-while语句构成的循环只能用break语句退出。C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。9下列程序执行后的输出结果是()。A)GB)HC)ID)Jmain()intx=f;printf(n”,“%Ac-+(ax+1);10执行下面的程序段后,变量k中的值为()。A)不定值B)33C)30D)10intk=3,s2;s0=k;k=s1*10;11 若已定义:inta=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中00i09则a数组元素不正确的引用是()。A

6、)ap-aB)*(&ai)C)piD)a1012 下列程序执行后的输出结果是()。A)6B)7C)8D)9voidfunc(int*a,intb)b0=*a+6;main()inta,b5;a=0;b0=3;func(&a,b);printf(“n%”d,b0);13 下列程序的运行结果是()。A)a=%2,b=%5B)a=2,b=5C)a=d,b=dD)a=%d,b=%d#include<stdio.h>main()printf("a=%d,b=%d,a,c);14 .下列程序执行后的输出结果是()A)3B)6C)9D)随机数main()inta33,*

7、p,i;p=&a00;for(i=0;i<9;i+)pi=i+1;printf("%d',a12); int a, b, c; ;5 / 1315 .设有数组定义:chararray="ChlnaSarray所占的空间为(A)4个字节B)5个字节C)6个字节D)7个字节16 .下列程序的输出结果是()A)4B)6C)8D)10intb=2;intfunc(int*a)b+=*a;return(b);main()inta=2,res=2;res+=func(&a);printf("rafres);17 .有以下定义和语句inta32=1

8、,2,3,4,5,6,*p3;P0=a1;则*(p0+1)所代表的数组元素是()A)a01B)a10C)a11D)a1218 .下列程序的输出结果是()。A)5B)6C)7D)8structabcmain()structabcs2=1,2,3,4,5,6;intt;t=s0.a+s1.b;printf(“%nd”,t);19 若有以下调用语句,则不正确的fun函数的首部是()。A)voidfun(intm,intx)B)voidfun(ints,inth41)C)voidfun(intp,int*s)D)voidfun(intn,inta)main()inta50,n;fun(n,&a

9、9);20 在C程序中,可把整型数以二进制形式存放到文件中的函数是()。A)fprintf函数B)fread函数C)fwrite函数D)fputc函数三、修改下列程序:(在程序出错的语句下划横线并标号,把修改后的语句写在程序下面的横线上。)(每小题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=

10、2;i<n;i+)*if!(n%i)m=0;contitue;return(m);main()intj,k;clrscr();printf("nPleaseenteranintegernumberbetween2and10000:");scanf("d,k);printf("nnTheprimefactor(s)of%dis(are):",k);for(j=2;j<=k;j+)if(!(k%j)&(IsPrime(j)printf("%4d",j);getchar();)2,下列给定程序中,函数fun的功

11、能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或等于的字符一次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,bH勺字符串为:ABcd,则c中的字符串为:aBcdeFgh#include<stdio.h>#include<string.h>*void;fun(char*p,char*q,char*c)*intk=1;*while(*p!=*q)if(*p<*q)ck=*q;elsec止*p;if(*p)p+;if(*q)q+;k+;K='0'*main()chara10="aBCDeFgh,b

12、10="ABcd',c80=""fun(a,b,c);printf("Thestringa:");puts(a);printf("Thestringb:");puts(b);printf("Theresult:");puts(c);四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果(每小题4分,共16分)1. #include<stdio.h>voidmain()charch;intk=0;for(ch='A;ch<'H;ch+,k+)if(k%

13、2=0)printf("%c,ch);printf("n”);输出结果:2. #include<stdio.h>voidmain()intk=0;charc='A;doswitch(c+)case'A':k+;break;case'B':k-;case'C:k+=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);输出结

14、果: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",ai);printf("n”);输出结果:4. #include<stdio.h>voidmain()inta8=1,0,1,0,1,0,1,0,i;for(i=2;i<8;i+)ai+=ai-1+ai-2;for(i=0;i<8;

15、i+)printf("d",ai);printf("n”);输出结果:五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。(每空1分,共6分)1.将两个数从小到达输出。main()floata,b,lscanf(,&a,&b);if(a>b)t=a;b=t;printf("Thenumsmalltobig:%d%d",a,b);2.输出购买总价值和数量。#define30main();num=10;total=num*PRICE;printf("total=%d,num=%dn”,);六、按要求编写下

16、列程序。(每题6分,共12分)1 .输出下图。* * * *yes;2.编程判断输入的正整数是否既是5又是7的整数倍数。若是,则输出否则输出no11 / 1311/13C语言程序设计模拟试卷三答案一、填空题。(每空2分,共16分)1. 2412. 函数3. double4. x=0|x=15. s=p+32二、单项选择题。(每题2分,共40分)1.A2.C3.A4.A5.B6.A7.C8.D9.A10.A11.D12.A13.B14.B15.C16.B17.C18.B19.D20.C三、修改下列程序:(在程序出错的语句下划横线并标号,把修改后的语句写在程序下面的横线上。)(每小题5分,共10分)1IsPrime(intn)if(!(n%i)scanf("d,&k);2 .voidfun(char*p,char*q,char*c)k=0;while(*p|*q)四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果(每小题4分,共16分)1. ACEG2. k=83. 42527164. 1022571320五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。(每空1分,共6分)1. _t_“a=%f,b=%f'a=b2.PRICEintnum,totaltotal,num六、按要求编写下列

温馨提示

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

评论

0/150

提交评论