c语言中的 条件语句 if else

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中的 条件语句 if else相关的知识,希望对你有一定的参考价值。

c语言中的 条件语句 if else 是什么意思?
有人能告诉我怎么使用这个条件语句吗?

if表示如果啊!作为条件语句。例如:if(a>b)max=a;表示如果a大于b即为真,执行max=a语句。如果a不大于b,则不执行if()语句,而直接执行下一句。(即max=a;的下一句)else和if是成对出现的,有else出现,必定有if语句,但有if语句可以没有else语句!举例来解释else的意思吧!例如:if(a>b)max=a;else max=b;该语句解释为如果a大于b,那么max=a,否则(即a小于b)max=b! 参考技术A 如果第一个条件不成立,其他的条件都用这种来表示。
例如:if(a<b)
printf("%d",b);
else
printf("%d",a);.
这个子程序是输出两个数中的大数。
参考技术B if是如果,else是否则 参考技术C if如果.....else除了.....

if else语句,条件语句,执行的数序

#include<stdio.h>
void main()

int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max<b) max=b;
if(max<c) max=c;
printf("max=%d",max);
,这个程序是求三个数据中的最大值,书本上说这可以理解为一个顺序结构,我想问,这不是条件语句吗,有几个IF语句啊,
2#include<stdio.h>
void main()

int num,price=70;
double cost,total;
scanf("%d",&num);
if(num>500) cost=0.5;
else if(num>400) cost=0.4;
else if(num>300) cost=0.3;
else if(num>200) cost=0.2;
else cost=0;
total=num*price*(1-cost);
printf("%f",total);
,这个程序,里面有几个IF else语句啊,该如何理解,还有如何理解ELSE 总是与离他最近的IF语句配对,这个程序中,是不是当第一个表达式是真,就不执行底下的语句,是假执行第二个语句,第二个表达式如果跟屏幕输出的NUM相比,表达式为假,那么就执行第三个语句,第三个语句为真就不执行下面的语句,如果为假,还接着判断下面的语句啊,我们该如何理解这种结构呢,为什么说是一个语句啊, 还有#INCLUDE<MATH.H>为什么有时候需要调用,有时候不需要调用啊,如果进行普通的加减乘除,需要调用它吗。
3,我的第一个程序跟第二个程序在执行的时候有什么异同点,如何理解这个异同点
4#include<stdio.h>
void main()

int num,price=70;
double cost,total;
scanf("%d",&num);
if(num>500) cost=0.5;
else (num>400) cost=0.4;
else (num>300) cost=0.3;
else (num>200) cost=0.2;
else cost=0;
total=num*price*(1-cost);
printf("%f",total);
,我把第二个程序为什么不可以,请高手指点啊,非常的感激
5,我合肥工大的学生,非常希望与各位高手做个朋友啊,共同探讨C啊,谢谢啊,我扣扣1725344108,谢谢
最后补充一下啊,第二个语句是一个语句吗,为什么说这是一个IF语句啊,望高手指点啊,谢谢啊

每个程序都有问题,我给你修改一下,然后给你注释清楚:
第一题:
#include<stdio.h> //调用头文件,必须的
void main() //定义主函数,任何一个c程序,都必须要有他的main函数

int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c); //从键盘输入三个数字,分别交给a,b,c
max=a; //先将max的值定为a的值
if(max<b)
max=b;
else max=a ; //相当于a跟b比较,如果a大,那么max=a,否则,max=b,相当于max已经变成了a,b中的大的那个数
if(max<c) max=c;
//同理,a,b中大的那个数再跟c相比,如果c大,那么max变成c,否则不变,此处else可以省略了,因为如果不满足max<c的话,这个判断就没有改变,max还是最大的
printf("max=%d",max); //输出max的值,也就是a,b,c中最大的那个


第二题:

#include<stdio.h>
void main()

int num,price=70; //定义整型变量num和price,并给price赋值为70
double cost,total; //定义双精度型变量cost 和total
scanf("%d",&num); //从键盘输入一个数字,赋值给num
if(num>500) cost=0.5; //如果num的值比500大,那么cost的值为0.5
else if(num>400 & num<=500) cost=0.4; //这里你要加上num<=500了,因为循环语句从上往下判断,上一句已经判断了num>500,例如如果num=600,那么cost=0.5成立了,再下来cost=0.4又成立了,后面的都成立,那这个循环就没意义了,所以后面的限制条件要剔除前面的条件,别造成一个数字让所有的if都成立,后面的一样,就不多说
else if(num>300 & num<=400) cost=0.3;
else if(num>200 & num<=300) cost=0.2;
else cost=0;
total=num*price*(1-cost); //total的值等于。。。。
printf("%f",total); //输出total

第三题
相同点就是都是在循环语句里进行值的比较,都使用if循环
不同点是第一题比较之后,将大的值赋给比较的值,然后再继续比较,取最大的值,第二题是用一个确定的量去判断条件,符合某个条件,执行某条语句

第四题
这个题是你完全的语法错误,需要改为elseif,因为if循环看到一个else的时候,就会认为你的循环条件已经结束了,不会再去往下看,而加上else if 后,程序就会继续往下运行,因为还有if在里面,说明还需要判断一些条件,这个很容易理解,比如我说:如果a比b大,那么max=a,我的本意是max=a之后,还要去跟c比较,然后还要去跟d比较,可是我直接来一个max=a后,搞一个else,程序就会认为,除了a>b条件之外,else包含了剩余的所有情形,以为其他嘛,除了你上面If说的,其他都包含了……所以程序肯定是有问题的。

我也好久没搞这个了,但是比你稍微强点,可能我的回答也有点问题,但是应该也有帮助,无聊帮帮忙而已追问

你扣扣多少啊,我加你啊,谢谢啊,,我的是1725344108

追答

382727978

参考技术A 1.有两if循环语句,是顺序实现的。
2.有四个if else else总是与它上面最近的且尚未匹配else的if进行匹配 对当第一个为真就不执行下面的语句了 普通的加减乘除,不需要调用它。
3.我没有发现异常
4,没看懂你想干吗,132468374这个是群号,里面都是c爱好者,我也是山东的不过现在在福建,我在群里叫雄心有事找我!
参考技术B 其实这个是根据不同的情况而定的,一般常用的格式:
if(条件语句)

//代码

else

//代码

这种格式是如果执行了if就不执行else,如果没有执行就执行else
if()


else if()



这种格式是,如果满足前一个if,后面就不执行,不满足就依次执行后面的if语句
if()

if()



else




这种就是属于嵌套了,也是根据你自己的实际情况来定的
还有一些其他的用法,我就不一一列举了

if语句的运用十分的灵活和广泛,也是后面编程之中最最基础的,只要理清思路,还是很容易掌握的
另外,站长团上有产品团购,便宜有保证追问

谢谢你啊,非常感谢你啊,你的扣扣多少啊,我的扣扣1725344108,我合工大学生啊

本回答被提问者采纳
参考技术C 这些程序建议你单步跟踪一下,实践是最好的老师。

以上是关于c语言中的 条件语句 if else的主要内容,如果未能解决你的问题,请参考以下文章

C语言中的条件赋值语句和if——else语句执行效率比较,哪一个效率高些,坐等高手解惑

C语言里面if 和else的用法?

if else语句,条件语句,执行的数序

求一些C语言if嵌套语句算法题

C语言中三个if语句的嵌套怎理解

Linux中if-else条件判断语句