文章目录

  • 前言
    • 本人是在读大一学生,通过在校学习C语言获得学习经验,欢迎大家来进行指导批评,将记录宝贵建议,虽然是基础知识,祝诸位功不唐捐,玉汝于成。
  • 一、什么是switch语句?
    • 1.1switch语句演示
  • 二、跳转语句
    • 2.1 break语句
  • 总结

前言

本人是在读大一学生,通过在校学习C语言获得学习经验,欢迎大家来进行指导批评,将记录宝贵建议,虽然是基础知识,祝诸位功不唐捐,玉汝于成。

一、什么是switch语句?

switch条件语句是一种常见的选择语句,与if条件语句不同,当判定的条件和要求过多的时候,用if-else语句更复杂,而switch条件语句针对表达式进行判断,选择并确定这一段代码。

switch关键字后面会有一个表达式case,case关键字后有目标值,当表达式的值和某个目标值case相匹配的时候,会执行对应的case语句,最后调出printf函数进行输出。

if条件语句是

“ 如果满足if后的条件,就进行相应的处理,否则的话就进行else,另一种处理。”

1.1switch语句演示

代码如下(示例):
在下面的语法中,调用switch条件语句进行在case匹配判断,如果找到相对应的case,则输出结果,如果并未找到想匹配的case,则输出default里的内容。

switch(表达式)
{case 目标值1:执行语句1break;//跳转语句,后有详细注释,作用为终止循环,执行循环体外的第一条语句case 目标值2:执行语句2break;.......case 目标值n:执行语句nbreak;
default:     //default的作用就是switch语句里所有的case都不成立时所要执行的语句。如果case中的所有条件都不满足,就默认为default后所表示的。执行语句n+1break;
}

二、跳转语句

2.1 break语句

1.break语句终止当前循环。
2.当switch条件语句中的case目标值成立,break终止当前循环后,循环体当中的其他break跳转语句不在运行,可以理解为break智能终结距离最近的switch。
3.在多重循环中,只会跳出向外一层。
4.break不能直接引用if语句,除非if属于循环内部的语句。

代码如下(示例):
分数分层案例

