C语言模拟试题Word文件下载.docx
- 文档编号:17567759
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:23
- 大小:24.66KB
C语言模拟试题Word文件下载.docx
《C语言模拟试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言模拟试题Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
a<
8;
a++){b+=a;
a+=2;
%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
(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"
main()
{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;
for(i=0;
5;
i++)s=s+a[b[i]];
printf("
%d\n"
s);
}
程序运行后的输出结果是c
A)6
B)10
C)11
D)15
(12)有以下程序
#include"
#defineSUB(a)(a)-(a)
{inta=2,b=3,c=5,d;
d=SUB(a+b)*c;
d);
程序运行后的输出结果是C
A)0
B)-12
C)-20
D)10
(13)有以下程序
{inta=2,b=2,c=2;
a/b&
c);
程序运行后的输出结果是a
B)1
C)2
D)3
(14)下面程序段的运行结果是(A)
#include<
stdio.h>
{inta=1;
intc=2;
intt;
while(a<
b<
c)
{t=a;
a=b;
b=t;
c--;
%d,%d,%d"
a,b,c);
A)1,2,0B)2,1,0C)1,2,1D)2,1,1
(15)有以下程序
main()
{ int c=0,k;
for(k=1;
k<
k++)
switch(k)
{ default:
c+=k;
case 2:
c++;
break;
case 4:
c+=2;
}
printf("
c);
}
程序运行后的输出结果是A
A)3
B)5
C)7
D)9
二填空题(本题共4小题,满分20分)
1.(4分)以下程序运行结果是:
X=8
#include<
{
inti,j,X=0;
for(i=0;
2;
{
X++;
for(j=0;
j<
j++)
{
if(j%2)continue;
X++;
}
}
X=%d\n"
X);
2.(4分)以下程序运行结果是:
x=10
1
2
3
#include<
voidfun1(intx)
x=20;
voidfun2(intb[4])
intj;
for(j=0;
j<
4;
j++)
{
b[j]=j;
}
intx=10;
inta[4]={1,2,3,4},k;
fun1(x);
printf("
x=%d\n"
x);
fun2(a);
for(k=0;
k<
k++)
a[k]);
3.(4分)以下程序运行时输入:
123456789↙
则程序运行结果是:
66
{
intx,y;
scanf("
%2d%*4s%2d"
&
x,&
y);
%d"
y-x);
4.(8分)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。
例如,输入整数5时(注意:
n不得大于10),程序运行结果如下:
ABCDE
FGHI
JKL
MN
O
请填空完成该程序。
#include<
intmain()
inti,j,n;
charch='
A'
;
scanf("
&
n);
if(n<
11)
{for(i=1;
=n;
{for(j=1;
=n-i+1;
{printf("
%2c"
ch);
ch++;
\n"
);
elseprintf("
nistoolarge!
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分包括标识符命名、缩进等代码风格
intt,salary;
//2分
Pleaseinputthetime:
t);
//2分
if((t<
0)||(t>
744))
//1分一个月超过31天每天24小时,考虑到最大最小范围判断,而且合理即可
Error,Thetimeyouenteredisbeyondscope!
return;
if(t<
=160)//2分ifelse结构正确
salary=t*5;
//2分
else
salary=160*5+(t-160)*9;
//2分
Thesalaryis:
salary);
2.输入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。
//缩进、空格、空行、标识符命名等编程规范2分
inti,k=0,j;
//2分类型错扣1分,没初始化扣1分
floatave,a[20],t,sum=0;
请输入20个学生成绩\n"
20;
{
scanf("
%f"
a[i]);
//1分
sum=sum+a[i];
//1分
}
ave=sum/20;
//1分
i++)//2分
if(a[i]>
ave)
k++;
平均分是%.1f,高于平均分有%d人\n"
ave,k);
//1分输出显示正确
18;
i++)//2分双重循环
18-i;
j++)
if(a[j-1]<
a[j])
t=a[j-1];
a[j-1]=a[j];
a[j]=t;
成绩降序排列为:
%.1f\t"
a[i]);
(2)一、选择(本题共15小题,满分30分)。
1、关于c表达式5||(a=b+c)==3的值,正确的说法为
A)值为1B)值为5C)值为0
D)仅这一个表达式,不能确定值,必须知道a,b,c的值后才能计算。
(A正确)
2.以下能正确定义一维数组的选项是
A)inta[5]={0,1,2,3,4,5};
B)chara[]={0,1,2,3,4,5};
C)chara={'
,'
B'
C'
};
D)inta[5]="
0123"
;
(B正确)
3.有以下语句:
intb;
charc[10];
则正确的输入c数组的语句是
A)scanf("
%d%s"
,&
b,&
c);
B)scanf("
b,c);
C)scanf("
,b,c);
D)scanf("
,b,&
4.若变量c为char类型,能正确判断出c为小写字母的表达式是
A)'
a'
<
=c<
='
z'
B)(c>
)||(c<
)
C)('
=c)and('
>
=c)
D)(c>
)&
&
(c<
)
(D正确)
5.凡是在函数中未指定存储类别的变量,其隐含的存储类别是
A)自动
B)静态
C)外部
D)寄存器
6.若要求从键盘读入含有空格字符的字符串,应使用函数
A)gets()
B)scanf()
C)getchar()
D)getch()
7.若有定义:
intaa[8];
则以下表达式中不能代表数组元素aa[1]的地址的是
A)&
aa[0]+1
B)&
aa[1]
C)&
aa[0]++
D)aa+1
(C正确)
8.若有以下的定义:
intt[3][2];
则t数组最后一个元素是
A)&
t[3][2]
B)t[3][2]
C)t[2]
D)t[2][1]
9.若有定义:
intx,*pb;
以下正确的赋值表达式是
A)pb=&
x
B)pb=x
C)*pb=&
x
D)*pb=*x
10、若c,c1,c2均为字符型变量,下列语句执行后。
c='
c1=++c;
c2=c++;
c1,c2的值分别为
A)c1='
b'
c2='
c'
B)c1='
c2='
C)c1='
D)c1='
(结果为C)
11.有如下语句
intx,y;
%d,%d"
x,&
若使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是
A)1112<
回车>
B)11<
12<
C)11,<
D)11,12<
12、有如下程序段
inta=14,b=15,x;
charc='
x=(a&
b)&
'
);
执行该程序段后,x的值为
A)ture
B)false
C)0
D)1
13、下列运算符中优先级最高的运算符是
A)!
B)%
C)-=
D)&
14、在以下程序段中,输出值为
#defineP(x)3*x*x
,P(2+3));
A)75
B)15
C)5
D)3
15、printf("
%d,%d,%d,%d"
6>
5,6&
5,6||5,6<
5);
输出运行结果是
A)1,1,1,1
B)0,1,1,0
C)1,0,1,0
D)1,1,1,0
二、判断(本题共10小题,满分20分)。
1、charnn[][4]={‘abc’,’2’};
×
2、在C语言中,如果想表示反斜杠符时要用到两个反斜杠。
√
3、判断字符串str1是否与字符串str2相等,应使用if((str1,str2)==0))。
×
4、设有数组定义:
chararray[]="
China"
则数组array实际所占的空间为5个字节。
5、可以对整型数组进行整体输入、输出。
6、在C语言中,引用数组元素时,其数组下标的数据类型允许是整型常量或整型表达式√
7、用户定义的标识符中,大小写字母代表相同标识。
8、用数组名作为函数实参,其本质是通过实参数组名把实参数组的首地址传送给形参数组名;
这样,两个数组共同占用一段内存空间。
9、在作用域内,全局变量和局部变量有重名现象。
若重名,则全局变量将被屏蔽而不起作用.√
10、gets()、puts()一次只能输入、输出一个字符串;
scanf()、printf()可以输入、输出几个字符串。
√
三、填空(本题共5小题,满分20分)。
1、下列程序的运行结果是____________
intmain(void)
{intn=0;
while(n++<
=1)
printf(“%d\t”,n);
printf(“%d\n”,n);
答案:
123
2、下列程序的运行结果是____________
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
{inta=7,b=5;
fun(a,b)/m);
3、下列程序的运行结果是____________
{intx,y,z;
x=y=z=0;
++x||++y&
++z;
printf(“x=%d\ty=%d\tz=%d\n”,x,y,z);
x=y=z=-1;
++x&
++y||++z;
x=1y=0z=0
x=0y=-1z=0
4、运行程序时,输入howdoyoudo?
程序输出结果是___________________
intmain(void)
{chars[20],s1[20];
%s"
%s\n"
%s%s"
s,s1);
s=%s,sl=%s"
s,s1);
puts("
gets(s);
puts(s);
答案:
howdoyoudo?
how
s=do,s1=you
do?
5、以下程序为求2个数中较大者。
其中①_____________;
②______________。
intmain(void)
{intmax(intx,inty);
inta,b,c;
%d%d"
a,&
b);
c=①_____________;
max=%d\n"
c);
intmax(intx,inty)
{intz;
if(x>
y)z=x;
elsez=y;
②______________;
①max(a,b);
②return(z);
三、编程(本题共2小题,满分30分)。
1、求10~50之间被3整除的数及其和。
inti,sum=0;
for(i=10;
=50;
if(i%3==0)
sum=sum+i;
printf("
%3d"
i);
\n10-50之间被3整除的数的和是%d\n"
sum);
2、随机生成10个100~200之间整数,采用数组的方法将数据按降序排列。
stdlib.h>
inta[10],i,j,t;
10;
a[i]=rand()%101+100;
=8;
=8-i;
if(a[j]<
a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
%4d"
(3)一、本题共15小题,满分30分(每小题2分)。
1、以下合法的赋值语句是_B_
A)x=y=100B)d--;
C)x+y;
D)c=int(a+B);
2、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是_C_
A)INPUTx、y、z;
B)scanf(“%d%d%d”,x,y,z);
C)scanf(“%d%d%d”,&
x,&
y,&
z);
D)read(“%d%d%d”,&
3、下面标识符中,不合法的用户标识符为D。
A)PkdB)k_90C)_924D)k#b
4、下面不是字符串常量的是A。
A)‘abc’B)“12’12”C)”0”D)“”
5、下面不属于C语言的数据类型是_C_。
A)整型B)实型C)逻辑型D)双精度实型
6、若定义:
inta=7;
floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是B。
A)7B)2.50000C)3.500000D)0.00000
7、设有以下定义:
#defineg2
inta=0;
doubleb=1.25;
charq=’A’;
则下面语句中错误的是D。
A)a++;
B)b++;
C)q++;
D)g++;
8、设有程序段:
intk=10;
while(k==0)k=k-1;
则下面描述中正确的是C。
A)while循环执行10次B)循环是无限循环
C)循环语句一次也不执行D)循环体语句执行一次
9、假定a和b为int型变量,则执行以下语句后b的值为_D_
a=1;
b=10;
do{
b-=a;
a++;
}while(b--<
0);
A)9B)-2C)-1D)8
10、设j为int型变量,则下面for循环语句的执行结果是_B_
for(j=10;
if(j%3)
j--;
--j;
%d"
j);
A)63B)74C)62D)73
11、以下只有在使用时才为该类型变量分配内存的存储类说明是_B_
A)auto和static
B)auto和register
C)register和static
D)extern和register
12、有如下程序
intfunc(intk,intq)
{return(k+q);
voidmain()
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
r);
该程序的输出的结果是_D_
A)12B)13C)14D)15
13、在定义inta[10];
之后,对a的引用正确的是C。
A)a[10]B)a[6.3]C)a[10-10]D)a(6)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)