首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言选择与循环语句——选择结构if...else语句

C语言选择与循环语句——选择结构if...else语句

作者头像
Han.miracle
发布2025-12-22 14:00:33
发布2025-12-22 14:00:33
1290
举报

介绍

C语言作为一门经典的程序化编程语言,其程序结构丰富且实用,主要可划分为顺序结构选择结构(又称分支结构)以及循环结构这三种基本类型。在C语言的世界里,这三种结构如同强大的工具,能够帮助我们有效解决生活中的各类逻辑问题,或是攻克编程过程中遇到的诸多难题。

其中,选择结构通过if语句switch语句来巧妙实现,它们就像是程序的“决策中枢”,能依据不同条件引导程序走向不同的执行路径;而循环结构则由forwhiledo…while语句构建,宛如不知疲倦的“工作引擎”,使得程序能够按照设定的条件重复执行特定的代码块。

接下来,就让我们一同踏入C语言的奇妙领域,在代码的字里行间感受它独特的魅力与精妙之处吧。

if…else语句

if 语句的语法形式如下:

代码语言:javascript
复制
if(表达式)
语句
else
语句

if…else语句中表达式为真则执行if语句,为假执行else语句。 举个例子,更容易一些:

代码语言:javascript
复制
if(2>1)
语句
else
语句

各位同学,咱们来看if语句,就拿if语句后面括号里的(2 > 1)来说,很明显,2大于1这个条件是成立的,也就是为真,所以程序会执行if后面紧跟的语句。相信通过这个简单的例子,能让大家对if语句有更清晰的理解。

此外,在C语言的逻辑判断体系中,还有一种独特的真假判定方式:非零即真,零则为假。也就是说,当if语句中表达式的运算结果为0时,其后续语句不会被执行;而当表达式的结果不为0时,相应语句就会得以执行。

代码语言:javascript
复制
if(num % 2 == 1)
 printf("%d 是奇数\n", num);
 else
 printf("%d 是偶数\n",num);

相信大家对if - else语句已经有了初步认识。那么接下来,我们再写一个例子,希望大家能灵活运用刚刚学到的知识点哦。

代码语言:javascript
复制
int score=100;
if(score>=60)
  printf("你的成绩合格\n");
  else
  printf("你的成绩不合格\n");

接下来,让我们深入了解一下,if…else语句默认if 和else 语句中都只控制⼀条语句,⽐如上面那几个案例,那大家思考过,如果多条语句怎么办呢,那让我们试一下。

代码语言:javascript
复制
int score=100;
if(score>=60)
  printf("你的成绩合格\n");
  printf("恭喜你\n");

那这个代码的结果会是什么呢,有兴趣的小伙伴可以自己赋给不同的值试试。博主也就不卖关子了,上⾯的代码,你会发现输⼊的值不管是 “你的成绩合格"还是"恭喜你"都会打印在屏幕上。 这是因为if语句只能控制⼀条语句,就是 printf(“你的成绩合格\n”);,if语句为真,则打印你的成绩合格,if语句为假,则不打印,对于 printf(“恭喜你\n”); 是独⽴存在的,不管if语句的条件的真假,都会被执⾏。那如果我们要if语句同时控制2条语句,怎么办呢?那就要使⽤else 后也可以跟上⼤括号。如下:

代码语言:javascript
复制
int score=100;
if(score>=60)
  {
  printf("你的成绩合格\n");
  printf("恭喜你\n");
   }
   else
   {
   printf("你的成绩不合格\n");
    printf("很遗憾\n");
   }

if…else语句中,else 可以与另⼀个if 语句连⽤,构成多重判断。 ⽐如:要求输⼊你的分数,判断你的成绩多少分,还是不及格或者及格。请看如下代码:

代码语言:javascript
复制
int score = 0;
 scanf("%d", &num);
 if(score >60)
 printf("你的成绩及格了\n");
 else
 if(num<60)
 printf("你的成绩不及格") 
else
 printf("你的成绩刚好及格");
return 0

 //这⾥的if 相当于嵌套在else语句中,形成了嵌套结构

以上就是嵌套if语句的语法,有了嵌套if语句,就可以完成更多复杂逻辑的判断。

然后再说一下 ,悬空else问题,其实很好解决,如果有多个if和else,可以记住这样⼀条规则,else总是跟最接近的if匹配。我们⾸先从下⾯代码理解一下。

代码语言:javascript
复制
int a = 2;
 if(a == 1)
 if(a == 2)
 printf("hehe\n");
 else
 printf("haha\n");

程序运⾏的结果是啥? 很多初学者,上来以判断a 是0,不等于1,那就执⾏else ⼦句,打印haha,但是当你去运⾏代码,输出的结果是:啥都不输出。但是当你去运⾏代码,输出的结果是:啥都不输出。

就是悬空else 的问题,如果有多个的if和else匹配,可以记住这样⼀条规则,相信大家都学习过英语,英语有一个知识点叫做“就近原则”,else 总是向上就近跟最接近if匹配。 如果我们想要远处的if匹配else,就需要运用{ },会让我们代码的逻辑更加的清晰,所以⼤家以后在写代码的时候要注意括号的使⽤,让代码的可读性更⾼来实现我们的目的,举一个例子。

代码语言:javascript
复制
#include <stdio.h>
 int main()
 {
 int a = 4;
 int b = 1;
 if(a == 4)
 {
 if(b == 1)
 printf("hehe\n");
 }
 else
 {
 printf("haha\n");
 }
 return 0;
 }

只要带上适当的⼤括号,代码的逻辑就会更加的清晰,所以⼤家以后在写代码的时候要注意括号的使⽤,让代码的可读性更⾼。

以上就是C语言选择与循环语句——选择结构if…else语句的大体内容了,相信大家对if…else有了更加清晰的认识了,大家注意if…else 语句如同编程世界的 “十字路口指示灯”,指引程序在不同条件下走向不同路径。掌握其核心逻辑后,建议通过大量项目实践将语法规则内化为 “条件思维”—— 当面对现实问题时,学会用 “如果… 那么…” 的逻辑链条拆解需求,这才是编程能力提升的真正起点。愿你在代码的分支中,找到属于自己的最优执行路径!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • if…else语句
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档