C程序设计模拟题Word文档格式.docx
《C程序设计模拟题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C程序设计模拟题Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
![C程序设计模拟题Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-2/3/84e6d8b0-9170-45ee-97e6-b8ab906cf21a/84e6d8b0-9170-45ee-97e6-b8ab906cf21a1.gif)
7.以下所列语句中,合法的语句是__B_______。
A.a=1,b=2B.++a;
C.a=a+1=5;
D.y=inta;
8.退出一个循环语句(不终止函数的执行)的有效措施是A。
A.用break语句B.用continue语句C.用return语句D.用exit语句
9.程序段
A
的功能是将变量u、s中的最大值赋给变量t。
A.
if(u>
s)t=u;
elseu=s;
B.
t=u;
if(t)
t=s;
C.
s)t=s;
elset=u;
D.
if(u)
10.执行以下语句后w的值为(B)。
inta=5,b=4,x=3,y=2,z=1,w;
w=(a>
b)?
(x>
z):
(y<
z);
A.0B.1C.3D.4
11.若有定义inta[4]={1,2,3,4};
则a[a[a[0]]]的值是C。
A.1B.2C.3D.4
12.若有定义inta[5],*p=a;
则对a数组元素地址的正确引用是(
D
A.P+5
B.*a+1
C.&
a+1
&
a[0]
13.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为(A)。
A.0B.1C.trueD.非0
14.字符串指针变量中存入的是______A__________。
A.字符串的首地址B.
字符串
C.第一个字符
D.
字符串变量。
15.若有定义语句inta[5],*p=a;
则*(p+1)表示_D_____.
A.元素a[0]的地址B.元素a[0]的值C.元素a[1]的地址D.元素a[1]的值
二、填空题:
(每空1分,共20分)
1.
C语言从源程序的书写到上机运行输出结果要经过______编辑,编译,连接,执行_______四个步骤。
2.有变量说明inta=2;
则表达式a<
1&
&
++a>
1的运算结果和a的值分别是0和2。
3.C语言中普通整型变量的类型说明符为
int
,char型取值范围是
0--255
。
4.C语言程序是由____函数_____构成的,C语言的函数是由___语句____构成的。
5.取内容运算符为*,取地址运算符为&
运算符。
6.C语句inta=10,*p=&
a;
则*p+1的值是11。
7.C语言规定:
C语句必须以
;
结束。
8.有语句inta=10,b=4;
则表达式a^b的结果为14。
9.C语言可以用来实现循环的结构化语句有for、while和dowhile。
10.若自定义函数要求返回一个值,则应在该函数体中有一条return语句,若要求不返回一个值,则应在该函数说明时加一个类型说明符void。
11.现在的计算机都采用二进制的存储形式,称为数字计算机。
12.若有定义:
doublex[3][5];
则x数组中行下标的下限为0,列下标的上限为4
13.设有数组定义:
chararray[]=”China”;
则数组占___6____字节存贮空间。
三、程序阅读题:
写出以下各程序的运行结果:
(每题3分,共30分)
1.#include“stdio.h”
main()
{
inta[]={1,3,5,7,9};
inty=1,x,*p;
p=&
a[1];
for(x=0;
x<
3;
x++)
y+=*(p+x);
printf(“%d\n”,y);
}
16
2.main()
{inta[3][3],*p,i;
a[0][0];
a[3][3]={0,1,2,3,4,5,6,7,8};
for(i=0;
i<
9;
i++)p[i]=i;
作用for(i=0;
3;
i++)printf("
%d"
a[1][i]);
}
345
3.#include“stdio.h”
main()
{inta[]={1,2,3,-4,5};
intm,n,*p;
p=a;
m=*(p++);
n=*(p+3);
printf(“%d%d%d”,*p,m,n);
}215
4.main()
{inta=1,b=7;
do{b=b/2;
a+=b;
}
while(b>
1);
printf(“a=%-5d\n”,a);
}a=5----
5.
main()
{intx,y;
for(y=1,x=1;
y<
=50;
y++)
{if(x>
=10)break;
if(x%2==1){x+=5;
continue;
}
x-=3;
printf(“%d”,y);
}6
6.#include"
stdio.h"
{intx=3;
switch(x)
{case1:
case2:
printf("
3\n"
);
case3:
x=3\n"
case4:
case5:
x>
default:
xunknow\n"
}}x=3,x>
3,xunknow
7.main()
{intw=800,*p=&
w;
intx[6]={1,2,3,4,5,6},*q=x;
printf(“w=%d\n”,w);
800
printf(“*p=%d\n”,*p);
printf(“*q=%d\n”,*q);
1
printf(“x[0]=%d\n”,x[0]);
}1
8.main()
{intx,y,z=2;
x=z++;
y=++z;
printf(“x=%d,y=%d,z=%d”,x,y,z);
}2,4,4
9.#include<
stdio.h>
{inta=5,b=4,c=6,d;
d=%d\n"
d=a>
b?
(a>
c?
a:
c):
(b));
}6
10.
#include“stdio.h”
main()
{intk,j;
inta[]={3,-5,18,27,37,23,69,82,52,-15};
for(k=0,j=k;
k<
10;
k++)
if(a[k]>
a[j])j=k;
printf(“m=%d,j=%d\n”,a[j],j);
}82,7
四、程序填空题:
(每空2分,共10分)
1.下面程序的功能是求0—100内的偶数和。
请补充完整。
#include"
{
_inti,sum______________;
_
for(i=0,sum=0;
i<
=100;
)
{sum+=i;
_i+=2_______;
_}
%d\n"
sum);
2.下面程序的功能是输入三个整数,计算其平均值。
{intx,y,z;
floataverage;
printf("
Enter3intnumbers:
\n"
);
scanf(“%d%d%d”,&
x,&
y,&
z);
average=(x+y+z)/3.0;
\naverage=%f"
average);
五、编程:
(共25分)
1.编程实现:
从键盘输入自然数n,求n!
。
(7分)
{inta,n;
longp=1;
printf(“inputn:
”);
scanf(“%d”,&
n);
for(a=1;
a<
=n;
a++)
P*=a;
printf(“%d!
=%d\n”,n,p);
2.编程实现:
从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分,输出平均分,最高分,最低分。
(10分)
{floatscore[10],max,min,ave,sum=0;
inti;
printf(“input10scores:
for(i=0;
10;
i++)
{scanf(“%f”,&
score[i]);
sum+=score[i]:
max=min=score[0];
for(i=1;
if(score[i]>
max)max=score[i];
if(score[i]<
min)min=score[i];
ave=(sum-max-min)/8;
printf(“%5.1f,%5.1f,%5.1f\n”,ave,max,min);
3.已知分段函数如下
编程计算对键盘输入的任意x,求相应y的值。
(8分)
#include”math.h”
{floatx,y;
printf(“inputx:
scanf(“%f”,&
x);
if(x<
=4.0)y=fabs(x+2.3);
elseif(x<
=7.0)y=x*x*x;
elseif(x<
=12.0)y=11.5-x;
elsey=x;
printf(“x=%5.2f,y=%5.2f\n”,x,y);
编程练习:
1.编程求3~100之间的全部素数,并统计素数个数。
#include“math.h”
{
intm,i,k;
for(m=3;
m<
=100:
m=m+2)
k=(int)sqrt(m);
for(i=2;
=k;
if(m%i==0)break;
if(i==k+1)
printf(“%disaprimenumber.\n”,m);
}}
2.编程计算:
s=1*1+3*3+5*5+7*7+…+(2n-1)*(2n-1)(n从键盘上输入)。
{longs=0;
inti,n,p;
printf(“inputn(0~9):
p=n;
for(i=1;
s+=p;
p=p*10+n;
printf(“s=%d+%d%d+%d%d%d+…=%ld\n”,n,n,n,n,n,n,n,s);
3.编程实现:
给一个3行3列的二维数组输入并输出数据。
4.编程实现:
输入一个10以内的自然数a,计算sum=a+aa+aaa+aaaa+…+(a…a)的值。
如sum=5+55+555+5555+55555(此时a=5)。
5.编程求3*3二维数组中最大元素及其所在的行、列位置。