编程if语句有引号吗
篇一:C语言编程规范之IF语句_CIF0001 很多时候,我们经常会遇到需要判断某个变量是否等于某个值的情况。例如:某些功能开关命令,当用户输入的值为1时,则将此功能打开;当用户输入的值为0时,则将此功能关闭。
此种情况下,推荐的编程写法为:
if(值== 变量)
{
//Do something
}
下面就以指定的功能开关命令进行举例,(其中:“用户输入的值”使用UserInputVal来代替),说明“推荐写法”具有的优势。
对于这种情况,“通常的写法”为:
if(UserInputVal == 1)
{
//打开功能开关
}
else if(UserInputVal == 0)
{
//关闭功能开关
}
代码段1
在通常情况下,这种写法没有任何的问题,它可以很好的工作。但是工程师在编写程序时,尤其是代码量很大的程序(也许代码量超过10000行),总是不可避免的会发生这样的错误:把“==” 写成了“=”。如果这种错误发生在:[代码段1],那么它就会变成这个样子:
if(UserInputVal = 1)
{
//打开功能开关
}
else if(UserInputVal == 0)
{
//关闭功能开关
}
代码段2
相信大家已经都发现了,这种代码逻辑,会造成:用户无论输入0或者1,都会“打开功能开关”,因为用户输入任何值,语句:if(UserInputVal = 1) 判断的结果都为真。这产
construct用法
生的后果可能非常严重,并且当代码量很大时,想出这样的小问题,是一件很痛苦的事情,要花很多的心力、时间。我相信:没有一个工程师,愿意做这种事情,尤其是项目进度比较紧的时候,时间更是花不起。
就再来说说,“推荐写法”的好处吧。
正常情况下,“推荐写法”的样子,是这样的:
if(1 == UserInputVal)
{
//打开功能开关
}
else if(0 == UserInputVal)
{
} //关闭功能开关
代码段3
当然,正常情况下,“推荐写法”与“通常写法”,达到的效果是一样的。
在手误情况(将“==”写成了“=”)下,“推荐写法”的样子,是这样的:
if(1 = UserInputVal)
{
//打开功能开关
}
else if(0 == UserInputVal)
{
} //关闭开关
代码段4
应该都看出来了吧,这样的代码是无法编译通过的,因为if(1 = UserInputVal)这种写法是非法的,编译器会直接报错的。这样就在编译阶段,杜绝了手误情况的发生,就再也不用担心为那种小问题,绞尽脑汁,最后发生手误,痛不欲生了。
PS:在编写大的项目时,规范的写法,是非常的重要的。当发现为了这样的小问题,折腾了几天,真的很令人抓狂!并且,如果测试时没有发现,却在实际运用中发现了,后果有时是无法估量的。
篇二:IF语句的使用
u *if,val1, oper, val2, base: 条件语句
val1, val2: 待比较的值(也可是字符,用引号括起来)oper: 逻辑操作(当实数比较时,误差为1e-10)eq, ne, lt, gt, le, ge, ablt, abgt base:
当oper结果为逻辑真时的行为
lable: 用户定义的行标志
stop: 将跳出anasys
exit: 跳出当前的
do循环
cycle: 跳至当前do循环的末尾
then: 构成if-then-else结构
注意:不允许跳出、跳进一个do,if循环至label句?
*IF, VAL1, Oper1, VAL2, Base1, VAL3, Oper2, VAL4, Base2 Conditionally causes commands to be read. APDL: Process Controls
MP ME ST PR PRN <> <> FL EM <> <> PP <>
Argument Descriptions
VAL1
First numerical value (or parameter which evaluates to a numerical value) in the conditional comparison operation. VAL1, VAL2, VAL3, and VAL4 can also be character strings (enclosed in quotes) or parameters for Oper = EQ and NE only.
Oper1
Operation label.    A tolerance of 1.0E-10 is used for comparisons between real numbers:
EQ --
Equal (for VAL1 = VAL2).
NE --
Not equal (for VAL1 ≠ VAL2).

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。