| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3280 人关注过本帖
标题:[求助]else与else if 的不同!
只看楼主 加入收藏
dearbot
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-8-12
收藏
 问题点数:0 回复次数:10 
[求助]else与else if 的不同!
刚学C++,有点搞不清什么时候用else 什么时候用else if .请高手指点一二,最好用代码实例阐述,谢谢啦~!
搜索更多相关主题的帖子: else 
2007-08-28 13:58
xchxp321god
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-8-28
收藏
得分:0 

一 、if条件语句:输出a、b之间最大值
if(a>b)
cout<<"max="<<a<<endl;//如果a>b就 就输出a
else cout<<"max="<<b<<endl;//否则输出b
二、输出分数
if(score>=90) cout<<"成绩为A";
else if(score>=80) cout<<"成绩为B";
else cout<<"成绩为C";
你所谓的else if其实就是if_else语句的镶套,就是在if_else语句里有套了个if_else语句。上面例子这样写你就会更清晰了
if(score>=90) cout<<"成绩为A";
else
{
if(score>=80) cout<<"成绩为B";
else cout<<"成绩为C";
}


2007-08-28 14:17
狂人老大
Rank: 1
来 自:杭州
等 级:新手上路
威 望:1
帖 子:394
专家分:0
注 册:2007-6-21
收藏
得分:0 
if()
{.....}
else if()
{.....}
else if()
{.....}
else
{....}

ACMer的QQ群:33741351
单片机QQ群:55130117
2007-08-28 14:35
冰的热度
Rank: 2
等 级:禁止访问
威 望:5
帖 子:404
专家分:0
注 册:2006-12-2
收藏
得分:0 
if(...)
......
else
......

这里else后面没有判断语句,也就是说只要前面if(...)为就执行else后面的语句

if(...)
......
else if(...)
......

这里else后面有判断语句,流程是这样的,先判断第一个if(...).

如果是真,就执行它下面的代码,执行完后跳过else if(...)和其语句块,执行后面的代码

如果是假,才执行else,但还要判断else后面的if(...)是真还是假,如果是真才执行if语句块.

否则不执行.

简单说,两者区别在与前者只要if(...)为假,就执行else后面代码,后者是if(...)为假还要判断第二个if(...)

才行,明白了吗?

实际用的时候要考虑到第二个条件是不是有必要设置,如果没有必要就用if...else...

如果必须设置第二个判断条件当然就要用if...else if ...了.

比如判断i,如果是1执行一种情况,如果2执行另一种情况,

就写成

int i;
...
if(i==1)
{
......
}
else if(i==2)//如果非要i=2才执行下面代码,那就这样写,如果只要i不等于1就行,那直接else ...就行了
{
......
}

科学是永恒之迷...... 我的博客http://blog..cn/u/1267727974 阅读我的blog,懂与不懂都是收获!
2007-08-28 17:53
intotherain8
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-8-28
收藏
得分:0 
4楼的哥们解释得好全面......在下学到不少,谢了

向高手们学习!
2007-08-28 19:51
dearbot
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-8-12
收藏
得分:0 
回复:(冰的热度)if(...) ......else ......这...

谢谢!感激......


我需要信心,恒心,勇气!
2007-08-30 19:53
wingyip
Rank: 1
等 级:新手上路
威 望:2
帖 子:119
专家分:0
注 册:2007-7-16
收藏
得分:0 
上面其實對說得很全了

我簡單的說說吧
如果是else 就不管是什么條件,前面的if不滿足就一定要執行else

如果是else if ,就一定要先判斷了if的條件

2007-08-31 07:06
qwl1982
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-9-3
收藏
得分:0 

楼上说的不对!!

if
else if
是要一起看的,先要判断第一个if,然后才是else后面的if
实际上等于两个if语句的嵌套,也可以理解成
if(条件表达式)
{满足条件时执行的语句块}
else
{if(第二个条件表达式)}

只有当最外层的if语句表达式不成立时,才会调用else里面的第二层判断

[此贴子已经被作者于2007-9-4 3:35:32编辑过]


2007-09-04 03:31
wsy
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-9-2
收藏
得分:0 
谢谢 我是个新手 谢谢4楼的帖子 我学到不少

2007-09-05 19:20
JackySeraph
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-9-21
收藏
得分:0 
大家来把问题深入一下吧:

4楼的观点可能不一定全面。事实上这些代码的执行与编译器对他们的编译或者解释器对他们的解释运行密切相关。例如下面的情况:
int i = 0;
if (i == 0) {
i ++; // case 1
} else if (i == 1) {
i ++; // case 2
} else if (i == 2) {
i ++; // case 3
} else if (i == 3) {
...
}
// case 5
这段代码可能被这样执行:
case 1
case 5
(4楼大侠的观点)
但是还有可能是这样
case 1
case 2
case 3
...
case 5

后者比较少见(好像是在某个Nokia手机上。Nokia的机器一项比较2),但确实有。所以我们还是祈祷别这样写吧。
2007-09-21 11:29
快速回复:[求助]else与else if 的不同!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025040 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved