关于if语句
一、 在if语句中的范围表示
如果我们要输入一个字母进行大小写转换,可能会有下面两种范围表示方法
char c;
scanf("%c"&c);
if('A'<=c<='Z')
if('A'>=c>='Z')
但是,这两种表示出来的效果并不一样。
只有第一条if可以运行
原因是系统在进行关系运算符判断时,如果为真,会给这个关系赋值“1”.如果为假则会赋值“0”.
那么,在运行时,是这样的
char c;
scanf("%c"&c);
if(1<='Z')
if(1>='Z')
自然,1是不大于Z所代表的数字的,那么系统就不会执行第二条if语句。
为此,我们在学习的过程中需要避免使用这种范围表示方法,而改用逻辑运算符来表示,比如
char c;
scanf("%c"&c);
if('A'<=c && c<='Z')
if('A'>=c && c>='Z')
上面这两种表示方法运行的效果就一样了。
二、if的嵌套与if的区别
普通的if语句就是顺序结构,程序从上到下执行。
那么有时候我们执行了第一个if语句,下面的if语句就不再判断而直接执行了出来。
这时候我们就需要一个停止指令——return 0,return 0 表示if执行到这便不再向下执行。
如果是if的嵌套,也就是if else if的形式则不需要停止符。
注意 if与else if的原括弧后不需要加;