C语言程序设计模拟试题3附答案NEWWord下载.docx
- 文档编号:16152129
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:12
- 大小:19.88KB
C语言程序设计模拟试题3附答案NEWWord下载.docx
《C语言程序设计模拟试题3附答案NEWWord下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题3附答案NEWWord下载.docx(12页珍藏版)》请在冰豆网上搜索。
main()
{doubled=3.2;
intx,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.7
6.7
C)6
6.7 D)6
6.0
{doubled;
floatf;
longl;
inti;
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)doubleb=1+5e2.5;
C)longdo=0xfdaL;
D)float2_and=1-e-3;
5.设intx=1,y=1;
表达式(!
x||y--)的值是( )。
A)0 B)1 C)2 D)-1
6.与y=(x>
0?
1:
x<
-1:
0);
的功能相同的if语句是( )。
A)if(x>
0)y=1;
B)if(x)
elseif(x<
0)y=-1;
if(x>
0)y=1;
elsey=0;
elseif(x<
elsey=0;
C)y=-1
D)
y=0;
if(x) if(x>
=0)
if(x>
elseif(x==0)y=0;
elsey=-1;
elsey=-1;
7.以下循环体的执行次数是( )。
A)3 B)2 C)1 D)0
{inti,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
{intx=’f’;
printf(“%c\n”,’A’+(x-‘a’+1));
}
10.执行下面的程序段后,变量k中的值为()。
A)不定值 B)33 C)30 D)10
intk=3,s[2];
s[0]=k;
k=s[1]*10;
11.若已定义:
inta[]={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
voidfunc(int*a,intb[])
{b[0]=*a+6;
{inta,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<
stdio.h>
{inta=2,c=5;
printf(“a=%d,b=%d\n”,a,c);
14.下列程序执行后的输出结果是()。
A)3 B)6 C)9 D)随机数
{
inta[3][3],*p,i;
p=&
a[0][0];
for(i=0;
9;
i++)p[i]=i+1;
printf(“%d\n”,a[1][2]);
15.设有数组定义:
chararray[]=“China”;
则数组array所占的空间为( )。
A)4个字节 B)5个字节 C)6个字节 D)7个字节
16.下列程序的输出结果是( )。
A)4 B)6 C)8 D)10
intb=2;
intfunc(int*a)
{b+=*a;
return(b);
{inta=2,res=2;
res+=func(&
a);
printf(“%d\n”,res);
17.有以下定义和语句
inta[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
structabc
{inta,b,c;
};
structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
printf(“%d\n”,t);
19.若有以下调用语句,则不正确的fun函数的首部是( )。
A)voidfun(intm,intx[]) B)voidfun(ints,inth[41])
C)voidfun(intp,int*s)
D)voidfun(intn,inta)
{…
inta[50],n;
…
fun(n,&
a[9]);
20.在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
A)fprintf函数 B)fread函数
C)fwrite函数
D)fputc函数
三、修改下列程序:
(在程序出错的语句下划横线并标号,把修改后的语句写在程序下面的横线上。
)(每小题5分,共10分)
1.下列给定程序的功能是:
读入一个整数(2<
=k<
=10000),打印它的所有质因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出2、3、5、7、11。
conio.h>
*******************************
IsPrime(intn);
{inti,m;
m=1;
for(i=2;
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的功能是:
逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或等于的字符一次存放到c数组中,形成一个新的字符串。
例如,若a中的字符串为aBCDeFgH,b中的字符串为:
ABcd,则c中的字符串为:
aBcdeFgh。
string.h>
***************************************
void;
fun(char*p,char*q,char*c);
{intk=1;
**************************************
while(*p!
=*q)
{if(*p<
*q)c[k]=*q;
elsec[k]=*p;
if(*p)p++;
if(*q)q++;
k++;
K=’\0’;
{chara[10]=“aBCDeFgh”,b[10]=“ABcd”,c[80]={“”};
fun(a,b,c);
printf(“Thestringa:
puts(a);
printf(“Thestringb:
puts(b);
printf(“Theresult:
puts(c);
四、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。
(每小题4分,共16分)
1.
#include<
voidmain()
{
charch;
intk=0;
for(ch=’A’;
ch<
’H’;
ch++,k++)
if(k%2==0)printf(“%c”,ch);
printf(“\n”);
}
输出结果:
2.
voidmain()
intk=0;
charc=’A’;
do{
switch(c++)
{case‘A’:
k++;
break;
case‘B’:
k--;
case‘C’:
k+=2;
case‘D’:
k=k%2;
case‘E’:
k=k*10;
default:
k=k/3;
}while(c<
’G’);
printf(“k=%d\n”,k);
输出结果:
3.
inta[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++)if(a[i]==b[j])break;
if(j<
6)printf(“%d”,a[i]);
printf(“\n”);
}
4.
{
inta[8]={1,0,1,0,1,0,1,0},i;
for(i=2;
8;
i++)a[i]+=a[i-1]+a[i-2];
for(i=0;
i++)printf(“%d”,a[i]);
五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。
(每空1分,共6分)
1.将两个数从小到达输出。
main()
{float
a,b,
;
scanf(
a,&
b);
if(a>
b)
{t=a;
b=t;
printf(“Thenumsmalltobig:
%d%d”,a,b);
2.输出购买总价值和数量。
#define
30
;
num=10;
total=num*PRICE;
printf(“total=%d,num=%d\n”,
);
六、按要求编写下列程序。
(每题6分,共12分)
1.输出下图。
*
*
*
*
2.编程判断输入的正整数是否既是5又是7的整数倍数。
若是,则输出yes;
否则输出no。
《C语言程序设计》模拟试卷三答案
12
4
1
2.
函数
3.double
4.
x==0||x==1
5.
s=p+3
2
1.A2.C3.A4.A5.B
6.A7.C8.D 9.A10.A
11.D12.A13.B14.B15.C
16.B 17.C18.B19.D20.C
1
IsPrime(intn)
if(!
(n%i))
scanf(“%d”,&
k);
2.
voidfun(char*p,char*q,char*c)
k=0;
while(*p||*q)
ACEG
2.
k=8
3.
4252716
4.1022571320
1.
t
“a=%f,b=%f”
a=b
PRICE
intnum
total
total,num
1.
{
inti,j;
=3;
i++)
{
=i;
j++)
printf("
*"
);
printf("
\n"
getchar();
2.
intn;
请输入整数n:
"
scanf("
n);
if(!
(n%5)||!
(n%7))
printf("
Yes!
else
No!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 模拟 试题 答案 NEW