主题:编程风格考查(过1个+10分)
maxumi
[专家分:2200] 发布于 2007-07-28 16:34:00
请写出下面3种类型的变量与"零值"比较的if语句.
在这里,"零值"对于布尔类型变量是指false, 对于real类型变量是指0.0, 对于指针类型变量是指空指针.
integer类型变量a与"零值"比较的if语句是:
if a=0
和
if a<>0
请写出下面3个变量与"零值"比较的if语句:
1.布尔类型变量f
2.real类型变量k
3.指针类型变量s
风格不良的答案没有分.
回复列表 (共15个回复)
沙发
Matodied [专家分:7560] 发布于 2007-07-28 19:50:00
1、
非0值:IF f
0值: IF NOT f
板凳
Matodied [专家分:7560] 发布于 2007-07-28 19:52:00
2、
0值:IF (k > -1E-6) AND (k < 1E-6)
非0值:IF (k < -1E-6) OR (k > 1E-6)
3 楼
sjs0714 [专家分:280] 发布于 2007-07-28 22:12:00
布尔类型变量f
if(f)
和
if(!f)
real类型变量k
if(k<0.0)
和
if(k>0.0)
指针类型变量s
if(s==NULL)
和
if(s!=NULL)
4 楼
bigchen [专家分:1940] 发布于 2007-07-29 07:56:00
1、if f then .... else ....
2、if k=0.0 then .... else ....
3、基本不用,好象是:
if s=NUL then .... else ....
5 楼
angwuy [专家分:2280] 发布于 2007-07-29 12:54:00
1.布尔类型变量f
if f
if not f
2.real类型变量k
if abs(k)<1e-6
if abs(k)>1e-6
3.指针类型变量s
if s=null
if s<>null
6 楼
maxumi [专家分:2200] 发布于 2007-07-30 10:29:00
正解:
1.
if f
if not f
2.
if abs(k)>1e-6
if abs(k)<1e-6
3.
if s=nil
if s<>nil
7 楼
cmy28 [专家分:380] 发布于 2007-07-30 15:32:00
请问楼主,问什么这样的就是好风格??
我只是问问,并没有猜疑。。
8 楼
maxumi [专家分:2200] 发布于 2007-07-30 15:48:00
[quote]请问楼主,问什么这样的就是好风格??
我只是问问,并没有猜疑。。[/quote]
1.
if f
if not f
相比
if f=true
if f=false
来讲既少写了程序代码, 又节约了作比较的时间.
2.
千万不要把real类型变量与任何小数直接比较, 因为real型在操作多次之后会出现误差, k的理论值是0时, 实际值可能是0.00000001.
3.
空指针是nil.
本人建议:
1.在程序开始时把这个程序使用的所有指针赋值为nil.
2.在对指针操作时, 先判断指针是否为nil.
2.在释放指针指向的内存之后立刻将指针赋值为nil.
9 楼
cmy28 [专家分:380] 发布于 2007-07-30 16:43:00
哦!谢谢了!!楼主,你真厉害!!
10 楼
abcwuhang [专家分:1840] 发布于 2007-07-31 13:13:00
楼主:请问如何把整数(integer)转实数??(我每次转均有误差~~)
例如:当x=98时,我把它直接转为实数y时显示值为97.99999,如何使其无误差?
我来回复