基础c语言模拟题含答案Word格式.docx
- 文档编号:17383681
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:17
- 大小:21.29KB
基础c语言模拟题含答案Word格式.docx
《基础c语言模拟题含答案Word格式.docx》由会员分享,可在线阅读,更多相关《基础c语言模拟题含答案Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
B.2
C.4
D.8和1
10、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是
A.c=b=a;
B.(a=c)‖(b=c);
C.(a=c)&
&
(b=c);
D.a=c=b;
11、若已定义x和y为double型,则表达式:
x=1,y=x+3/2的值是( )
C.2.0
D.2.5
12、执行语句x=(a=3,b=a--)后x,a,b的值为;
A.332
B.322
C.323
D.232
13、语句printf("
a\bre\'
hi\'
y\\\bou\n"
);
的输出结果是
A.a\bre\'
y\\\bou
B.a\bre\'
y\bou
C.re'
hi'
you
D.abre'
14、在下列运算符中,优先级别最高的是
A.<
=
B.=
C.%
D.&
15、若执行下面的程序时从键盘上输入3和4,则输出是
main()
{
int
a,b,s;
a=3,b=4;
scanf("
%d%d"
&
a,&
b);
s=a+b;
printf("
%d\n"
s--);
%d\n,--s);
}
A.7,7
B.7,5
C.6,7
D.7,6
16、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( )。
#include<
stdio.h>
main()
{ int
x;
seanf(”%d”,&x);
if(x++>
5)printf(”%d”,x);
else
printf(”%d\n”,x--);
A.7和5
B.6和3
C.7和4
D.6和4
17、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,
则逻辑表达式(m=a
>
b)&
(n=c
d)运算后,n的值为:
A.0
B.1
C.2
D.3
18、逻辑运算符两侧运算对象的数据类型
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
19、表示关系X
<
=Y
=Z的C语言表达式为________。
A.(X<
=Y)&
(Y<
=Z)
B.(X<
=Y)AND(Y<
C.(X<
=Y<
D.(X<
20、判断字符型变量x是否是大写字母的正确的表达式______.
A'
=x<
='
Z'
B.(x>
=A)&
(x<
=Z)
C.('
=x)&
('
=>
x)
D.(x>
)&
21、有如下程序
main0
x=1,a=0,b=0;
switch(x){
case
0:
b++;
1:
a++
2:
a++;
b++
a=%d,b=%d\n"
a,b);
该程序的输出结果是
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
22、已知
x=10,y=20,z=30;
以下语句执行后x,y,z的值是
if(x>
y)
z=x;
x=y;
y=z;
A.x=10,y=20,z=30
B.x=20,y=30,z=30
C.x=20,y=30,z=10
D.x=20,y=30,z=20
23、以下程序的输出结果是
{int
a=100,x=10,y=20,ok1=5,ok2=0;
if(x
if(y!
=10)
if(!
ok1)
a=1;
else
if(ok2)
a=10;
a=-1;
a);
B.0
C.-1
D.值不确定
24、i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for
(i=5;
i;
i--)
for(j=0;
j
4;
j++){…}
A.20
B.24
C.25
D.30
25、以下程序的输出结果是
main(
x=10,y=10,i;
for(i=0;
x
8;
y=++i)
%d,%d
"
,x--,y);
A.10192
B.9876
C.10990
D.101091
26、执行语句:
for
(i=1;
i++
后,变量i的值是______.
A.3
B.4
C.5
D.不定
27、以下程序的输出结果是
int
i,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);
A.x=4
B.x=8
C.x=6
D.x=12
28、有以下程序段
k=0
while(k=1)k++;
while
循环执行的次数是
A.无限次
B.有语法错,不能执行
C.一次也不执行
D.执行1次
29、在while(x)语句中的x与下面条件表达式等价的是( )。
A.x==0
B.x==1
C.x!
=0
D.x!
=1
30、执行下面的程序段后,变量k中的值为
s[0]=k;
k=s[1]*10;
A.不定值
B.33
C.30
D.10
31、若有说明:
a[10];
则对a数组元素的正确引用是
A.a[10]
B.a[3,5]
C.a(5)
D.a[10-10]
32、设有数组定义:
char
array[]=”China”;
,则数组array所占的空间为( )。
A.4个字节
B.5个字节
C.6个字节
D.7个字节
33、从下列选项中选择不会引起二义性的宏定义是( )。
A)#define
POWER(X)X*X B)#define
POWER(X)(X)*(X)
C)#define
POWER(X)(X*X) D)#define
POWER(X)((X)*(X))
A.A
B.B
C.C
D.D
34、在说明语句:
*f();
中,标识符f代表的是
A.一个用于指向整型数据的指针变量
B.一个用于指向一维数组的行指针
C.一个用于指向函数的指针变量
D.一个返回值为指针型的函数名
35、
若有说明:
i,
j=2,*p=&
i;
,则能完成i=j赋值功能的语句是
A.i=*p;
B.p*=*&
j;
C.i=&
D.i=**p;
36、下面程序的输出是
x=040;
printf("
x=x<
1);
A.100
B.160
C.120
D.64
37、C语言中____函数的递归调用。
A.允许
B.不允许
C.由用户自己而定
D.不确定
38、关于建立函数的目的,以下正确的说法是
A.提高程序的执行效率
B.提高程序的可读性
C.减少程序的篇幅
D.减少程序文件所占内存
39、有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5));
该函数调用语句中,含有的实参个数是
D.有语法错
40、以下函数
fff(float
{
printf(”%d\n”,x*x);
}
的类型是( )。
A.与参数x的类型相同
B.void类型
C.int类型
D.无法确定
填空题:
(每题1.5分,共24分)
1、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为_____;
一个double型数据在内存中所占的字节数为_________
4,8
2、设有以下变量定义,并已赋确定的值
charw;
intx;
floaty;
doublez;
则表达式:
w*x+z-y所求得的数据类型为__________。
double
3、设x和y均为int型变量,且x=1,y=2,则以下表达式:
0+x/y的值为___。
0
4、若a是int型变量,则计算表达式后a的值为_______
a=25/3%3
2
5、语句:
?
++x;
x=x+1;
x=l+x;
,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)
X+=1
6、若变量已正确定义,以下语句段的输出结果是——。
x=0;
y=2;
z=3;
switch(x)
{
caseO:
switch(y==2)
case1:
printf(”*”);
break;
case2:
printf(”%”);
}
switch(z)
printf(”$”);
case2tprintf(”$”);
d
*#
7、设x,y、z均为int型变量,请写出描述“x或Y中至少有一个小于Z”的表达式——。
x<
Z||Y<
Z<
font>
8、已知charch;
则判断ch是英文字符的逻辑表达式是_______________
(ch<
z'
ch>
a'
)||(ch<
)
9、表示条件:
10<
x<
100或x<
0的C语言表达式是________。
(X>
10&
X<
100)||X<
0
10、请写出以下程序的输出结果——。
#include
main()
inta=100:
if(a>
100)
printf(”%d\n”,a>
100);
else
pIintf(”%d\n”,a<
=100);
!
&&||
11、下面程序的功能是:
输出100以内能被3整除且个位数为6的所有整数,请填空。
#include<
stdio.h>
{inti,j;
for(i=0;
______________;
i++)
{j=i*10+6;
if(________)continue;
%d"
j);
i<
10,j%3!
12、下面程序的功能是:
将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。
请填空。
string.h>
{chara[]="
clanguage"
t;
inti,j,k;
k=strlen(a);
i<
=k-2;
i+=2)
for(j=i+2;
j<
=k;
_______________)
if(_______________
j+=2
a[i]>
a[j]
13、读入一个1到9的数a,求s=a+aa+aaa+…+aa…a(共20项)。
请对下述程
序填空,其中temp保存当前处理项aa…a。
(每个空分别以序号标注,如:
(1)
____)
intI;
longa,s,temp;
s=temp=0;
Pleaseenteranumber(1-9)"
scanf(
(1)____);
s=a;
for(I=1;
(2)____;
(3)____)
"
%lf"
a,i<
20,i++,a+a*10,temp
14、下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存人数组b,并按每行3个元素
输出数组b。
{inta[10],b[10],i;
_________;
i++)
scanf(”%d”,&
a[i]);
for(i=1;
__________;
b[i]=a[i]-a[i-1];
i<
10;
{printf(”%3d”,b
10i<
10i%3==0
15、下面程序的功能是:
将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。
{chara[]=”clanguage”,t;
inti,j,k;
k=strlen(a);
=k-2;
i+=2)
for(j=i+2;
j
if(___________)
{t=a[i];
a[i]=a
i+=2
a[ij>
16、阅读以下程序并填空,该程序是求阶乘的累加和。
S=0!
+1!
+2!
+…+n!
longf(intn)
inti:
longs;
s=________;
=n;
returns;
intk,n;
scanf(”%
1s*i0f(k)
程序设计题:
(请在以下3题中任选2题作答,若3道全部解答,以前2道为准,每题8分,共16分)
1、编程序求出100到200之间同时满足除3余2和除5余3条件的数的个数。
main()
inti,num=0;
for(i=100;
i<
=200;
if((i%3==2)&
(i%5==3))
num=num+1;
\n%d"
num);
本题答案:
6
2、回文数是指正读和反读都一样的正整数。
例如3773等都是回文数。
求出[1000,9999]以内的回文数是6的倍数的最大回文数。
inta1,b1,a2,b2,i,hwm;
for(i=1000;
=9999;
a1=i/1000;
b1=i/100-a1*10;
b2=i/10-a1*100-b1*10;
a2=i%10;
if((a1==a2)&
(b1==b2)&
(i%6==0))
hwm=i;
所求的最大回文数为%d"
hwm);
参考答案:
3、编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。
该数是一个完全平方数,第1、2位数字之和为12,第3、4位数字之积为24。
#include<
math.h>
{intn=0;
inta,b,c,d,e,m;
for(m=32;
m<
=99;
m++)
e=m*m;
a=e/1000;
/*a为千位*/
b=(e%1000)/100;
/*b为百位*/
c=((e%1000)%100)/10;
/*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基础 语言 模拟 答案