C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx
- 文档编号:15335627
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:34
- 大小:26.41KB
C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx
《C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
{inta=10,b=3;
%d\n"
(a=a-1,b+a,b+2));
输出结果为5,(a=a-1,b+a,b+2)作为一个逗号表达式。
(4)
{
inta=5,b=3,c=4;
a*=a+=3;
b=++c;
c=b++;
a=b+++c;
printf("
\n%d,%d,%d"
a,b,c);
11,7,5
(5)程序改正为:
{
inta=1,b=2,c=3,logic;
logic=a+b>
c&
&
b<
=c;
logic=%d\n"
logic);
logic=a>
=b+c||b==c;
logic=!
(a<
c)+b!
=1&
(a+c)/2;
logic=0
logic=1
2.以下程序可能有多处错误,请改正并调试运行程序。
#includeHIGH10//改为:
#includeHIGH10
{inta=5;
//可再定义一个变量b
HIGH*=HIGH;
//HIGH是宏名,不能被赋值,可改为:
b=HIGH*HIGH;
\n%d,%d"
a,HIGH);
//输出a,b的值
改正后的程序为:
#defineHIGH10
{inta=5,b;
b=HIGH*HIGH;
a,b);
5,100
(2)此程序功能为将输入的华氏温度转换成摄氏温度,公式为c=5/9·
(f–32)。
{floatc,f
;
scanf("
%f"
f)
//输入时,变量要用&
取地址
c=(5/9)·
(F–32)
//5/9是为0的,要变成实数。
F没有定义,定义的是f
printf(("
F=%f,C=%f\n"
f,c)
//多了一个左括号
}
voidmain()
floatc,f;
&
f);
c=(5.0/9)*(f-32);
F=%f,C=%f\n"
f,c);
(3)此程序功能是求:
y=。
math.h>
{inta;
doublex,y;
Scanf("
%d%f"
a,&
x)
//scanf不能大写,x的类型是double,格式化字符应该用%ld
y=SIN(sqr(ax)+LN(a+x)
//sin函数不能大写,sqr应该为sqrt,ax应为a*a,LN不是有效的函数名,要求自然对数用的是log(),另外括号不匹配
printf("
Y=%f\n"
y)
//y的类型是double,格式化字符应该用%ld
程序改正后为:
inta;
%d%lf"
x);
//scanf不能大写
y=sin(sqrt(a*x)+log(a+x));
//sin函数不能大写,ax应为a*a,LN不是有效的函数名,要求自然对数用的是log(),另外括号不匹配
Y=%lf\n"
y);
3.此程序用于说明数据类型转换,调试运行该程序,然后回答下列问题。
①此程序中定义了哪几种数据类型的变量?
②指出程序中哪处为自动类型转换,哪处为强制类型转换。
③变量c按字符形式输出后,该字符是什么?
它是ASCII码字符吗?
④对变量x的输出结果给予解释。
#include<
main()
intw,x;
floatf1,f2=1.23456789E9;
charc=227;
unsignedinty=65535;
w=23.4567;
f1=(float)w;
x=y;
w=%d,f1=%f,f2=%f\n"
w,f1,f2);
c=%c,y=%u,x=%d\n"
c,y,x);
分析:
(1)程序中定义了int,float,charunsigned四种数据类型的变量。
(2)f1=(float)w;
这一句是强制类型转换,w=23.4567;
x=y;
用的是自动类型转换
(3)变量C按字符输出的是?
,不是ASCII字符。
(4)结果的解释略
实验三顺序结构程序设计
1.分析以下程序,判断输出结果,然后上机调试验证结果。
main()
{inta,b;
charc,d;
scanf("
%d%d"
&
b);
%c%c"
c,&
d);
%d,%d,%c,%c\n"
a,b,c,d);
运行时输入:
3456ab<
回车>
再次运行时,输入:
34,56,a,b<
看一看运行结果。
程序改正为:
//头文件一定要包含
voidmain()
当输出为3456ab时,第一个scanf语句中的a,b变量接收了34和56两个数值,字符ab由第二个scanf语句的变量c,d接收。
(2)
{intx=34;
floaty=45.98;
printf("
%6d,%6.2f"
x,y);
voidmain()
{printf("
\n"
);
%10s%10s\n"
"
china"
Beijing"
%-10s%-10s\n"
%10.3s\n"
%10s输出时右对齐,%-10s输出时左对齐,%10.3s表示输出时只输出3个字符
intk=-1;
k=%d\n"
k);
k=%o\n"
k=%x\n"
k=%u\n"
计算机在做运算的时候,是用补码参与运算的。
int型的数据在VC里是用四个字节表示的。
变成补码后再做相应格式的输出。
(5)
{inta,c;
unsignedd;
floatb,e;
a=3.5+3/2;
b=23;
c='
\xe0'
d=-1;
e=2.555555555;
printf("
\n%d,%f,%x,%u,%f"
a,b,c,d,e);
和上题一样,是个补码的应用。
(6)
#include<
stdio.h>
main()
{inti=97;
charch='
a'
putchar(i);
putchar('
\n'
);
putchar(ch);
输出
a
(7)
#include<
intch;
ch=getchar();
putchar(ch);
从键盘上接收一个字符,显示一个。
2.以下程序可能有多处错误,请改正并上机调试。
(1)输入三角形的三条边的长,求三角形的面积(假设输入的三边长能构成一个三角形)。
main()
{floata,b,c,s,area;
//应该定义成double型
%f,%f,%f"
&
a,&
b,&
c);
s=1/2*(a+b+c);
//1/2的值是0,要变成实数
area=sqrt(s*(s-a)*(s-b)*s-c));
//括号不匹配。
用了数据函数sqrt要包含math.h头文件
a=%7.2f\nb=%7.2f\nc=%7.2f\narea=%7.2f\n"
a,b,c,area);
#include<
doublea,b,c,s,area;
%lf,%lf,%lf"
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
a=%7.2lf\nb=%7.2lf\nc=%7.2lf\narea=%7.2lf\n"
(2)从键盘输入圆的半径的值,计算圆的周长和面积。
{floatr,c,area;
r)
c=2r*PI;
//2*r
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 参考答案 湖北 民族学院 计算机 语言 课后 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)