C语言程序设计模拟试题3(附答案)_第1页
C语言程序设计模拟试题3(附答案)_第2页
C语言程序设计模拟试题3(附答案)_第3页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

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

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

3、6.0B) 6 6 6.7 6.7C) 6 6 6.0 6.7D) 6 6 6.7 6.0main() double d; float f; long l; int i; i=f=l=d=20/3;printf("%d %ld %f %f n", i,l,f,d); scanf("%d",&d);4下列变量定义中合法的是()A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;5设 int x=1, y=1; 表达式 (!x|y-) 的值是

4、( )。A) 0 B) 1 C) 2 D) -16. 与y=(x>0?1:x<0?-1:0);的功能相同的if语句是()A) if (x>0) y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1;else if(x=0)y=0;else y=-1;7. 以下循环体的执行次数是A) 3 B) 2 C) 1 main() int i,j;for(i=0,j=1; i<=j+1; i+=2, j-8. 以下叙述正确的是(B) if(x)if(x>0)y=1;else if(x<0)y=-1;else

5、 y=0;D) y=0;if(x>=0)if(x>0)y=1else y=-1;)。D) 0)printf(“ %n”d ,i);)。A) do-while 语句构成的循环不能用其它语句构成的循环来代替。B) do-while语句构成的循环只能用break语句退出。C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。D) 用 do-while 语句构成的循环 ,在 while 后的表达式为零时结束循环。9下列程序执行后的输出结果是()。A) GB) HC) I D) Jmain() int x= ' f ' ; printf( n”“,

6、'%Ac' +(-x a' +1); 10执行下面的程序段后,变量k中的值为()。A) 不定值 B) 33 C) 30 D) 10int k=3, s2;s0=k; k=s1*10;11 若已定义 :int a =0,1,2,3,4,5,6,7,8,9, *p=a, i;其中0< i < 9则对a数组元素不正确的引用是()。A) ap-a B) *(&ai) C) pi D) a1012下列程序执行后的输出结果是()。A) 6 B) 7 C) 8 D) 9void func(int *a,int b) b0=*a+6; main() int a,b5

7、;a=0; b0=3;func(&a,b); printf(n”“,b%0d);13下列程序的运行结果是()。A) a=%2,b=%5B) a=2,b=5C) a=d, b=dD) a=%d,b=%d#include <stdio.h>main() int a=2,c=5;printf(“ a=%d,b=%n”d ,a,c); 可编辑范本A) 3B) 6C) 9D)随机数main() int a33, *p, i;P=&a00;for(i=0; i<9; i+) pi=i+1;printf( “ %d ,a12);15.设有数组定义:char array =则

8、数组linarray所占的空间为()。A) 4个字节 B) 5个字节C) 6个字节 D) 7个字节16下列程序的输出结果是()。A) 4B) 6C) 8D) 10int b=2;int func(int *a) b += *a; return(b); main() int a=2, res=2;res += func (&a);printf(“ d ,res);17有以下定义和语句int a32=1,2,3,4,5,6,*p3;p0=a1;则* (p0+1)所代表的数组元素是 ()A)a 01 B)a10 C)a11 D)a1218下列程序的输出结果是()。A) 5B) 6 C) 7

9、D) 8struct abc int a, b, c; ;main()可编辑范本 struct abc s2=1,2,3,4,5,6;int t;t=s0.a+s1.b;printf( “ %n ”d ,t);19若有以下调用语句 ,则不正确的 fun 函数的首部是()。A) void fun(int m, int x)B) void fun(int s, int h41)C) void fun(int p, int *s)D) void fun(int n, int a)main()int a50,n;fun(n, &a9);20.在C程序中,可把整型数以二进制形式存放到文件中的函数

10、是()。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(int n);int i,m;m=1;for ( i=2; i&l

11、t;n; i+)*if !(n %i) m=0; con titue; return (m);mai n() int j,k;clrscr();”);printf( “ nPlease enter an integer number between 2 and 10000:scanf(“ d' ,k);printf(“ nnThe prime factor(s) of %d is (are):” ,k);for (j=2;j<=k;j+)if ( (!(k%j)&(IsPrime(j) ) printf(" %4d",j);getchar();)2下列

12、给定程序中,函数 fun 的功能是:逐个比较 a、 b 两个字符串对应位置中 的字符,把 ASCII 值大或等于的字符一次存放到 c 数组中,形成一个新的字符串。 例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串为: aBcdeFgh。#include <stdio.h>#include <string.h>*void; fun(char *p,char *q,char *c;)*int k=1;*while(*p!=*q)if (*p<*q) ck=*q;else ck=*p;if (*p) p+;if (*q) q+;k+;K=

13、 '0 '*mai n()char a10=“aBCDeFgh”,b10=“ABcd ”,c80=“” ;fun (a,b,c);printf(“ The string a:” ); puts(a);printf(“ The string b:” ); puts (b);printf( “ The result:” ); puts(c);四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果(每小题4分,共16分)1. #i nclude <stdio.h>void mai n() char ch; int k=0;for(ch= ' A

14、9; ;ch< ' H' ;ch+,k+)if(k%2=0) printf(“ c” ,ch);printf( n” );输出结果:2. #i nclude <stdio.h>void mai n() int k=0;char c='A'do switch (c+)case A' : k+; break;case B' -;kcase C' : k+=2; break;ca卷'D' : k=k%2; break;case E' : k=k*10; breakdefault: k=k/3;k+; w

15、hile(c<'G );printf(“n” , k);输出结果:3. #i nclude <stdio.h>void mai n() int a6=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) pri ntf(,a%dprintf( “ n”);输出结果:4. #i nclude <stdio.h>void mai n() int a8=1,0,1,0,1,0,1,0,i;for(i=2;i&

16、lt;8;i+) ai+=ai-1+ai-2;for(i=0;i<8;i+) printf( ”,ai)'%dprintf( h” );输出结果:(每空五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整1分,共6分)1 将两个数从小到达输出。mai n()float a,b,;sca nf(,&a,&b);if (a>b)t=a;b=t;printf( “The num small to big : %d %d” ,a,b);2. 输出购买总价值和数量。# defi ne 30mai n();num=10;total=num*PRICE;prin

17、tf (“ total=%d, num=%d,;六、按要求编写下列程序。(每题 6分,共12分)1. 输出下图。2编程判断输入的正整数是否既是 5又是7的整数倍数。若是,则输出yes否则输出no。C语言程序设计模拟试卷三 答案一、填空题。(每空2分,共16分)12412. 函数3. double4. x=0|x=15. s=p+32二、单项选择题。(每题2分,共40 分)1. A2. C3. A4. A5. B6. A7. C8. D9. A10.11. D12. A13. B14. B15. C16. B17. C18. B19. D20. C三、 修改下列程序:(在程序出错的语句下划横线并

18、标号,把修改后的语句写在 程序下面的横线上。)(每小题 5分,共10分)1lsPrime(i nt n)if (!(n%i)seanf(“ d',&k);2.void fun( char *p,char *q,char *e)k=0;while(*p|*q)四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(每小题4分,共16分)1. ACEG2. k=83. 4 25 27 164. 1 0 2 2 5 7 13 20(每空五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整1分,共6分)1. 丄“ a=%f,b=%f ”a=b2.PRICEint num ,totaltotal, num六、按要求编写下列程序。(每题 6分,共12分)1.ma

温馨提示

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

评论

0/150

提交评论