网站大量收购独家精品文档,联系QQ:2885784924

计算机系统导论第2章习题参考答案.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第2章高级语言程序

2.简单回答下列问题。

(1)C语言中按位运算和逻辑运算有什么差别?

(2)如何进行逻辑移位和算术移位?它们各用于哪种类型的数据?

(3)函数调用时按值传参和按地址传参有什么不同?

(4)函数的原型声明和函数的定义有什么区别?

(5)全局变量(外部变量)、自动变量、静态全局变量、静态局部变量4种不同变量的作用域和生存

期分别是什么?

【分析解答】(略)

3.编写一个C语言程序,通过循环结构求自然数1到50的平方和。

【分析解答】

#includestdio.h

intmain()

{

intsum,i;

for(i=1;i=50;i++)

sum+=i*i;

printf(sum=%d\n,sum);

return0;

}

4.编写一个函数“floatf_min(float,float,float)”,要求能够求出给定3个浮点数中的最小值,并编写一

个主函数用来测试各种输入情况下结果的正确性。

【分析解答】

#includestdio.h

floatf_min(floata,floatb,floatc)

{

floatmin=(ab?a:b);

return(minc?min:c);

}

intmain()

{

floatdata[5]={-12.5,-0.002,0.0,0.06,3.1415926};

inti,j,k;

for(i=0;i5;i++)

for(j=0;j5;j++)

for(k=0;k5;k++){

1

floatmin=f_min(data[i],data[j],data[k]);

printf(min(%f,%f,%f)=%f\n,data[i],data[j],data[k],min);

}

return0;

}

5.在你的机器上运行以下程序,并对程序执行结果的原因进行分析。

1#includestdio.h

2

3intmain()

4{doublex=2.1,y=0.1,z=x-2;

5if(y==z)

6printf(true\n);

7else

8printf(false\n);

9printf(y=%.40f\n,y);

10printf(z=%.40f\n,z);

11return0;

12}

【分析解答】

程序执行结果如下:

false

y=0.1000000000000000055511151231257827021182

z=0.1000000000000000888178419700125232338905

从数学意义上来看,y和z的值应当相等。但计算机程序中的浮点数只能用有限数量的比特来

表示,因此存在精度的概念,有些数值无法用浮点数精确表示和存储,从而引入误差。这些误差会

在程序的计算过程中积累,如果对两个浮点型变量进行比较,即使其数学意义上的值应当相等,但

可能会由于误差的存在,导致两个浮点型变

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档