c语言基础编程知识:switch开关语句浅析

在c语言的选择结构中,if——else语句一般指用来处理一个或者两个分支的选择结构,如果分支较多还使用if_else语句的话就会导致程序运行效率降低,代码可读性减弱。所以,switch就应运而生了。switch的英文意思是“切换”,所以它在编程中就做了一个选择分支的专业术语。

首先我们来交流下switch语句的基本语法

switch (表达式) //计算表达式的值
{
case 常量 1: //如果等于常量1
语句; //case后面只能加常量
break; //跳出分支,执行switch语句之后的代码

case 常量 2: //如果等于常量2
语句;
break;

default: //如果没有找到匹配的值
语句;
break;
}
switch语句的执行流程

switch语句中的执行顺序是自上向下的,它首先就要计算表达式的值,如果发现表达式的值和case后面的常量值相等的时候,就执行相应的那段case语句。如果没有找到和表达式值相匹配的常量,程序就会执行default那段代码。

ps:在使用的switch的时候一般都要用上break语句。(break语句是用来跳出此次选择或者循环,执行选择或者循环后的代码)因为既然我们选择使用switch语句,那么分支就一定比较多,什么是分支?我们暂且不去讨论它的理论意义,我们只需要知道分支条件一定不会是相等(如果相当的话,那还要分家干什么,全部和而为一不算了?)既然不会有相等,那么就必须让程序又个“井水不犯河水”的思想,所以我们就可以某个case后加上一个break,回家请功去。

接下来我们了解下switch在使用时的一些经验

1、swtich语句要和case,break配合使用。
2、条件判断的表达式类型可以是任何类型,一般常用的就是整型表达式,字符表达式,枚举类型。
3、case后面只能加上常量,也就是说只能是整型常量或者字符串常量(c语言中没有string,所以要想实现字符串的效果一般都是使用字符数组)最重要的是,每个case后面的常量值必须互不相同,互不干扰。否则程序就会出现逻辑错误。
4、case与case,case与default的排列顺序可以被打乱,打乱不会影响执行的效果。

IT技术网:http://www.52ij.com/小谦,如有转载,请保留原地址!

时间: 2024-10-30 08:27:23

c语言基础编程知识:switch开关语句浅析的相关文章

[Lua]Lua语言基础汇总(3) -- 语句

赋值 赋值的基本含义是修改一个变量或一个table中字段的值,这个和其它语言没有多少区别,但是对于Lua,有一个特性,它允许"多重赋值",也就是一下子将多个值赋予多个变量,例如以下代码: 1 2 3 local x1, x2 = 2, 4 print(x1)     -->2 print(x2)     -->4 在多重赋值中,Lua先对等号右边的所有元素求值,然后才执行赋值,例如以下用法,可以非常简便的交换两个元素的值: 1 2 3 4 local x1, x2 = 2,

举例讲解Swift编程中switch...case语句的用法_Swift

Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性.使用Switch语句很简单: var i = 0 switch i { case 0: "0" //被输出 case 1: "1" default: "2" } 在这个最简单的Switch语句中,与其他语言很不同的一点是:不用显式的加上break.Swift的S

深入剖析Go语言编程中switch语句的使用_Golang

switch语句可以让一个变量对反对值的列表平等进行测试.每个值被称为一个的情况(case),变量被接通检查每个开关盒(switch case). 在Go编程,switch有两种类型. 表达式Switch - 在表达式switch,case包含相比较,switch表达式的值. 类型Switch - 在这类型switch,此时含有进行比较特殊注明开关表达式的类型. 表达式Switch在Go编程语言中表达switch语句的语法如下: 复制代码 代码如下: switch(boolean-express

《数据驱动的网络分析》——6.2 R语言基础知识

6.2 R语言基础知识 本节是R语言的速成教程.R是一种特性丰富的语言,我也只是略懂一二.但是,在本节结束时,你就能够编写简单的R程序,在命令行上运行,并将其保存为一个库. 6.2.1 R提示符 启动R,将会显示一个窗口和命令提示符.图6-1展示了一个R控制台的例子.如图所示,控制台主要是一个大的文本窗口,顶部的一系列按钮提供了辅助功能.注意按钮栏下的两个文本框,第一个显示当前工作目录,第二个是帮助功能.R有很好的文档,所以一定要习惯使用帮助框. 在图6-1中,我输入了几条简单的命令: > s<

《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础

第1章 面向ArcGIS的Python语言基础 同其他编程语言一样,Python也支持多种类型的程序架构.本章主要介绍Python的基本语言架构.首先,介绍如何创建新的Python脚本及编辑已有的脚本:其次,介绍Python语言的特点,如添加注释.创建变量并赋值.创建内置变量等,以使Python的代码更加简单明了. 然后,介绍Python语言提供的各种内置数据类型,如字符串.数字.列表和字典等.类和对象是Python等面向对象编程语言的基本概念,在使用ArcGIS编写地理处理脚本时会经常用到它们

《基于ArcGIS的Python编程秘笈(第2版)》——1.3 Python语言基础

1.3 Python语言基础 了解Python语言的基本架构,有助于读者更有效地编写ArcGIS地理处理脚本.尽管Python语言相对于其他编程语言来说更易学,但要想真正掌握它,也需要花一定的时间来学习和练习.本节将介绍如何创建变量及给变量赋值,可赋值给变量的数据类型,如何使用不同类型的语句和对象,如何读写文件和导入Python第三方模块等内容. 1.3.1 代码注释 编写Python脚本时,一般都需要遵循约定俗成的程序架构.通常在每个脚本的开头是说明部分,用来说明脚本的名称.作者和处理过程的梗

《C语言编程魔法书:基于C11标准》——第2章 学习C语言的预备知识 2.1 计算机体系结构简介

第2章 学习C语言的预备知识 我们在第1章已经大致介绍了C语言的概念以及编译.连接流程.我们知道C语言是高级语言中比较偏硬件底层的编程语言,因此对于用C语言的编程人员而言,了解一些关于处理器架构方面的知识是很有必要的,对于嵌入式系统开发的程序员而言更是如此了. 另外,C语言中有很多按位计算以及逻辑计算,所以对于初学者来说,如果对整数编码方式等计算机基础知识不熟悉,那么对这些操作的理解也会变得十分困难.因此,本章将主要给C语言初学者.同时也是计算机编程初学者,提供计算机编程中会涉及的基本知识,这样

Swift编程中的switch...case语句实例解析_Swift

Swift中的switch...case语句可以判断对象类型, Objective-C中则必须是整数. 不可以穿透,可以不写break, var rank = "A" switch rank{ case "A": //相当于if print("优") case "B": // 相当于else if print("优") case "C": // 相当于else if print(&quo

IOS开发之路--C语言基础知识_IOS

概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift 这么看下去还有大量的内容需要持续补充,但是今天我们从最基础的C语言开始,C语言部分我将分成几个章节去说,今天我们简单看一下C的一些基础知识,更高级的内容我将放到后面的文章中. 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述): Hello World 运行过程 数据类型 运算符 常用