参考答案
习题二(P33)
一.单选题
1.C2.B3.D4.C5.A6.D7.D8.B9.B10.D11.D12.C13.C.15.A
14题最后一句应为printf("%f\n",d*y);结果为2.2
二.填空题
1.182.intfloatdouble3.10114.八十六十5.%
三.阅读
程序题
1.10,10,9,10
2.j=1,i=2
k=3,i=3
j=3,i=2
k=1,i=1
习题三(P52)
一.单选题
1.D2.C3.D4.B5.A6.B7.C8.A9.C10.B11.-7,4294967295
二.填空题
5.L6.-1
三.阅读程序题
1.666.006.00
2.x=127,x=127,x=177,x=7f
Y=123.4567,y=123.46,y=123.45670
3.2,1
4.1234
5.4,3
6.-6,-6
四.程序
设计题
1.
#include"stdio.h"
#include"math.h"
main()
{
floata,b,c,d,x1,x2;
a=2;b=-3;c=-5;
d=b*b-4*a*c;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%.2f,x2=%.2f\n",x1,x2);
}
2.
#include
main()
{floata,v,s;
scanf("%f",&;a);
v=a*a*a;s=6*a*a;
printf("v=%.2f,s=%.2f\n",v,s);
}
3.
#include
main()
{inta,b,c,t;
scanf("%d%d%d",&;a,&;b,&;c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
t=c;c=b;b=a;a=t;
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
4.
#include
main()
{chars1,s2;
s1=getchar();
s2=s1-32;
printf("%c\n",s2);
}
习题四(P70)
一.单选题
1.C2.D3.D4.B5.A6.D7.D8.B9.C10.A11.B12.D13.passwarnerror.
14.C15.C16.B17.B18.C
二.填空题
1.非002.k==03.n%7==0&;&;n%8==0else
三.阅读程序题
1.a=1,b=02.c=1
四.程序设计题
1.
#include
main()
{inta,b;
charc;
printf("INPUTA+(-*/)B\n");
scanf("%d%c%d",&;a,&;c,&;b);
switch(c)
{
case'+':printf("%d+%d=%d\n",a,b,a+b);break;
case'-':printf("%d-%d=%d\n",a,b,a-b);break;
case'*':printf("%d*%d=%d\n",a,b,a*b);break;
case'/':printf("%d/%d=%d\n",a,b,a/b);break;
default:printf("INPUTERROR!");
}
}
2.
#include
main()
{floatx,y;
scanf("%f",&;x);
if(x==0||x==2)y=0;
elseif(x>0)y=(x+1)/(x-2);
elsey=(x-1)/(x-2);
printf("y=%f\n",y);
}
3.
#include
main()
{intg;
printf("请输入学生成绩:");
scanf("%d",&;g);
printf("g=%d:",g);
switch(g/10)
{
case10:printf("A\n");break;
case9:printf("B\n");break;
case8:printf("C\n");break;
case7:printf("D\n");break;
case6:printf("E\n");break;
default:printf("F\n");
}
}
4.
#include
main()
{intx,n=0;
scanf("%d",&;x);
if(x<=0||x>=10000)
printf("DataError!\n");
else
{if(x<10)n=1;
elseif(x<100)n=2;
elseif(x<1000)n=3;
elsen=4;
}
printf("n=%d\n",n);
}
习题五(P87)
一.单选题
1.B2.D3.C4.C5.B6.C7.D8.C9.A10.D11.B12.B13.B14.D15.C
二.填空题
1.for语句while语句do-while语句
2.a=14,y=26
3.k=14,n=-1
4.39
5.s=19
6.22222
7.10
8.7
9.8
10.5,5
三.改错题
应改为for(i=0;i<5;i++)j++;
应改为intj=0;while(j<10){j++;i=j;}注while(j<10)后不应有分号
应改为while(j<10);注while(j<10)后分号不能少
s*=i;i++;应改为{s*=i;i++;}
continue应改为break
四.程序设计题
1.
#include
main()
{inti,j,s=0;
for(i=1,j=1;i<=100;i++,j=j*(-1))
s=s+i*j;