C语言课后习题参考答案前5章Word文档格式.docx
《C语言课后习题参考答案前5章Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课后习题参考答案前5章Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
A)#include<
stdio.h>
B)#include<
voidmain()voidmain()
{intx,y,z;
x=0;
y=x+1;
x=0,y=x+1;
z=x+y;
}}
C)#include<
D)#include<
y=x+1,x=0,y=x+1;
z=x+y,
8、若a为整型变量,则以下语句()
a=-2L;
printf(“%d\n”,a);
A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为2
9、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()
A)i=int(a)B)++i;
C)a=a++=5;
D)a=int(i);
10、若执行以下程序段后,c3的值为()
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
A)0B)0.5C)1D)2
11、如下程序的运行结果是()
#include<
voidmain()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}
A)34B)42C)43D)33
12、以下程序的输入结果为()
{inti=4,a;
a=i++;
printf(“a=%d,i=%d’,a,i);
A)a=4,i=4B)a=5,i=4C)a=4,i=5D)a=5,i=5
13、以下程序的输出结果是()
#include<
{inta=5,b=4,c=6,d;
printf(“%d\n”,d=a>
b?
(a>
c?
a:
c):
(b);
//多了(
A)5B)4C)6D)不确定
14、在C语言中,如果下面的变量都是int类型,则输出的结果是()
sum=pad=5;
pad=sum++,pad++,++pad;
printf(“%d\n”,pad);
A)7B)6C)5D)4
15、已知inti;
floatf;
正确的语句是()
A)(intf)%i;
B)int(f)%i;
C)int(f%i);
D)(int)f%i;
16、已知intj,i=1;
执行语句j=-i++;
后,j的值是()
A)1B)2C)-1D)-2
17、已知各变量的类型说明如下:
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)
18、C语言中运算对象必须是整型的运算符是()
A)%=B)/C)=D)<
=
19、有以下程序
main()
{intm=12,n=34;
printf("
%d%d"
m++,++n);
%d%d\n"
n++,++m);
程序运行后的输出结果是()
A)12353514B)12353513C)12343514D)12343513
20、下面程序的输出结果是()
main()
{intx=5,y=3;
printf(“%d\n”,y=x/y);
}
A)0B)1C)3D)不确定的值
21、执行下列程序中的输出语句后,a的值是()
{inta;
printf(“%d\n”,(a=3*5,a*4,a+5));
A)65B)20C)15D)10
22、执行下列程序时输入1234567,程序的运行结果为()
{intx,y;
scanf(“%2d%2ld”,&
x,&
y);
printf(“%d\n”,x+y);
A)17B)46C)15D)9
23、已知chara;
intb;
floatc;
doubled;
则表达式a*b+c-d结果类型为()
A)doubleB)intC)floatD)char
二、填空题
1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。
2、若a是int型变量,则执行表达式a=25/3%3后a的值为____2____。
3、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10___,n的值为____6____。
4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为____26_____。
5、若有定义intm=5,y=2;
则执行表达式y+=y-=m*=y后y的值是_____-16______。
6、表达式8.0*(1/2)的值为___0______。
7、x为整型变量,则执行x=6;
x+=x-=x*x;
后,x的值为-60。
第3章习题
一、选择题
1、若有说明:
doublea;
则正确的输入语句为()
A)scanf(“%lf”,a);
B)scanf(“%f”,&
a);
C)scanf(“%lf”,&
D)scanf(“%le”,&
2、若有以下程序段:
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
其输出结果是( )
A)3,0,-10B)0,0,5C)-10,3,-10D)3,0,3
3、有以下程序
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
%d\n"
x);
}
程序运行后的输出结果是()
A)3B)5C)-1D)-2
4、以下程序段的输出结果是()
floata=57.666;
printf(“*%010.2f*\n”,a);
A)*0000057.66*B)*57.66*C)*0000057.67*D)*57.57*
思考:
若是printf(“*%10.2f*\n”,a);
结果是怎样呢?
*57.67*
5、若变量C定义为float型,当从终端输入283.1900后按回车键,能给变量c赋以283.19的输入语句是()
A)scanf(“%f”,c);
B)scanf(“%8.4f”,&
c);
C)scanf(“%6.2f”,&
D)scanf(“%8f”,&
11、已知inta,b;
用语句scanf(“%d%d”,&
a,&
b);
输入a,b的值时,不能作为输入数据分隔符的是()
A),B)空格C)回车D)
【Tab】键
12、下列程序的输出结果是()
{printf(“%f”,2.5+1*7%2/4);
A)2.500000B)2.750000C)3.375000D)3.000000
二、填空题
1、C语言句尾用____;
分号_______结束。
2、以下程序的输出是___________。
-200,25i=-200,j=25
i=-200
,j=25
{inti=-200,j=25;
printf(“%d,%d”,i,j);
printf(“i=%d,j=%d\n”,i,j);
printf(“i=%d\n,j=%d\n”,i,j);
三、编程题。
1、输入一个华氏温度f,要求输出摄氏温度c,公式为f=9/5*c+32,输出结果,并要求输出的结果保留到小数点后两位。
2、从键盘输入三个整数,输出最大的那个数(用条件表达式实现)。
3、输入三个小写字母,输出其对应的大写字母。
4、输入正方形的边长,输出其周长和面积。
5、编写一个程序,输入一个整数,判断它是奇数还是偶数,并输出判断结果(用条件表达式实现)。
第4章习题
1.下列错误的语句是()
A)if(a>
b)printf(“%d”,a);
B)if(&
&
);
a=m;
C)if
(1)a=m;
elsea=n;
D)if(a>
0);
{elsea=n;
2.阅读下列程序:
{floata,b,t;
scanf(“%f,%f”,&
if(a>
b)
{t=a;
a=b;
b=t;
printf(“%5.2f,%5.2f”,a,b);
运行时从键盘输入3.8和-3.4,则正确的输出结果是()
A)-3.40,-3.80B)-3.40,3.80C)-3.4,3.8D)3.80,-3.40
3.对下列程序,()是正确的判断。
scanf(“%f,%f:
”,&
if(x>
y)x=y;
y=x;
elsex++;
y++;
printf(“%d,%d”,x,y);
A)有语法错误,不能通过编译B)若输入数据3和4,则输出4和5
C)若输入数据4和3,则输出3和4D)若输入数据4和3,则输出4和4
4.以下关于运算符的优先顺序的描述中正确的是()//严格来说,没有正确答案
A)关系运算符<算术运算符<赋值运算符<逻辑运算符
B)逻辑运算符<关系运算符<算术运算符<赋值运算符
C)赋值运算符<逻辑运算符<关系运算符<算术运算符
D)算术运算符<关系运算符<赋值运算符<逻辑运算符
5.设有定义:
inta=2