C语言if和else if,for和while的问题

我是C语言新手。
前几天学了if、else、else if,知道了if和else if的区别就是当有多条if语句时,其中一条满足条件后并执行完后,还会继续执行后面的if语句,而else if只要有一句条件满足并执行完后就不会执行其他的else if语句了。今天学C的时候发现:只要在if语句后加一个return 0;后就达到了和else if类似的效果,比如说:
if(表达式1)
{
语句1;
...
return 0;
}
if(表达式2)
{
语句2;
...
return 0;
}
else
语句3;
--------------------
if(表达式1)
{
语句1;
...
}
else if(表达式2)
{
语句2;
...
}
else //这里可能不一样
语句3;
还有区别就是:用return的方法该函数就直接结束了,if语句结束后写不了其他代码。
--------------------------------------
另外我感觉for的功能是不是要比while强大一点,比如说for假如只写中间一个表达式,功能是否和while一样:
for(;表达式;)
{
语句;
...
}
-----------------
while(表达式)
{
语句;
...
}
------------------------
for和while是否可以这样转化:

int a=1;
while(表达式)
{
语句;
...
a++;
}
-----------------
int a;
for(a=1,表达式,a++)
{
语句;
...
}

请大家回答详细点,谢谢!!
最后那个for写错了,括号里的是分号不是逗号

你好:

    if...else与if...else   if...else相比,后者在灵活性和功能上是要强大一些,前者用于一个条件的两种不同执行结果,后者应用与多条件的判断和执行结果;但是你用多if结构、return来结束掉,实属编程陋习,如果这个if在主函数里边,使用return结束无疑会引起不可设想的后果,建议直接使用if...else   if....else,就算是为了返回某个值,在if...else   if....else结构里依然可以使用return来返回。

    for与while,while是比较单调,但不能否认它自己所具有的独特优点,for与while可以相互转化,这取决于自身的编程爱好,但是当for(表达式,表达式,表达式;表达式;表达式,表达式)这种结构出现时,转为while无疑优点累赘感。


希望我的回答能帮助到你。

追问

说的也对,return用到main里就只能结束整个程序了,谢谢拉!

追答

c primer plus这本书确实不错,建议尽快上手,痛学一番

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-18
if语句块中加return会直接从方法返回
多个if语句之间可以没有逻辑关联。

if..else if...else语句组,是要有逻辑关联的。
for与while可以相互转化,取决于个人编程喜好追问

我是新手,,你前面的说的我有点听不懂,像我那样写if后加return是否和else if效果差不多

追答

效果不同, return直接从方法返回
if..else if...else 执行完后,还可以继续执行该条件语句之后的语句

追问

嗯 谢谢了!

第2个回答  2014-08-18
兄弟 你看的是什么书?我推荐c primer plus 找本最新版的看。
if 和 else if 怎么放在一起比较呢?
if 和 if...else...是条件语句的两种形式,if 语句就是满足条件就执行不满足就执行跟在if语句之后的第一条语句,if...else...就是满足条件就执行if中的语句不满足的话就执行else中的语句,
至于else if 那是在条件语句中嵌套条件语句。

至于for和while本质上没什么区别,for(初始化语句;条件语句;表达式)
而while(条件表达式),你看看我们把初始化语句放到while的前面,把表达式放到while里面,差不多。追问

我看的是《零起点学通C语言》范磊著的,感觉这本书蛮适合新手的,其他的《The C Programming Language》《c primer plus》《C语言入门经典》我打算之后再看。
感觉else if就是满足条件后执行完就不执行其他的else if了,所以我想是不是在if语句最后加个return也会达到这效果?

追答

你问的这个问题 等你把一本c的入门书籍看完 就自然明白乐。
作为个人建议 先看 c primer plus 再看 c programming language 看这两本就够了
有能力最好看英文原版

我想等你啃完这两本接下来干什么 就看你自己了。

追问

好的,谢谢了!!

相似回答