C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx

上传人:b****1 文档编号:15335627 上传时间:2022-10-29 格式:DOCX 页数:34 大小:26.41KB
下载 相关 举报
C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx_第1页
第1页 / 共34页
C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx_第2页
第2页 / 共34页
C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx_第3页
第3页 / 共34页
C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx_第4页
第4页 / 共34页
C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx

《C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx(34页珍藏版)》请在冰豆网上搜索。

C实验参考答案湖北民族学院计算机c语言课后习题答案Word格式.docx

{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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1