当前位置: 代码迷 >> 综合 >> 第二章 条件判断语句(分支语句) 循环语句(上)| C语言[0基础 入门 保姆级别 通俗易懂 教程]
  详细解决方案

第二章 条件判断语句(分支语句) 循环语句(上)| C语言[0基础 入门 保姆级别 通俗易懂 教程]

热度:5   发布时间:2023-12-06 01:49:51.0

第二章 条件判断语句(分支语句)& 循环语句(上)| C语言[0基础 入门 保姆级别 通俗易懂 教程]

在这里插入图片描述


作者介绍:

?作者:热爱编程不起眼的小人物?
?作者的Gitee:代码仓库
?系列文章推荐:实现Strcpy函数 - 通过函数发现 “程序之美” | 不断优化、优化、再优化~
?我和大家一样都是初次踏入这个美妙的“元”宇宙? 希望在输出知识的同时,也能与大家共同进步、无限进步?


文章目录

  • 第二章 条件判断语句(分支语句)& 循环语句(上)| C语言[0基础 入门 保姆级别 通俗易懂 教程]
  • 前言
  • 一、浅尝条件判断语句(分支语句)和循环语句
    • Ⅰ.语句
  • 二、条件判断语句(选择结构)
    • Ⅰ.If语句
    • Ⅱ.Switch语句
  • 总结


前言

可以说下列我们即将所接触到的语句在学习C语言的过程中有着密不可分、千丝万缕的关系哦~
不仅可以跟好地帮助我们读懂、学习别人优秀地代码,更能更近一步提升自己地代码能力哦~

以下内容干货满满,跟上步伐吧~


一、浅尝条件判断语句(分支语句)和循环语句

让我们一同看看在初步接触C语言中经常运用到的语句吧!

可以说这些语句在学习C语言的过程中有着密不可分、千丝万缕的关系哦~
只有我们扎实好基础,才能更好地建设上层建筑!!!

条件判断(分支语句)

  • if 语句
  • switch 语句

循环语句

  • while 语句
  • for 语句
  • do while 语句

go to 语句


在真正进入了解C语言的分支和循环语句中,我们得先了解了解什么是“语句”

Ⅰ.语句

C语言中语句可分为以下五类:

  1. 表达式语句
  2. 函数调用语句
  3. 控制语句
  4. 复合语句
  5. 空语句
而本文介绍的是: 控制语句

C语言中控制语句可分为以下三类:

  1. 条件判断语(分支语句):if语句、switch语句;
  2. 循环执行语句 : do while语句、while语句、for语句;
  3. 转向语句:break语句、goto语句、continue语句、return语句;

二、条件判断语句(选择结构)

Ⅰ.If语句

  1. If语句的语法结构
if( 表达式 )语句;
if( 表达式 )语句1;
else语句2;//多分支的情况
if( 表达式1 )语句1;
else if( 表达式2 )语句2;
else if( 表达式3 )语句3;……
else语句n;

!!!特别注意 !!!

在执行单语句的时候,可忽略“{ }”去括住单条语句;

但在执行多条语句的的时候,我们应当用“{ }”去括住多条语句;

一对“{ }” 所括住的是 一个代码块

  1. 理论存在,实践开始:
int main()
{
    int age = 61;if (age < 18)printf("青年");else if (age <= 26)   printf("壮年");else if (age <= 60)printf("老年");else    //与 else if一样 条件都是 建立在 上一条语句条件 的基础上 进行else的 printf("长命百岁");return 0;
}

在这里插入图片描述


补充:else语句会自动与距离近的if语句相匹配

int main()
{
    int a = 0;int b = 2;if(a == 1)if(b == 2)printf("hehe\n");else //虽然看上去这里的 else语句是与第一个if语句格式是相对应的//实质:是与距离近的if相匹配,即第二个if所对应匹配printf("haha\n");return 0;
}
int main()
{
    int a = 0;int b = 2;if(a == 1){
    if(b == 2){
    printf("hehe\n");}else {
    printf("haha\n");}}return 0;
}
所以在初学阶段形成一个良好的书写习惯很重要哦~

Ⅱ.Switch语句

  1. Switch语句的语法结构
switch(整型表达式) //!!!注意这里,只能放“整型表达式”哦
{
                     //不能放“浮点型哦”语句项;//语句项是一些case语句://如下:case 整形常量表达式:语句;
}
  1. break语句在switch语句中的使用

在switch语句中,我们没办法直接实现分支,搭配break使用才能实现真正的分支

int main()
{
    int day = 0;switch(day){
    case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;    case 4:printf("星期四\n"); //switch这样搭配break来使用break;             //便可以在选择并输出内容后,跳出switch语句不再打印后面的内容case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期天\n");    break;}return 0;
}

在这里插入图片描述

但如果想更好地优化上述的代码
我们还可以:

  1. 输入1-5,输出的是“weekday
  2. 输入6-7,输出“weekend"
int main()
{
    int day = 0;switch(day){
    case 1:case 2:case 3:case 4:     //也正是运用了break在switch中的作用:case 5:  	//只要没见到break,程序便一直走下去直至遇见break跳出去printf("weekday\n");break;case 6:case 7:printf("weekend\n");break;}return 0;
}

在这里插入图片描述

break语句实际效果是把语句列表划分为不同的分支部分

  1. default子句在switch语句中的使用

如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
但是,如果我们并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
我们便可以在语句列表中增加一条default子句

综上:在输入与现有的case标签不合的情况下,switch语句便会将这一类“错误的标签”自动归类到default子语句上,输出default子句的内容


总结

综上,我们已经基本了解了C语言中语句的 “条件判断语句(分支语句)”
但这,仅仅是 甜头? ,后续还会带领大家更加的深入语句的相关知识哦~

?如果有错误?,欢迎指正呀?
?如果觉得收获满满,可以点点赞?支持一下哟~?
在这里插入图片描述

  相关解决方案