购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2-9 专题实操:圆面积/圆周长/圆周率

2-9-1 圆面积与周长的计算

圆面积计算公式如下:

pi*r*r

上式pi是圆周率,近似值是3.1415926,r是圆半径。

程序实例 ch2_15.c:计算半径是2的圆的面积。

圆周长的计算公式如下:

2*pi*r

上述圆周长的计算将是读者的习题。

2-9-2 计算圆周率

圆周率pi是一个数学常数,常常使用希腊字母 π 表示,在科学计算器中则使用pi代表。它的物理意义是圆的周长和直径的比率。历史上第一个无穷级数公式称莱布尼兹公式,它的计算公式如下:

莱布尼兹(Leibniz)(1646 — 1716)是德国人,在世界数学舞台占有一定分量,他本人另一个重要职业是律师,许多数学公式皆是在各大城市通勤期间完成。数学历史上,有人认为他是微积分的发明人,也有人认为微积分的发明人是牛顿(Newton)。

程序实例 ch2_16.c:计算下列公式的圆周率,这个级数收敛到我们熟知的3.14159要相当长的时间,下列是简易程序设计。

2-10 习题

一、是非题

(  )1.C语言的变量名称只能以大小写字母做开头。(2-1节)

(  )2.C语言变量名称可以使用阿拉伯数字,同时也可以使用阿拉伯数字作为变量名称的开头。(2-1节)

(  )3.假设有一变量名称是ABC,则在程序设计时,若将它改写成小写abc是允许的,编译程序会将ABC与abc视为相同的变量。(2-1节)

(  )4.如果想一次声明多个变量,则变量间需要使用“,”分隔。(2-2节)

(  )5.下列是正确的变量声明。(2-2节)

int x, y; a, b;

(  )6.下列是正确的变量声明。(2-2节)

float i, j, c;

(  )7.下列是正确的变量声明。(2-2节)

int a, b, c, d, e, f, g, h.

(  )8.下列是正确的变量声明。(2-3节)

char a='3';

(  )9.下列变量声明会产生语法错误信息。(2-3节)

int i=10.5;

(  )10.以16位整数而言,其值在-32767至32768之间。(2-3节)

(  )11.char所声明的变量是字符,所占记忆空间是8位。(2-3节)

(  )12.如果想了解某个类型的数据所占内存位置的数量时,可以使用size操作数。(2-3节)

(  )13.double代表双倍整数。(2-4节)

(  )14.若有一个数字是123.456,可以将它表示为1.23456E2。(2-4节)

(  )15.“%”是求余数符号,主要功能是将第一个操作数的值除以第二个操作数的值,然后求余数。(2-6节)

(  )16.乘号(*)是乘运算符。(2-6节)

二、选择题

(  )1.下列哪一种符号不可作为变量的开头字符?

(A)大写字母(B)小写字母(C)下画线( _ )(D)阿拉伯数字(2-1节)

(  )2.下列哪一个不是合法的变量名称?

(A)hung(B)sam(C)x5(D)x$2(2-1节)

(  )3.假设有一个“unsigned short int”变量声明,则此变量的值将在( )?

(A)-32768~32767(B)0~65535(C)0~255(D)0~32767(2-3节)

(  )4.‘\xdd’,x后面的两个d各代表?

(A)十进制(B)八进制(C)十六进制(D)二十四进制(2-3节)

(  )5.假设想计算1月份中午12时的平均温度,则建议此平均温度的变量应使用( )。

(A)int(B)short int(C)char(D)float(2-3节)

(  )6.假设计算机专业的成绩是用A、B、C、D表示,则此成绩变量应使用( )。

(A)int(B)short int(C)char(D)float(2-3节)

(  )7.如果想测试所输入的数字是奇数或偶数,则存储所输入数字的变量应使用( )。

(A)int(B)float(C)char(D)double(2-3节)

(  )8.下列哪一个是二元运算符。

(A)递增(++ )(B)递减(- -)(C)否(!)(D)加号(+)(2-5节)

(  )9.下列哪一个运算符号有最优先的执行顺序?

(A)乘号(*)(B)余数(%)(C)负数(-)(D)加号(+)(2-6节)

(  )10.下列哪一个是单元运算符?

(A)乘号(*)(B)余数(%)(C)否(!)(D)加号(+)(2-6节)

三、填充题

1.若想将某一变量声明成长整数,则在int前面要加上(  )。(2-3节)

2.若想将某一变量声明成0~65535的正整数,则声明形态是(  )。若想将某一变量声明成0~4294967295的正整数,则声明形态是(  )。(2-3节)

3.如果一个16位的整数变量值是32767,若将此变量值加1,所得此变量结果不是32768,则此现象是(  )。(2-3节)

4.C语言在将字符串存入内存时,会自动将(  )加在字符串最后。(2-3节)

5.C语言中凡以(  )开头的整数都被视为八进制数。凡是以(  )开头的整数皆被视为十六进制数。(2-4节)

四、实操题

1.请列出下列数值的十进制值。(2-4节)

(a)0x38

(b)036

(c)077

(d)0x75

(e)0xEE

2.假设x、y、z和s皆是整数,x是10,y是18,z是5,请求下列运算结果。(2-4节)

(a)s=x+y;

(b)s=2*x+3 - z;

(c)s=y*z+20 / y;

(d)s=-x+z - 3;

3.假设x、y、z和s皆是浮点数,重新设计前一个程序,使用5.2f格式化浮点数输出。(2-4节)

4.假设s是整数,x是浮点数且其值是3.5,y是整数且其值是4,求下列运算结果。(2-6节)

(a)s=x+y;

(b)s=-x+y - 8;

(c)s=x / y - 10;

(d)s=x*y+3.8;

(e)s=‘B’-’R’;

5.一个幼儿园买了100颗苹果给学生当营养午餐,学生人数是23人,每个人午餐可以吃一颗,请问这些苹果可以吃几天,第几天会发生苹果不足,同时列出少了几颗。(2-6节)

6.一个圆半径是2,请计算此圆周长。(2-6节)

7.假设圆柱半径是20厘米,高度是30厘米,请计算此圆柱的体积。圆柱体积计算公式是圆面积乘以圆柱高度。(2-6节)

8. x和y是浮点数,分别是2.77和3.99,s是整数,请计算下列结果。(2-7节)

s=x+y;

9.重新设计前一个程序,先强制将x和y转为整数,然后计算结果。(2-7节)

10.假设x、y和z皆是整数,且值都是5,求下列运算x的结果。(2-8节)

(a)x+= y+z++;

(b)x+= y+++z ;

11.与前一个程序相同,假设x、y和z都是整数,且值都是5,求下列运算x的结果。(2-8节)

(a)x -=++y+z- -;

(b)x *= y - z- -;

(c)x /= 2+y++ - z++;

12.参考2-9-2节的概念,扩充计算下列圆周率值。(2-9节)

(a)

(b)

上述级数收敛到我们熟知的3.14159要相当长的级数计算。

13.尼拉卡莎(Nilakanitha)级数是由印度天文学家尼拉卡莎发明,也是应用于计算圆周率pi的级数,此级数收敛的速度比莱布尼兹更好,更适合于用来计算pi,它的计算公式如下:(2-9节)

请分别设计下列级数的执行结果。 Co5buacgJ2CxAMTLseTJyMOcnGj0rJcpF8Xs04bw7T3FIXNJjEdwAREB1Pwd5ekR

点击中间区域
呼出菜单
上一章
目录
下一章
×