#include <stdio.h>
int main()
{float grade;printf("请输入一个分数:grade=");scanf("%f",&grade);switch((int)grade/10) {case 10:case  9:printf("优秀\n");break;//终结的是case 9的结果。case  8:printf("良好\n");break;case  7:printf("中等\n");break;case  6:printf("及格\n");break;case  5:printf("不及格\n");break;case  4:printf("不及格\n");break;case  3:printf("不及格\n");break;case  2:printf("不及格\n");break;case  1:printf("不及格\n");break;case  0:printf("不及格\n");break;default:printf("您输入的分值不在0-100内\n");break;}return 0;
}

执行过程:
1.判断你输入的数字取决于那个范围,计算并判断表达式。
2.从第一个目标值case开始,进行范围配对,如果输入的数字符合第一个case目标值的范围,那么执行break函数,结束循环体,并直接输出printf后所打出的内容。
3.如果输出的数字与第一个目标函数case不相等,就跳过case1,继续比较case2,case3…,一旦输入的数字找到了属于自己的范围,那么直接按照执行过程2输出内容。
4.如果输入的数字不属于case1到case10,那么就执行default语句后的内容。由于default语句是最后一个分支,匹配后就不会再次执行其他分支,所以后面可以不使用break语句。

注意

1.任何case分支,如果该分支符合表达式,那本行和其下的所有行都会执行。直到遇到break,或者default。如果有break,那就跳出循环了,只执行两个重复语句的前者。如果在第一个语句没有碰到break,在第二个语句碰到了,那就执行两次。
2.case后面可以接字符对应的ASCll值,但是后不能后面接含任何变量
3.default语句并不是必须要加的,如果输入的内容在case中没有相匹配的值,那么就什么也不执行。

总结

本篇文章说的是switch语句和break语句,通过一个分数案例,来了解break是如何中止,default语句的特殊性。
欢迎大家指导批评,如果有语句不充分或者表达模糊,请指导,如果觉得写的好的话点个赞再走!!!我会利用其他时间更新下一章continue和go to语句。

switch条件语句与跳转语句(附分数分层案例)相关推荐

  1. Java-循环语句 控制跳转语句及方法(函数)

    流程控制语句之循环语句 什么是循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为fa ...

  2. JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)

    Java流程控制语句 本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析. 1.顺序语句 顺序结构中的语句可分为:表达式语句.空语句和复合语句 ...

  3. 02 复习流程语句 以及跳转语句

    f = open("02 流程复习",mode='w+',encoding="utf-8")f.write("\t\tpython 流程控制语句\n& ...

  4. JAVA循环语句和跳转语句

    循环语句 while语句结构: while(表达式) { 循环体语句; } 表达式成立则执行循环体语句,且循环体语句中必须有改变表达式的值的语句,表达式的值改变后仍成立则再一次执行循环体语句,直到表达 ...

  5. C++_跳转语句continue_跳转语句goto_一维数组数组_数组定义_数组名---C++语言工作笔记019

    然后我们去看continue语句,这个跟java中的是一样的 意思是跳出本次循环

  6. java switch 条件_Java ——if条件语句 switch语句

    本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //-语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大括 ...

  7. C++ 学习(四)程序流程结构 - 顺序结构、选择结构、循环结构、跳转语句

    1.顺序结构 程序按编码顺序执行,不发生跳转. 2.选择结构 (1)if语句 包含单条件if语句.多条件if语句及嵌套if语句 C++ if语句 #include <iostream> u ...

  8. c#学习第16课,迭代(循环)语句 跳转语句

    迭代(循环)语句 迭代语句的功能是在某个条件的控制下,让一对逻辑反复执行,反复执行的逻辑叫做循环体 迭代语句有四种: 1.while语句 2.do语句 3.for语句 4.foreach语句 whil ...

  9. java 删除语句_是java语句

    <21天学通Java(第7版)>-- 第2章 Java编程基础 2.1 语句和表达式 本节书摘来异步社区<21天学通Java(第7版)>一书中的第2章,第2.1节,作者: [美 ...

最新文章

  1. sublime text3 插件安装方法
  2. lesson4-Qt窗口
  3. 网站不同优化不同时期,如何更“因时制宜”?
  4. C#-几个STL相关
  5. C#开发C/S结构如何通信的问题?
  6. 我想用keil5生成BIN文件,可是安装目录下找不到fromelf.exe
  7. boost::random模块实现如何使用随机数库的简短演示程序
  8. 揭开互联网公司的神秘面纱,数据解读那些slay整个行业的互联网公司
  9. 【EasyUI】关于EasyUI中numberbox onblur事件失效的问题
  10. 深入浅出React Native 1: 环境配置
  11. 计算器软件C语言课程设计实验报告,c简单计算器实验报告_相关文章专题_写写帮文库...
  12. python核心编程:杂记2
  13. OnClientClick的window.confirm无效
  14. vue报错getVueAllUser:67 Uncaught TypeError: Cannot read property 'userId' of undefined
  15. python爬虫实例100例-10个python爬虫入门实例
  16. 徐培成2017大数据Hadoop经典案例-徐培成-专题视频课程
  17. PyTorch模型定义和训练技巧
  18. uni.showToast(OBJECT)消息提示框
  19. 201871010134-周英杰《面向对象程序设计(java)》第二周学习总结
  20. k8s调度之污点和容忍

热门文章

  1. AIX对硬件在线做diag诊断
  2. springBoot引入mysql数据库连接:errorCode1045,state28000的解决办法
  3. 旅游类App原型制作分享-Triposo
  4. 计算机基础知识边框,计算机基础知识2
  5. windows xp系统本地磁盘图标发生变化——5种解决方法
  6. 计算机的主要配件是哪两个,组成计算机cpu的两大部件是什么
  7. 移动光猫+路由器+移动电视盒子iptv 家庭组网方案——光猫路由改桥接
  8. 基于Hadoop豆瓣电影数据分析(综合实验)
  9. [Huffman树] aw149. 荷马史诗(哈夫曼模型+贪心)
  10. 台湾清华大学计算机网络--001