第3部分 C语言练习题Word格式文档下载.docx
《第3部分 C语言练习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第3部分 C语言练习题Word格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。
x1,&
x2,&
y1,&
y2);
x1=%d,x2=%d,y1=%c,y2=%c\n"
x1,x2,y1,y2);
12.下面程序的输出结果是______。
#include<
intx=5,y=10;
x+=y;
y=x-y;
x-=y;
x=%d,y=%d\n"
x,y);
13.有如下程序,输入数据:
12345ff678后,输出结果是。
intx;
floaty;
%3d%f"
x,&
y);
x=%d,y=%f\n"
二、选择题
1.下列不可用作C语言标识符的是。
A.a_1B.no-1C.scanfD._int
2.C语言提供的合法关键字是。
A.FloatB.signedC.INTD.Char
3.下列合法的实型常数是。
A.E2B.6E-3.5C.2E0D.1.3E
4.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用十六进制表示的字符常量'
\x41'
是。
A.字符AB.字符aC.字符cD.非法的常量
5.下列合法转义字符是。
A.'
\\'
B.'
\018'
C.'
xab'
D.'
\ab'
6.以下选项中可作为C语言合法整数的是。
A.1010BB.0386C.0xffffD.x2a2
7.若有代数式
,则不正确的C语言表达式是。
A.a/c/d*b*3B.3*a*b/c/d
C.3*a*b/c*dD.a*b/d/c*3
8.已知各变量的类型说明如下:
inta=2,b=5;
doublex=8.5;
则以下符合C语言语法的表达式是。
A.a+=a-=(b=2)*(a=8)B.a=b/3=8
C.x%3D.x=float(a)
9.以下符合C语言语法的赋值表达式是。
A.a=b+c=3B.a=(b=5,c=b+6)
C.a=b=5,c=b+2D.a=4+b++=c+2
10.在C语言中,要求运算数必须是整型的运算符是。
A./B.++C.*=D.%
11.若有说明语句:
chars='
\101'
;
则变量s。
A.包含一个字符B.包含两个字符
C.包含三个字符D.说明不合法,s的值不确定
12.在C语言中,char型数据在内存中的存储形式是。
A.补码B.反码C.原码D.ASCII码
13.设变量x为float类型,m为int类型,则以下能实现将x中的数值保留小数点后三位,第四位进行四舍五入运算的表达式是。
A.x=(x*1000+0.5)/1000.0
B.m=x*1000+0.5,x=m/1000.0
C.x=x*1000+0.5/1000.0
D.x=(x/1000+0.5)*1000.0
14.设以下变量均为int类型,则值不等于3的表达式是。
A.(m=n=2,m+n,m+1)B.(m=n=2,m+n,n+1)
C.(m=2,m+1,n=2,m+n)D.(m=2,m+1,n=m,n+1)
15.假设所有变量均为整型,则表达式(x=y=3,y++,x+y)的值是。
A.7B.8C.6D.2
16.已知c是字符型变量,下面不正确的赋值语句是。
A.c='
\012'
B.c='
12'
C.c='
1'
+'
D.c=1+2;
17.putchar函数可以向终端输出一个。
A.整型变量表达式值B.字符串
C.实型变量值D.字符
18.以下程序段的输出结果是。
inta=12345;
printf("
%4d\n"
a);
A.12B.34C.12345D.提示出错
19.若a定义为int型,x定义为float型,以下合法的scanf函数调用语句为。
A.scanf("
%d%f"
a,x);
B.scanf("
a,&
x);
C.scanf("
%x%d"
a,&
D.scanf("
%f%d"
20.有如下程序段:
inta1,a2;
charc1,c2;
%d%c%d%c"
a1,&
c1,&
a2,&
c2);
若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是。
(注:
└┘代表空格)
A.10A└┘20BB.10└┘A20B
C.10└┘A└┘20└┘BD.10A20└┘B
21.若变量已正确说明为int类型,要通过语句scanf("
%d%d%d"
&
b,&
c);
给a赋予10,b赋予20,c赋予30,不正确的输入形式为。
A.10└┘20└┘30↙B.10,20,30↙
C.10↙D.10└┘20↙
20└┘30↙30↙
22.若要使x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是。
%d,%d"
x2)
%c%c"
A.1020ABB.10└┘20└┘ABC
C.10,20D.10,20AB
AB
23.有如下程序段,从键盘输入数据的正确形式应是。
intx,y;
x=%d,y=%d"
A.1234B.x=12,y=34
C.12,34D.x=12└┘y=34
24.以下程序的执行结果是。
{intx=2,y=3,z=4;
x=%%%d,y=%%d,z=%d"
x,y,z);
return0
A.x=%2,y=%3,z=4B.x=%2,y=%d,z=3
C.x=2,y=3,z=4D.x=%2,y=%d,z=4
25.阅读以下程序,当输入数据的形式为:
12,34,正确的输出结果为。
inta,b;
%d%d"
b);
a+b=%d\n"
a+b);
A.a+b=46B.有语法错误
C.a+b=12D.不确定值
参考答案
1.小写2.下划线
3.补码4.转义
5.26.ffffffff,ffff
7.50,62,32,2
8.12.345670,12.3457,12.346,└┘└┘└┘└┘12.346
9.5,510.i=1,k=,j=2
11.①x1=98,x2=765,y1=4,y2=1②x1=98,x2=76,y1=,y2=3
③x1=98,x2=765,y1=4,y2=2
12.x=10,y=513.x=123,y=45.000000
二、选择题
1.B
2.B
3.C
4.A
5.A
6.C
7.C
8.A
9.B
10.D
11.A
12.D
13.B
14.C
15.A
16.B
17.D
18.C
19.B
20.A
21.B
22.D
23.B
24.B
25.D
练习2选择结构程序设计
1.为表示关系x≥y≥z,应使用C语言表达式。
2.若有inta=8,b=5,c=3;
则表达式a>
b&
&
b<
c的结果为。
3.若有intx=10,y=20;
则表达式x>
y?
x:
y的结果为。
4.C语言中用表示逻辑“假”。
5.已知:
表示“x是奇数”表达式为。
6.已知:
intx=15,y=20,z=35;
表达式x||y+z&
y-z的值是。
1.以下程序的输出结果是。
inti=0,j=0,k=6;
if((++i>
0)||(++j>
0))k++;
printf("
%d,%d,%d\n"
i,j,k);
return0;
A.0,0,6B.1,0,7C.1,1,7D.0,1,7
2.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>
b)&
(n=c>
b)后n的值为。
A.1B.2C.3D.0
3.设有定义:
intx=12,y=20,z=24;
,以下语句中执行效果与其它三个不同的是。
A.if(x>
y){x=y;
y=z;
z=x;
}B.if(x>
y)x=y,y=z,z=x;
C.if(x>
y)x=y;
D.if(x>
y){x=y,y=z,z=x;
4.对于if语句的基本形式:
if(表达式)语句,其中“表达式”。
A.可以是任意合法的表达式B.必须是逻辑表达式
C.必须是关系表达式D.必须是逻辑表达式或关系表达式
5.对于以下程序运行时,输入的值为时,才会输出***。
{
%d"
if(x<
=20);
else
if(x!
=30)
***"
}
A.大于20且不等于30的整数B.大于20或等于30的整数
C.小于20的整数D.不等于30的整数
6.以下程序运行时,输出的值为。
intx=1,y=2,z=3;
if(x==1&
y++==2)
if(y!
=2||z--!
=3)
else
A.1,2,2B.1,3,2C.1,2,3D.1,3,3
7.C语言规定:
else子句总是与配对。
A.缩排位置相同的ifB.其之前最近的未配对的if
C.其之后最近的ifD.同一行上的if
8.在C语言中,逻辑运算符两侧运算对象的类型。
A.可以是任何类型的数据B.只能是0或非0正数
C.只能是0或1D.只能是整型或字符型数据
9.若有inta,b;
表达式(Exp)?
(--a):
(++b),则其中与Exp等价的表达式是。
A.Exp==lB.Exp==0C.Exp!
=lD.Exp!
=0
10.执行以下程序段后,w的值为。
intx='
F'
k=21,y=32;
x=((k||y)&
(x<
'
a'
));
A.0B.-1C.NULLD.l
11.以下程序运行时,输出的值为。
intm=20,n=30,k=40;
if(m>
n)
if(n<
k)
++k);
elseprintf("
++n);
%d\n"
m++);
A.403020B.3121C.20D.40
12.以下程序运行时,输出的值为。
intm=20,n=30,k=40;
n)m=n;
k=m;
if(k!
=m)k=n;
m,n,k);
A.20,30,20B.30,40,30C.40,20,40D.有语法错误
三、程序填空
1.求a、b、c三个数中的最大数。
inta,b,c,max;
1);
if(a>
b)
max=2;
else
max=b;
if(3)
max=c;
max=%d\n"
max);
2.从键盘输入一个字符,若是大写字母则转换为小写字母;
若是小写字母则转换为大写字母。
charch;
ch=getchar();
if(4)
ch=ch+32;
5
if(ch>
='
ch<
z'
)
ch=6
ch=%c\n"
ch);
3.从键盘输入两个整数,按照从小到大顺序输出。
intm,n,t;
7);
if(m>
n)
{
8
m=n;
n=t;
%5d%5d\n"
m,n);
1.x>
=y&
y>
=z2.1
3.204.0
5.z%2==1或z%2!
=06.1
6.D
7.B
9.D
11.C
12.A
1.&
c2.a
3.max<
c4.ch>
A'
Z'
5.else6.ch-32;
7.&
m,&
n8.t=m;
练习3循环结构程序设计
1.下面程序段中的循环执行次数为。
intx=10;
while(x)x=x/2;
2.下面程序的输出结果是。
inta=3,b=15;
do
a+=b;
b=b/2;
}while(b>
1);
printf(“%d\n”,a);
3.下面程序的输出结果是。
intk=1,s=0;
do
if((k%2)!
=0)continue;
s+=k;
k++;
}while(k>
10);
s=%d\n"
s);
4.下面程序的输出结果是。
inti=5;
if(i%3==1)
if(i%5==2)
{printf("
*%d"
i);
break;
i++;
}while(i!
=0);
\n"
5.下面程序的输出结果是。
intm,n,sum;
for(m=3;
m>
=1;
m--)
sum=0;
for(n=1;
n<
=m;
n++)
sum+=m*n;
sum);
6.下面程序的输出结果是。
intm=10;
for(;
m>
0;
m--)
{
if(m%3)
%d,"
m--);
continue;
printf("
--m);
}
1.标有//note的语句的执行次数是。
inty=30,i;
for(i=0;
i<
20;
i++)
{if(i%2==0)continue;
y+=i;
//note
}
y);
A.120B.190C.130D.100
2.以下程序的输出结果是。
intc=5,k;
for(k=1;
k<
3;
k++)
switch(k)
{
default:
c+=k;
case2:
c++;
break;
case4:
c+=2;
}
c);
A.10B.8C.6D.12
3.以下程序的输出结果是。
intm,n;
for(m=0;
m<
4;
m++,m++)
n++);
*"
A.************B.********
C.****D.*
4.以下程序的输出结果是。
intm;
for(m=6;
10;
m++,m++)
**%d"
m);
A.**6**8B.**6**8**10
C.**6D.***8
5.以下程序的输出结果是。
intk=0;
%d,"
k);
while(k++);
A.1,0B.0,1C.0,1,2D.无限循环
6.以下程序的输出结果是。
intk=12;
for(;
k>
8;
k--);
if(k%2==0)printf("
A.1210B.12C.8D.无限循环
7.以下程序的输出结果是。
A.12,10B.12C.8D.无限循环
8.以下程序的输出结果是。
intt=98765,x;
while(t!
=0)
x=t%10;
x);
t/=10;
A.98765B.56789C.57689D.无限循环
1.计算数的阶乘。
inti,n;
longnp;
scanf("
n);
np=1
for(;
2;
)
np*=i;
n=%dn!
=%ld\n"
n,np);
2.计算1—100累加之和。