四套模拟题.docx
《四套模拟题.docx》由会员分享,可在线阅读,更多相关《四套模拟题.docx(30页珍藏版)》请在冰豆网上搜索。
四套模拟题
一、 选择题(15个,每个2分,共30分)
二、 程序填空(分析结果,5个,每个4分,共20分)
三、 判断(10个,每个2分,共20分)
四、 程序设计(3个,分别是7分、8分、15分)
程序设计题目考察范围:
1·冒泡
2·矩阵求最大、小值
3·累加、累乘
4·判断素数
5·最大公约数、最小公倍数
6·数组产生随机数,求数组元素和及平均值、最值
7·百钱百鸡
8·测试字符是空格、数字、字母还是其他字符
9·求三角形面积
10·求水仙花数
11·百分制成绩与五级成绩的相互转换
12·Fibonacci数列(兔子数列)
13·九九乘法表
【一】
一:
选择题(本题共15小题,满分30分)
(1).以下叙述正确的是B
A)C语言程序是由过程和函数组成的
B)C语言函数可以嵌套调用,例如:
fun(fun(x))
C)C语言函数不可以单独编译
D)C语言中除了main函数,其他函数不可作为单独文件形式存在
(2)以下C语言用户标识符中,不合法的是D
A)_1
B)AaBc
C)a_b
D)a—b
(3)若有定义:
doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是C
A)a=a++,i++;
B)i=(a+k)<=(i+k);
C)i=a%11;
D)i=!
a;
(4)以下程序的输出结果是(B)。
main()
{intx=2,y=-1,z=2;
if(xif(y<0)z=0;
elsez=z+1;
printf(“%d\n”,z);
}
A)3B)2C)1D)0
(5).设inta=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是(C)
A.9,19B.9,20
C.10,19D.10,20
(6)有以下程序
#include"stdio.h"
main()
{inti,j,m=1;
for(i=1;i<3;i++)
{for(j=3;j>0;j--)
{if((i*j)>3)break;
m*=i*j;
}
}
printf("m=%d\n",m);
}
程序运行后的输出结果是A
A)m=6
B)m=2
C)m=4
D)m=5
(7)有以下程序D
#include"stdio.h"
main()
{inta=1;intb=2;
for(;a<8;a++){b+=a;a+=2;}
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是
A)9,18
B)8,11
C)7,11
D)10,14
(8)以下关于return语句的叙述中正确的是b
A)一个自定义函数中必须有一条return语句
B)一个自定义函数中可以根据不同情况设置多条return语句
C)定义成void类型的函数中可以有带返回值的return语句
D)没有return语句的自定义函数在执行结束时不能返回到调用处
(9)下列选项中,能正确定义数组的语句是D
A)intnum[0..2008];
B)intnum[];
C)intN=2008;
intnum[N];
D)#defineN2008
intnum[N];
(10).有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p,b;
p=&a[3];
b=p[5];
b中的值是(D)
A.5B.6C.8D.9
(11)有以下程序
#include"stdio.h"
main()
{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=0;i<5;i++)s=s+a[b[i]];
printf("%d\n",s);
}
程序运行后的输出结果是c
A)6
B)10
C)11
D)15
(12)有以下程序
#include"stdio.h"
#defineSUB(a)(a)-(a)
main()
{inta=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf("%d\n",d);
}
程序运行后的输出结果是C
A)0
B)-12
C)-20
D)10
(13)有以下程序
#include"stdio.h"
main()
{inta=2,b=2,c=2;
printf("%d\n",a/b&c);
}
程序运行后的输出结果是a
A)0
B)1
C)2
D)3
(14)下面程序段的运行结果是(A)
#include
main()
{inta=1;intb=2;intc=2;intt;
while(a
{t=a;a=b;b=t;c--;
}
printf("%d,%d,%d",a,b,c);
}
A)1,2,0B)2,1,0C)1,2,1D)2,1,1
(15)有以下程序
#include"stdio.h"
main()
{ int c=0,k;
for(k=1;k<3;k++)
switch(k)
{ default:
c+=k;
case 2:
c++;break;
case 4:
c+=2;break;
}
printf("%d\n",c);
}
程序运行后的输出结果是A
A)3
B)5
C)7
D)9
二填空题(本题共4小题,满分20分)
1.(4分)以下程序运行结果是:
X=8
#include
main()
{
inti,j,X=0;
for(i=0;i<2;i++)
{
X++;
for(j=0;j<3;j++)
{
if(j%2)continue;
X++;
}
X++;
}
printf("X=%d\n",X);
}
2.(4分)以下程序运行结果是:
x=10
0
1
2
3
#include
voidfun1(intx)
{
x=20;
}
voidfun2(intb[4])
{
intj;
for(j=0;j<4;j++)
{
b[j]=j;
}
}
main()
{
intx=10;
inta[4]={1,2,3,4},k;
fun1(x);
printf("x=%d\n",x);
fun2(a);
for(k=0;k<4;k++)
{
printf("%d\n",a[k]);
}
}
3.(4分)以下程序运行时输入:
123456789↙
则程序运行结果是:
66
#include
main()
{
intx,y;
scanf("%2d%*4s%2d",&x,&y);
printf("%d",y-x);
}
4.(8分)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。
例如,输入整数5时(注意:
n不得大于10),程序运行结果如下:
ABCDE
FGHI
JKL
MN
O
请填空完成该程序。
#include
intmain()
{
inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i+1;j++)
{printf("%2c",ch);
ch++;
}
printf("\n");
}
}
elseprintf("nistoolarge!
\n");
printf("\n");
return0;}
三:
判断题(本题共10小题,满分20分)
1.break是结束本次循环,而continue是结束所有的循环×
2.在C语言中,变量不区分大小写×
3.不同的函数中可以使用相同的变量名。
(√)
4.形式参数是局部变量。
(√ )
5.若用数组名作为函数的实参,传递给形参的是数组第一个元素的值。
(×)
6.c语言是低级语言×
7.c语言中,每个函数都必须要有一个且只有一个main函数×
8.C语言中,整形常数表示的方法有3种√
9.对于开辟一个静态变量,我们没有必要对它进行初始化×
10.假定x和y为double型,则表达式x=2,y=x+3/2的值是3×
四(本题共2小题,满分30分)
编程题
1.规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并打印此工人一个月的工资,要求由键盘输入工作时间(14分)。
参考答案:
//2分包括标识符命名、缩进等代码风格
#include
main()
{
intt,salary;//2分
printf("Pleaseinputthetime:
\n");
scanf("%d",&t);//2分
if((t<0)||(t>744))
//1分一个月超过31天每天24小时,考虑到最大最小范围判断,而且合理即可
{
printf("Error,Thetimeyouenteredisbeyond
scope!
\n");
return;
}
if(t<=160)//2分ifelse结构正确
salary=t*5;//2分
else
salary=160*5+(t-160)*9;//2分
printf("Thesalaryis:
%d\n",salary);//2分
}
2.输入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。
//缩进、空格、空行、标识符命名等编程规范2分
#include
main()
{
intp=20,i,k=0,j;//2分类型错扣1分,没初始化扣1分
floatave,a[20],t,sum=0;
printf("Pleaseinputthescoreofthestudents:
\n");
for(i=0;i
scanf("%f",&a[i]);
for(i=0;i
sum=sum+a[i];
ave=sum/p;//1分
for(i=0;i
{
if(a[i]>ave)
k++;
}
for(i=0;ifor(j=1;jif(a[j-1]{
t=a[j-1];a[j-1]=a[j];a[j]=t;