C语言程序设计复习与练习Word格式.docx
- 文档编号:19464849
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:27
- 大小:29.85KB
C语言程序设计复习与练习Word格式.docx
《C语言程序设计复习与练习Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习与练习Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
17.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()。
A.7B.8C.9D.10
18.下列程序的输出结果是()。
#include<
stdio.h>
main()
{
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf(“%d\n”,d*y);
}
A.3B.3.2C.0D.3.07
19.设intx=1,y=1;
表达式(!
x||y--)的值是()。
A.0B.1C.2D.-1
20.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。
A.1B.2C.2.0D.2.5
21.若变量a,i已正确定义,且i已正确赋值,则合法的语句是()。
A.i=(int)aB.++i;
C.a=a++=5;
D.a=int(i);
22.若执行以下程序段后,c3的值为()。
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
A.0B.0.5C.1D.2
23.如下程序的运行结果是()。
inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
A.34B.42C.43D.33
24.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是()。
A.a>
=10ora<
=0B.a>
=10|a<
=0C.a>
=10&
&
a<
=0D.a>
=10||a<
=0
25.若变量x、y、z均为double类型且已正确赋值,不能正确表示
的C语言表达式是()。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
26.设x、y、t均为int型变量,则执行语句:
x=y=3;
t=++x||++y;
后,y的值为()。
A.不定值B.4C.3D.1
27.设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的值为()。
28.假设w、x、y、z、m均为int型变量,有如下程序段:
w=1;
x=2;
y=3;
z=4;
m=(w<
x)?
w:
x;
m=(m<
y)?
m:
y;
z)?
m:
则该程序运行后,m的值是()。
A.4B.3C.2D.1
29.下列程序的输出结果是()。
inta=0,b=0,c=0;
if(++a>
0||++b>
0)
++c;
printf(“\na=%d,b=%d,c=%d\n”,a,b,c);
A.a=0,b=0,c=0B.a=1,b=1,c=1
C.a=1,b=0,c=1D.a=0,b=1,c=1
30.以下程序的输出结果是()。
inta=5,b=4,c=6,d;
printf(“%d\n”,d=a>
b?
(a>
c?
a:
c):
(b));
A.5B.4C.6D.不确定
31.在C语言中,如果下面的变量都是int类型,则输出的结果是()。
sum=pad=5;
pad=sum++,pad++,++pad;
A.8B.7C.6D.5
32.以下程序的输出结果是()。
inti=010,j=10;
printf(“%d,%d\n”,++i,j--);
A.11,10B.9,10C.010,9D.10,9
33.已知inti;
floatf;
,正确的语句是()。
A.(intf)%i;
B.int(f)%i;
C.int(f%i);
D.(int)f%i;
34.已知intj,i=1;
,执行语句j=-i++;
后,j的值是()。
A.1B.2C.-1D.-2
35.已知inta=4,b=5;
,则招待表达式a=a>
b后,变量a的值为()。
A.0B.1C.4D.5
36.在C语言中,下列运算符的操作数必须是int类型的运算符是()。
A.%B./C.--D.++
37.判断char类型数据c1是否为大写字母的最简单且正确的表达式为()。
A.‘A’<
=c1<
=‘Z’B.(c1>
=‘A’)&
(c1<
=‘Z’)
C.(‘A’<
=c1)AND(‘Z’>
=c1)D.(c1>
38.已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下不符合C语言语法的表达式是()。
A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=a*(a=3)
二、填空题
1.在C语言中,输入操作是由库函数完成的,输出操作是由库函数完成的。
2.用字符串的形式表示china。
3.字符串“ab\034\\\x79”的长度为。
4.在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为;
一个double型数据在内存中所占的字节数为。
5.若s是int型变量,且s=6,则s%2+(s+1)%2表达式的值为。
6.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为,b值为,c值为。
7.若有定义:
charc=’\010’;
则变量c中包含的字符个数为。
8.C语言中的标识符只能由3种字符组成,它们是、和。
9.若a是int型变量,则执行表达式a=25/3%3后a的值为。
10.若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为,n的值为。
11.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为。
12.表达式pow(2.8,sqrt(double(x)))值的数据类型为。
13.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为。
14.若有定义intm=5,y=2;
,则执行表达式y+=y-=m*=y后y的值是。
15.已知inty;
floatx=-3;
,执行语句y=x%2;
后,变量y的值为。
16.已知inta=15,b=240;
则表达式(a&
b)&
b||b的结果为。
17.表达式8.0*(1/2)的值为。
3.7同步练习
1.下面程序的输出结果是()。
intx=5,y=3;
printf(“%d\n”,y=x/y);
A.0B.1C.3D.不确定的值
2.若变量已正确定义,下面程序段的输出结果是()。
x=5.238794;
printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);
A.5.239000B.输出格式说明与输出项不匹配,输出无定值
C.5.238000D.5.24
3.下面语句:
printf(“|%8.5f|\n”,3461.45);
的输出结果是()。
A.|61.45000|B.|3461.450|C.|3461.45000|D.|3461.4500|
4.与数学公式
等价的C语言表达式是(),假定其中的x的单位是度数且不考虑
值的精度。
A.sqrt(cos(x))B.sqrt(abs(cos(x*3.14/180)))
C.sqrt(abs(cos(x*
/180)))D.sqrt(fabs(cos(x*3.14/180)))
5.下面的程序()。
#include<
intx=3,y=0,z=0;
if(x=y+z)printf(“****”);
elseprintf(“####”);
A.有语法错误不能通过编译B.输出****
C.可以通过编译,但是不能通过连接,因而不能运行D.输出####
6.执行下面程序中的输出语句后,a的值是()。
main()
{
inta;
printf(“%d\n”,(a=3*5,a*4,a+5));
}
A.65B.20C.15D.10
7.以下程序不用第三个变量,实现将两个数进行对调的操作。
请填空()。
#include<
inta,b;
scanf(“%d%d”,&a,&
b);
printf(“a=%db=%d”,a,b);
a=a+b;
b=a-b;
a=;
printf(“a=%db=%d\n”,a,b);
}
A.a+bB.a-bC.b*aD.a/b
8.以下程序的输出结果为()。
intm=7,n=4;
floata=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf(“%f\n”,x);
A.27.000000B.27.500000C.28.000000D.28.500000
9.若变量都已正确说明,则以下程序段:
a=2;
b=3;
printf(a>
b?
“***a=%d”:
“###b=%d”,a,b);
A.没有正确的输出格式控制B.输出为:
***a=2
C.输出为:
###b=2D.输出为:
***a=2###b=2
10.若已定义inta=256;
,执行语句printf(“%x”,a);
的结果是()。
A.100B.256C.ffeD.ff
11.执行下列程序时输入1234567,程序的运行结果为()。
#include<
scanf(“%2d%2ld”,&x,&y);
printf(“%d\n”,x+y);
A.17B.46C.15D.9
12.已知chara;
intb;
floatc;
doubled;
,则表达式a*b+c-d结果为()型。
A.doubleB.intC.floatD.char
13.已知inta,b;
,用语句scanf(“%d%d”,&a,&b);
输入a,b的值时,不能作为输入数据分隔符的是()。
A.;
B.空格C.回车D.【Tab】键
14.语句printf(“%d”,(a=2)&&(b=-2));
的输出结果是()。
A.无输出B.结果不确定C.-1D.1
15.下述程序的输出结果是()。
{printf(“%f”,2.5+1*7%2/4);
A.2.500000B.2.750000C.3.375000D.3.000000
16.根据定义和数据的输入方式,输入语句的正确形式为()。
已有定义:
floatfl,f2;
数据的输入方式:
4.52
3.5
A.scanf(“%f,%f”,&
fl,&
f2);
B.scanf(“%f%f”,&
C.scanf(“%3.2f%2.1f”,&
D.scanf(“%3.2f,%2.1f”,&
1.下面程序的输出是。
inti=-200,j=25;
printf(“%d,%d”,i,j);
printf(“i=%d,j=%d\n”,i,j);
printf(“i=%d\nj=%d\n”,i,j);
2.使用强制转换方法将正整数转换成字符。
本题程序如下:
charc;
inti;
printf(“输入一个正整数(小于255):
”);
scanf(“%d”,&i);
c=(char)i;
printf(“%c的ASCII码为%d\n”,c,i);
本程序的执行结果为。
3.直接使用printf()的格式符输出八进制数和十六进制数。
inti;
printf(“输入一个整数:
printf(“%d(10)<
=>
%o(8)\n”,i,i);
printf(“%d(10)<
%x(16)\n”,i,i);
输入100的执行结果为和。
4.本题程序如下:
inti=560,h,m;
h=i/60;
/*计算小时数*/
m=i-60*h;
/*计算余下的分钟*/
printf(“%d分钟<
%d小时%d分钟\n”,i,h,m);
5.以下程序的输出结果为。
{printf(“*%f,%4.3f*\n”,3.14,3.1415);
6.已有定义intd=-2;
,执行以下语句后的输出结果是。
printf(“*d
(1)=%d*d
(2)=%3d*d(3)=%-3d*\n”,d,d,d);
printf(“*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n”,d,d,d);
7.在scanf()函数调用语句中,可以在格式字符和%号之间加上一个星号,它的作用是;
当输入以下数据时:
10203040<
回车>
,下面语句的执行结果是。
intal,a2,a3;
scanf(“%d%*d%d%d”,&
al,&
a2,&
a3);
printf(“%d%d%d”,al,a2,a3);
8.执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,el=’A’,c2=’a’,正确的数据输入形式是。
inta,b;
floatx,y;
charcl,c2;
scanf(“a=%db=%d”,&a,&b);
scanf(“x=%fy=%f”,&x,&y);
scanf(“el=%cc2=%c”,&
cl,&
c2);
printf(“a=%d,b=%d,x=%f,y=%f,el=%c,c2=%c”,a,b,x,y,cl,c2);
4.6同步练习
1.下列程序的运行结果是()。
{inta=2,c=5;
printf(“a=%d,b=%d\n”,a,c);
A.a=%2,b=%5B.a=2,b=5
C.a=d,b=dD.a=%d,b=%d
2.语句printf(“a\bre\’hi\’y\\\bou\n”);
A.a\bre\’hi\’y\\bouB.a\bre\’hi\’y\bou
C.re’hi’youD.abre’hi’y\ou
(说明:
‘\b’是退格符)
3.如下程序的输出结果是()。
{intx=1,a=0,b=0;
switch(x)
case0:
b++;
case1:
a++;
case2:
printf(“a=%d,b=%d\n”,a,b);
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
4.如下程序的输出结果是()。
{floatx=2.0,y;
if(x<
0.0)y=0.0;
elseif(x<
10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
}
A.0.000000B.0.250000C.0.500000D.1.000000
5.如下程序的输出结果是()。
inta=12,b=5,c=-3;
if(a>
b)
if(b<
0)c=0;
elsec++;
printf(“%d\n”,c);
A.0B.1C.-2D.-3
6.阅读以下程序:
{intx;
scanf(“%d”,&
x);
if(x--<
5)printf(“%d”,x);
elseprintf(“%d”,x++);
程序运行后,如果从键盘输入5,则输出结果是()。
A.3B.4C.5D.6
7.以下程序的输出结果是()。
{inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;
break;
switch(b%2)
{default:
printf(“%d\n”,m);
A.1B.2C.3D.4
8.下面的程序()。
{intx=3,y=0,z=0;
if(x=y+z)printf(“****”);
9.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。
if(x++>
elseprintf(“%d\n”,x--);
A.7和5B.6和3C.7和4D.6和4
10.以下程序的输出结果是()。
{inta=-1,b=4,k;
k=(++a<
0)&
!
(b--<
=0);
printf(%d%d%d\n”,k,a,b);
A.104B.103C.003D.004
11.能正确表示a≥10或a≤0的关系表达式是()。
C.a>
=l0&
12.假定所有变量均已正确说明,下列程序段运行后x的值是()。
a=b=c=0;
x=35;
if(!
a)x--;
elseif(b);
if(c)x=3;
elsex=4;
A.34B.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习 练习