c语言if条件语句例题(c语言中条件语句的用法)
导语:零基础学习c语言六 | 条件语句if
在C语言中,并不是所有的语句都是自上而下依次的执行,有时候会依据一些条件,来选择性的执行某段代码,因此今天我们讲一下C语言中的其中一种条件语句if,之所以说其中一种,因为也还有其他的,其他的后面会讲到,关注我,不错过[送心]
小钱嵌入式轻松学习c语言
if语句
if语句的一般形式为:
if (表达式){//条件为真,所会执行的代码}
在这里什么是表达式呢?我归类了一下,大概有四种:
第一种:表达式为某个确定的数值:
举个例子:
if (10){printf(); }执行结果:小钱嵌入式学习真轻松
这里表达式里是一个数值,在这里是10,所以这个表达式是为真,什么时候为真呢,就是这个表达式不为0,那么就是真,比如我这里条件写0:
if (0){printf();}执行结果:
那么printf将不会被执行到,因为这时候表达式为假。
这里值得注意的是,如果值是负数,那if也认为他为真。
记住一句话:if表达式里,0为假,非0为真
第二种:表达式为算术表达式:
先举个例子:
if (1 + 2){printf(); }执行结果:小钱嵌入式学习真轻松
在这里表达式是一个算术表达式,遇到这种,那么看运算完的结果是不是0,不是0的话为真,是0的话为假。在这里显然1+2等于3,不为0,这里为真,所以“小钱嵌入式学习真轻松”这句话会被打印出来。
这里值得注意的是,如果表达式是最终运算完的值是负数,那if也认为他为真。这贴合了上面那句话,非0为真。
第三种:表达式为变量:
int num = 12;if (num){printf(); }执行结果:小钱嵌入式学习真轻松
在这里表达式是一个变量,遇到这种,那么就是看变量的值是不是0,不是0的话为真,是0的话为假。在这里num的值是等于3,不为0,这里为真,所以“小钱嵌入式学习真轻松”这句话会被打印出来。
这里值得注意的是,如果变量是一个字符的话,是需要看这个字符所对应的ascil码是多少,来看是否为0,所对应的ascil码是0的话为假,非0为真。
第四种:表达式为条件表达式:
int num = 12;if (num>10){printf(); }执行结果:小钱嵌入式学习真轻松
在这里表达式是一个条件表达式,遇到这种,那么就是看条件表达式是不是为真。在这里num的值是等于12,明显是大于10的,所以这里为真,“小钱嵌入式学习真轻松”这句话会被打印出来。
这里值得注意的是,如果变量是一个字符的话,是需要看这个字符所对应的ascil码是多少,来看是否为0,所对应的ascil码是0的话为假,非0为真。
if...else...语句
if...else...语句的一般形式为:
if (表达式){//执行语句1}else{//执行语句2}
在这里如果if表达式为真,执行语句1将会被执行,执行语句2不会被执行
如果if表达式为假,执行语句2将会被执行,执行语句1不会被执行
举个例子:
int num = 1+3;if (num > 5){printf(); }else{printf(); }执行结果:2 小钱嵌入式学习真轻松
在这里num的值为4,而表达式是一个条件表达式,很明显4并不大于5,所以下面的 printf();这句代码将会被执行。
记住一句话:if...else语句是二选一执行
if...else if...else...语句
if...else if...else...语句的一般形式为:
if (表达式1){//执行语句1}else if(表达式2){//执行语句2}else{ //执行语句3}
在这里会先判断表达式1是不是为真,如果为真,执行语句1会被执行,2和3不会。
如果表达式1为假,那么会判断表达式2是否为真,如果为真,执行语句2被执行,1和3不会被执行。
如果表达式1为假,表达式2也为假,那么执行语句3被执行,1和2不会被执行。
在这里 else if部分可以有多个,然后else 部分可以省略,但一般情况下不省略。
记住一点: if...else if...else...语句从上到下的判断,哪一个表达式为真,就执行某个表达式为真后,所对应的执行语句,其他的都不执行。在这里表达式1,2,3里只有一个能被执行到。
举个例子:
int num =10if (num < 1){printf(); }else if(num > 5){printf(); }else{ printf(); }执行结果:10大于5
这里第二个表达式num>5是为真,所以会执行printf(),而其他的语句都不会被执行到
再举个例子:
int num =10if (num < 1){printf(); }else if(num > 5){printf(); }else if(num > 2){printf(); }else{ printf(); }执行结果:10大于5
在这里值得注意的是num > 2这个也是成立的,但是因为是从上到下进行判断的,而num>5是为真,所以会打出10大于5,然后程序就不再往下进行判断了,所以num>2不会被判断到!
我是小钱嵌入式[呲牙],会不断的和大家分享嵌入式相关的内容[送心],智能化时代的到来,促就了未来一定是个全民编程的时代[赞] ,如果你觉得我的分享对你有些帮助,请不要吝惜你的点赞和关注原创写作不易,兄弟姐妹们的点赞和关注,就是我分享最大的动力,谢谢![谢谢],欢迎在评论区和我一起讨论[鼓掌]。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请与我联系,一经查实立刻删除内容。本文内容由快快网络小春创作整理编辑!