c语言之判断if语句

if语句

语法结构:

一:if(表达式)//表达式为真时执行语句

   语句;

二:if(表达式)

   语句1;

elseyi

   语句2;

//多分支    

三:if(表达式1)

   语句1;

else if(表达式2)

   语句2;

else

   语句3;

注意:C语言中不含有布尔类型,所以用非0表示真,0表示假

下面我们来看一段代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//判断结构,C语言中不含有布尔类型,所以用非0表示真,0表示假
int main(){
	int coding = 0;//coding变量初始化为0
	scanf("%d", &coding);//可以自定义输入变量
	if (coding == 20000)//判断是否为真,真的话执行括号里面的语句,假的话跳出
	{
		printf("%s\n", "走上人生巅峰\n");
	}
	else if (coding == 10)//判断是否为真,真的话执行括号里面的语句,假的话跳出
	{
		printf("%s\n", "回家卖红薯\n");
	}
	else//如果上述都有错误,执行此括号里面的语句
	{
		printf("%s\n", "没救了\n");
	}
	return 0;
}

此段代码我们用了多分支语句,当输入的coding等于20000时,则打印输出“走上人生巅峰”,当输入的coding等于10时,则输出“回家卖红薯”,如果输入的coding都不等于上述数值时,则输出“没救了”。

 输出结果为:

《c语言之判断if语句》

《c语言之判断if语句》

《c语言之判断if语句》

 

下面来看两段代码,这两段代码的对比主要是为了凸显代码的风格以及{}的使用

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//适当的使用{}可以使代码的逻辑更加清楚
//代码风格很重要
int main(){
	int a = 1;
	int b = 2;
	if (a == 1)
		if (b == 2)
			printf("hehe\n");
	else
		printf("haha\n");
	return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//适当的使用{}可以使代码的逻辑更加清楚
//代码风格很重要
int main(){
	int a = 1;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
		{
			printf("hehe\n");
		}
	}
	else
	{
		printf("haha\n");
	}
	return 0;
}

对比上述的两段代码可以看出两者的代码风格完全不同,一个注重对于{}的使用,一个没有,显然下面的代码风格更让人赏心悦目,适当的使用{}可以让代码的逻辑更加清楚。

如果上述代码不去使用{}会发生什么呢?下面我们来看一段代码:并思考此段代码的输出结果是多少?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main(){
	int a = 1;
	int b = 2;
	if (a==1)
	    if (b == 2)
		      printf("hehe\n");
	else
		      printf("haha\n");
	return 0;
}

分析:

假如此时a等于0,但是执行if(a==1)时会判断为假,那么就执行不到if(b==2)语句,也就不会再有输出语句,则会直接执行return 0语句,程序结束。

现在根据图中的代码,此时a=1,那么当执行到if(a==1)时,判断为真,则此时执行if(b==2),又因为此时b=2,if判断为真,则执行printf(“hehe\n”);输出hehe.

假如此时b不等于2,则此时会输出haha,原因是else会找最近的if语句进行匹配,也就是if(b==2)语句,此时if条件语句判断为假,则会调换到else语句进行输出。

 输出结果为:

《c语言之判断if语句》 

下面来看最后一段代码:思考这段代码的输出结果:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>


int main(){
	int a = 10;
	if (5 < 10 < 30)//判断的顺序为首先5小于10,为真所以为1,下来1小于30,为真,所以此时执行printf("hello\n");
	{
		printf("hello\n");
	}
	else
	{
		printf("hello1\n");
	}
	return 0;
}

分析:在if判断条件中,判断的顺序为首先5小于10,为真所以为1,下来1小于30,为真,所以此时执行printf(“hello\n”);

输出结果为:

《c语言之判断if语句》 

    原文作者:努力彪
    原文地址: https://blog.csdn.net/qq_41972686/article/details/109730589
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