一文详解C语言中的switch语句和while循环

 更新时间:2023年12月28日 08:26:58   作者:小万哥丶  
这篇文章主要给大家详细介绍了C语言中的switch语句和while循环,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

C 语言中的 switch 语句

替代多重 if..else 语句,可以使用 switch 语句。switch 语句用于选择多个代码块中的一个来执行

switch(表达式) {
  case x:
    // 代码块
    break;
  case y:
    // 代码块
    break;
  default:
    // 代码块

工作原理

  • switch 表达式只会被计算一次
  • 表达式的值与每个 case 的值进行比较
  • 如果找到匹配,则执行相应的代码块
  • break 语句用于跳出 switch 块并停止执行
  • default 语句是可选的,如果找不到匹配的 case,则执行它指定的代码

下面的示例使用星期几的数字来计算星期几的名称:

int day = 4;

switch (day) {
  case 1:
    printf("星期一");
    break;
  case 2:
    printf("星期二");
    break;
  case 3:
    printf("星期三");
    break;
  case 4:
    printf("星期四");
    break;
  case 5:
    printf("星期五");
    break;
  case 6:
    printf("星期六");
    break;
  case 7:
    printf("星期日");
    break;
}

// 输出 "星期四" (星期 4)

break 关键字:

  • 当 C 遇到 break 关键字时,它会跳出 switch 块。
  • 这将停止执行更多代码和块内部的 case 测试。
  • 当找到匹配项并完成任务时,就该休息了。没有必要进行更多测试。
  • break 可以节省大量的执行时间,因为它“忽略”了 switch 块中所有其他代码的执行。

default 关键字:

  • default 关键字用于指定在找不到 case 匹配时要运行的代码:
int day = 4;

switch (day) {
  case 6:
   printf("今天是星期六");
    break;
  case 7:
   printf("今天是星期日");
    break;
  default:
   printf("期待周末");
}

// 输出 "期待周末"

C 语言中的 while 循环

循环

循环可以执行一段代码,只要满足指定的条件。循环非常方便,因为它们可以节省时间、减少错误并使代码更易于阅读。

while 循环

只要指定的条件为真,while 循环就会一直循环执行一段代码块:

语法:

while (条件) {
  // 要执行的代码块
}

在下面的示例中,只要一个变量 (i) 小于 5,循环中的代码就会一遍又一遍地运行:

示例

int i = 0;

while (i < 5) {
  printf("%d\n", i);
  i++;
}

注意: 不要忘记增加用于条件的变量 (i++),否则循环将永远不会结束!

do/while 循环

do/while 循环是 while 循环的一个变体。这个循环会在检查条件是否为真之前先执行一次代码块,然后只要条件为真,就会重复该循环。

语法:

do {
  // 要执行的代码块
}
while (条件);

下面的示例使用了一个 do/while 循环。即使条件为假,循环也至少会执行一次,因为代码块是在测试条件之前执行的:

示例

int i = 0;

do {
  printf("%d\n", i);
  i++;
}
while (i < 5);

不要忘记增加用于条件的变量,否则循环将永远不会结束!

现实生活中的例子

为了展示 while 循环的实际例子,我们可以创建一个简单的“倒计时”程序:

示例

int countdown = 3;

while (countdown > 0) {
  printf("%d\n", countdown);
  countdown--;
}

printf("新年快乐!\n");

为了展示 while 循环结合 if else 语句的实际例子,假设我们玩一个 Yahtzee 游戏!

示例

如果骰子数字为 6,则打印“Yahtzee!”:

int dice = 1;

while (dice <= 6) {
  if (dice < 6) {
    printf("没有 Yahtzee\n");
  } else {
    printf("Yahtzee!\n");
  }
  dice = dice + 1;
}

最后

以上就是一文详解C语言中的switch语句和while循环的详细内容,更多关于C语言switch语句和while循环的资料请关注脚本之家其它相关文章!

相关文章

  • 用C语言实现计算器功能

    用C语言实现计算器功能

    这篇文章主要为大家详细介绍了用C语言实现计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • C语言实现切片数组的示例详解

    C语言实现切片数组的示例详解

    由于c语言没有集合类的标准库,需要用时只能自己实现,所以本文参考了go语言的slice,找到了一种非常简化的动态数组接口,下面我们就来看看如何在C语言中实现切片吧
    2024-03-03
  • C语言指针必备基础全面覆盖

    C语言指针必备基础全面覆盖

    数据对象是指存储在内存中的一个指定数据类型的数值或字符串,它们都有一个自己的地址,指针是保存这个地址的变量,本篇文章带你掌握C语言指针的用法
    2021-10-10
  • 基于C++自动化编译工具的使用详解

    基于C++自动化编译工具的使用详解

    本篇文章是对C++中自动化编译工具的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++ STL中的容器适配器实现

    C++ STL中的容器适配器实现

    这篇文章主要介绍了C++ STL中的容器适配器实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C利用语言实现数据结构之队列

    C利用语言实现数据结构之队列

    队列 (Queue):简称队,是另一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素。q=(a1, a2, a3, … an),其中a1为队头,an为队尾,下面文章小编将为大家详细介绍,需要的下伙伴可以参考一下
    2021-10-10
  • C语言编写简单拼图游戏

    C语言编写简单拼图游戏

    这篇文章主要为大家详细介绍了C语言编写简单拼图游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • C语言快速幂取模算法小结

    C语言快速幂取模算法小结

    这篇文章主要介绍了C语言快速幂取模算法,包括了算法的分析与改进,是很多程序设计竞赛中常见的算法,需要的朋友可以参考下
    2014-09-09
  • C++中实现OpenCV图像分割与分水岭算法

    C++中实现OpenCV图像分割与分水岭算法

    分水岭算法是一种常用的图像区域分割法,本文主要介绍了OpenCV图像分割与分水岭算法,使用C++实现,具有一定的参考价值,感兴趣的可以了解一下
    2021-06-06
  • C语言 实现N阶乘的程序代码

    C语言 实现N阶乘的程序代码

    本篇文章是对c语言中实现N阶乘的程序代码进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论