C语言程序设计模拟试题3附答案.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
5
积分
还剩页未读,继续阅读
关 键 词:C语言程序设计模拟试题3
C语言程序设计模拟试题
C语言程序设计
答案.doc
模拟试题三答案
考试试题及答案
模拟试题及答案
资源描述:
《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类型的存储单元并赋值如下图,a[0]的地址小于a[4]的地址。p和s是基类型为int的指针变量。请对以下问题进行填空。
a[0] a[1] a[2] a[3] a[4]
22
33
44
55
66
(1)若p已指向存储单元a[1]。通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是 。
(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是 。
二、单项选择题。(每题2分,共40分)
1.设有 int x=11; 则表达式 (x++ * 1/3) 的值是( )。
A) 3 B) 4 C) 11 D) 12
2.下列程序的输出结果是( )。
A) 3 B) 3.2 C) 0 D) 3.07
main()
{double d=3.2; int x,y;
x=1.2; y=(x+3.8)/5.0;
printf(“%d \n”, d*y);
}
3.下列程序执行后的输出结果是(小数点后只写一位)( )。
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7
C) 6 6 6.0 6.7 D) 6 6 6.7 6.0
main()
{ 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--)的值是( )。
A) 0 B) 1 C) 2 D) -1
6.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是( )。
A) if (x>0) y=1; B) if(x)
else if(x<0)y=-1; if(x>0)y=1;
else y=0; else if(x<0)y=-1;
else y=0;
C) y=-1 D) y=0;
if(x) if(x>=0)
if(x>0)y=1; if(x>0)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
7.以下循环体的执行次数是( )。
A) 3 B) 2 C) 1 D) 0
main()
{ int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)printf(“%d \n”,i);
}
8.以下叙述正确的是( )。
A) do-while语句构成的循环不能用其它语句构成的循环来代替。
B) do-while语句构成的循环只能用break语句退出。
C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。
9.下列程序执行后的输出结果是( )。
A) G B) H C) I D) J
main()
{ int x=’f’; printf(“%c \n”,’A’+(x-‘a’+1)); }
10.执行下面的程序段后,变量k中的值为( )。
A) 不定值 B) 33 C) 30 D) 10
int k=3, s[2];
s[0]=k; k=s[1]*10;
11.若已定义:
int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a, i;
其中 0≤i≤9, 则对a数组元素不正确的引用是( )。
A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]
12.下列程序执行后的输出结果是( )。
A) 6 B) 7 C) 8 D) 9
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5];
a=0; b[0]=3;
func(&a,b); printf(“%d \n”,b[0]);
}
13.下列程序的运行结果是( )。
A) a=%2,b=%5 B) a=2,b=5
C) a=d, b=d D) a=%d,b=%d
#include main()
{ int a=2,c=5;
printf(“a=%d,b=%d\n”,a,c); }
14.下列程序执行后的输出结果是( )。
A) 3 B) 6 C) 9 D) 随机数
main()
{ int a[3][3], *p, i;
p=&a[0][0];
for(i=0; i<9; i++) p[i]=i+1;
printf(“%d \n”,a[1][2]);
}
15.设有数组定义: char array [ ]= “China”; 则数组 array所占的空间为( )。
A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节
16.下列程序的输出结果是( )。
A) 4 B) 6 C) 8 D) 10
int b=2;
int func(int *a)
{ b += *a; return(b);}
main()
{ int a=2, res=2;
res += func(&a);
printf(“%d \n”,res);
}
17.有以下定义和语句
int a[3][2]={1,2,3,4,5,6,},*p[3];
p[0]=a[1];
则*(p[0]+1)所代表的数组元素是 ( )
A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]
18.下列程序的输出结果是( )。
A) 5 B) 6 C) 7 D) 8
struct abc
{ int a, b, c; };
main()
{ struct abc s[2]={{1,2,3},{4,5,6}};
int t;
t=s[0].a+s[1].b;
printf(“%d \n”,t);
}
19.若有以下调用语句,则不正确的fun函数的首部是( )。
A) void fun(int m, int x[]) B) void fun(int s, int h[41])
C) void fun(int p, int *s) D) void fun(int n, int a)
main()
{ …
int a[50],n;
…
fun(n, &a[9]);
…
}
20.在C程序中,可把整型数以二进制形式存放到文件中的函数是( )。
A) fprintf函数 B) fread函数 C) fwrite函数 D) fputc函数
三、修改下列程序:(在程序出错的语句下划横线并标号,把修改后的语句写在程序下面的横线上。)(每小题5分,共10分)
1.下列给定程序的功能是:读入一个整数(2<=k
#include *******************************
IsPrime(int n);
{int i,m;
m=1;
for ( i=2; i#include ****************************************
void; fun(char *p,char *q,char *c);
***************************************
{int k=1;
***************************************
while(*p!=*q)
{if (*p
void main()
{ char ch; int k=0;
for(ch=’A’;ch
void main( )
{ int k=0;
char c=’A’;
do {
switch (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
void main()
{ int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;
for(i=0;i<6;i++) {
for(j=0;j<6;j++) if(a[i]==b[j])break;
if(j<6) printf(“%d ”,a[i]);
}
printf(“\n”);
}
输出结果:
4. #include void main()
{ int a[8]={1,0,1,0,1,0,1,0},i;
for(i=2;i<8;i++) a[i]+=a[i-1]+a[i-2];
for(i=0;i<8;i++) printf(“%d ”,a[i]);
printf(“\n”);
}
输出结果:
五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。(每空1分,共6分)
1.将两个数从小到达输出。
main()
{float a,b, ;
scanf( ,&a,&b);
if (a>b)
{t=a;
;
b=t;
}
printf(“The num small to big : %d %d”,a,b);
}
2.输出购买总价值和数量。
# define 30
main()
{ ;
num=10;
total=num*PRICE;
printf (“total=%d, num=%d\n”, );
}
六、按要求编写下列程序。(每题6分,共12分)
1.输出下图。
*
* *
* * *
* * * *
2.编程判断输入的正整数是否既是5又是7的整数倍数。若是,则输出yes;否则输出no。
《C语言程序设计》模拟试卷三 答案
一、填空题。(每空2分,共16分)
1 2 4 1
2. 函数
3. double
4. x==0||x==1
5. s=p+3 2
二、单项选择题。(每题2分,共40分)
1.A 2.C 3.A 4. A 5.B
6.A 7.C 8.D 9. A 10. A
11.D 12.A 13.B 14. B 15.C
16.B 17.C 18.B 19.D 20. C
三、修改下列程序:(在程序出错的语句下划横线并标号,把修改后的语句写在程序下面的横线上。)(每小题5分,共10分)
1
IsPrime(int n)
if (!(n%i))
scanf(“%d”,&k);
2.
void fun(char *p,char *q,char *c)
k=0;
while(*p||*q)
四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(每小题4分,共16分)
1. ACEG
2. k=8
3. 4 25 27 16
4. 1 0 2 2 5 7 13 20
五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。(每空1分,共6分)
1. t
“a=%f,b=%f”
a=b
2.
PRICE
int num ,total
total,num
六、按要求编写下列程序。(每题6分,共12分)
1.
main()
{
int i,j;
for(i=0;i<=3;i++)
{
for(j=0;j<=i;j++)
printf("* ");
printf("\n");
}
getchar();
}
2.
main()
{
int n;
printf("请输入整数 n :");
scanf("%d",&n);
if(!(n%5)||!(n%7))
printf("Yes!");
else
printf("No!");
}
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:C语言程序设计模拟试题3附答案.doc
链接地址:https://www.renrendoc.com/p-19843724.html