c语言的编程switch,C语言之switch详解
一 switch的语法
switch(表达式){
case 常量表达式1:
代码块1
break;
case 常量表达式2:
代码块2
break;
case 常量表达式3:
代码块3
break;
.......
default:
代码块n;
break;
}
语义:根据表达式的结果,直接跳转到与之对应的常量表达式1的代码块里去执行,如果常量表达式都没有与它对应的值,那么就会跳转到default语句里面执行代码块n
二 switch的注意事项
1.千万不要在小括号后面加;,否则可能引起报错
2.switch小括号里面的表达式的结果只能为整数,字符可以,因为字符本质上是整数
3.case后面的常量表达式,只能放常量,不能放变量
4.只要是常量的表达式都可以(所以case后面可以写常量运算式)
5.case后面的常量表达式的结果不允许有相同的
6.default位置可以写在任意位置
7.default可以省略
8.break可以省略,因为break关键字的作用:结束当前所在的switch语句
9.一般情况下,记得不要省略每个case后面的break;
tips:代码例子如下
#include
int main(int argc, const char * argv[]) {
//千万不要在小括号后面加;
/*
//int num = 3;
// switch (num); { //会报错
//
// case 1:
// break;
// case 2:
// break;
// case 3:
// break;
// default:
// break;
// }
*/
//switch小括号里面的表达式的结果只能为整数
/*
float f = 10.3f;
char ch = 'a';
switch (f) { //会报错
case 1:
break;
default:
break;
}
*/
//char可以
/*
char ch = 'a';
switch (ch) {
case 'a':
break;
case 'b':
break;
default:
break;
}
*/
//case后面的常量表达式,只能放常量,不能放变量
/*
int num1 = 1,num2=2,num3=3;
switch (1) {
case num1: //报错
break;
default:
break;
}
*/
//只要是常量的表达式都可以
/*
switch (1) {
case 1+1;
break;
case 2-1:
break;
default:
break;
}
*/
//case后面的常量表达式的结果不允许有相同的
/*
switch (1) {
case 1:
break;
case 2:
break;
case 3:
break;
case 3-2: //报错
break;
default:
break;
}
*/
//是直接跳转到与之对应的case块
/*
int num = 2;
switch (num) {
case 1:
printf("1\n");
break;
case 4:
printf("4\n");
break;
case 5:
printf("5\n");
break;
case 2:
printf("2\n");
break;
default:
break;
}
*/
//因为break关键字的作用:结束当前所在的switch语句
/*
int num = 2;
switch (num) {
case 1:
printf("1\n");
break;
case 2: //会从这里开始一直往下直到执行完毕
printf("2\n");
case 3:
printf("3\n");
default:
printf("ddddd\n");
}
*/
return 0;
}
c语言的编程switch,C语言之switch详解相关推荐
- C语言面向对象编程(二):继承详解
在 C 语言面向对象编程(一)里说到继承,这里再详细说一下. C++ 中的继承,从派生类与基类的关系来看(出于对比 C 与 C++,只说公有继承): 派生类内部可以直接使用基类的 public .p ...
- 区块链用哪种语言 Java_区块链开发用什么语言呢?区块链与编程语言的关系详解...
原标题:区块链开发用什么语言呢?区块链与编程语言的关系详解 区块链的概念就随着比特币的大热开始逐渐进入公众视野,比特币的拥有者为了使其创造更高的财富,开始疯狂炒作,因而引发购买比特币大浪潮.然而等到比 ...
- c语言中getenv的作用,C语言putenv()函数和getenv()函数的使用详解
C语言putenv()函数和getenv()函数的使用详解 C语言putenv()函数:改变或增加环境变量头文件: #include4 定义函数: int putenv(const char * st ...
- R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等
R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录
- R语言中如何计算C-Statistics?几种计算方法详解
R语言中如何计算C-Statistics?几种计算方法详解 目录 R语言中如何计算C-Statistics? #包导入 #数据加载编码
- java注解式开发_JAVA语言之Spring MVC注解式开发使用详解[Java代码]
本文主要向大家介绍了JAVA语言的Spring MVC注解式开发使用详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. MVC注解式开发即处理器基于注解的类开发, 对于每一个定义的处 ...
- time库是python中处理时间的标准库_python语言time库和datetime库基本使用详解
今天是边复习边创作博客的第三天,我今年大二,我们专业开的有这门课程,因为喜欢所以更加认真学习,本以为没人看呢,看了后台浏览量让我更加认真创作,这篇博客花了2个半小时的时间,结合自己所学,所思,所想写作 ...
- C语言中的字符串转数字函数常见问题详解
目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...
- C语言0长度数组(可变数组/柔性数组)详解
CSDN GitHub C语言0长度数组(可变数组/柔性数组)详解 AderXCoding/language/c/zero_length_array 本作品采用知识共享署名-非商业性使用-相同方式共享 ...
- shell脚本编程神器之awk语法案例详解
AWK入门指南 文章目录 shell脚本编程神器之awk语法案例详解 安装AWK AWK 起步示例 AWK程序的结构 执行 awk 程序 awk 的错误提示 简单输出 打印每一行 打印特定行 NF,字 ...
最新文章
- studio添加依赖工程方法
- OO_Unit2_多线程电梯
- xlrd对excel单列处理
- Javascript 笔记与总结(1-4)this
- 学python需要记笔记吗_开始学python,一些笔记
- 《软件需求分析(第二版)》第 10 章——编写需求文档 重点部分总结
- 卡诺模型案例分析_3个维度看竞品分析!
- 十荟团创始人发表内部信,公布下半场业务的全面升级规划
- 微信小程序设置字体无效_小程序设置字体样式 微信小程序字体样式
- Axure RP9如何实现点击文字图标变色?
- tracert命令详解
- C语言 #define ABS(X) (X >= 0) ? X : -X 遇到的逻辑错误
- 川大计算机学梡分数线,2017四川大学历年录取分数线
- ubuntu16.04耳机没有声音解决办法
- 真实如刀的洞见:和扶墙老师聊技术、组织和商业
- Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)
- 0528班宋ww:回顾刚来的那一天还历历在目,不禁感概一番
- mysql连接耗尽_连接池耗尽了!!!
- 【基金学习】基金的相关计算题目
- 字节跳动李航入选ACL Fellow,他曾这样看待机器学习