[初识C语言基础篇] 分支语句(一)

本文详细介绍了C语言中的分支语句,包括if语句的基础用法、嵌套结构,switch语句以及三目运算符。强调了代码块的正确使用和易错点,提醒读者注意代码结构的清晰度。
摘要由CSDN通过智能技术生成

为什么需要分支语句? 

        分支语句形似一条河流,河流在交叉口会有许多分支,在程序执行的过程中亦是,程序是根据人的需求来编写的,程序由一条条的语句组合成,每条语句中间出产生某种必然的逻辑关系,单个的语法无法完成要执行的命令,这时就需要分不同的情况来讨论程序执行的下一步。

C语言中三大分支语句

一、if语句

二、switch语句

三、三目运算符


一、if语句

1.基础说明

if语句用于根据条件判断执行不同的代码块。if语句可以单独使用,也可以与else if语句,else语句结合使用,形成if...else if....else if...else结构,用于处理多种不同的情况。

如果if后面的表达式1为真,则执行if语句后的代码块,即语句列表1,之后结束整个if语句的执行,输出 "helllo,world!"。

如果表达式1为假,则说明条件不满足,则跳过该代码块,也就是无需执行语句列表1,之后来到else if(表达式2)语句,判断表达式2是否为真,若为真,则执行语句列表2,之后结束整个if语句的执行,输出 "helllo,world!"。

若表达式2为假,则跳过语句列表2,之后来到else if(表达式3)语句,判断表达式3是否为真,若为真,则执行语句列表3,之后结束整个if语句的执行,输出 "helllo,world!"。

若表达式3为假,则跳过语句列表3,之后来到else语句,即最终的一个分支节点,这时说明以上的if条件语句都不满足代码编写者的需求,你会发现else之后没有条件判断语句,这也就是程序最终的选择,输出语句列表4所表达的内容。之后整个if语句判断结束,程序输出 "helllo,world!"。

#include<stdio.h>
int main()
{
    if(表达式1)
    {
        语句列表1; 
    }

    else if(表达式2)

    {

        语句列表2;

    }

    else if(表达式3)

    {

        语句列表3;

    }
    else
    {
        语句列表4; 
    }

    printf("hello,world!");
    return 0; 
}

当然,每个分支语句中又可以嵌套if判断语句,相当于一层一层的套娃,这里不再进行列举,大家可以根据自己的需求简单上机操作一下。上面的代码模块可能看起来不是那么舒服,也可以参照下面的格式,逻辑看起来会比较明了。

#include<stdio.h>
int main()
{
    if(表达式1){
        语句列表1; 
    }else if(表达式2){
        语句列表2;
    }else if(表达式3){
        语句列表3; 
    }else{
        语句列表4; 
    }
    printf("hello,world!");
    return 0; 
}

2.易错点

有时我们可能会忘记在判断语句下面漏写{},这时代码的可读性会非常差。在下面的两个代码块中只是else语句的位置有所不同,可以想一下两个程序的输出结果是什么呢?

在跟着鹏哥学习C语言的时候,我初想的是,不是只执行下面的一条语句吗,那结果输出应该是jjjjj。结果我的想法是错的,这里要注意的是此时的else语句是和第7行的if是对照的,如果有多个if判断语句,程序会优先和离else最近的,且并未和else语句匹配的if语句结合(就近原则),该程序中第7行到第10行是一整个大的代码块。若想要第9行的else语句和第6行的if语句是一组的话,需要将7,8行的代码用{}括起来,如下图。

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if(a == 1){
		if(b == 2)
			printf("hhhhh");
	}	
	else
		printf("jjjjj");
	return 0; 
}

为了代码的可读性更好,请牢记{}的重要性,不要漏写,养成规范写代码的习惯。

总结:

最近在重新温习C语言,第一次线上记录学习的知识点,若有哪里不对的地方,请大家评论区给我留言,有什么好的学习建议也可以留言哈,我会慢慢改进的!!!

想问一下大家怎么在文章中的黑色背景代码块是怎么设置的呀,有的前面会有行数显示,例如下图中的。

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值