#include <stdio.h>
#include <stdlib.h>int main(int argc, char **argv)
{int num = 0;if (argc == 2) {num = atoi(argv[1]);}switch (num) {case 0 ... 59:printf("差\n");break;case 60 ... 74:printf("中\n");break;case 75 ... 84:printf("良\n");break;case 85 ... 100:printf("优\n");break;default:break;}return 0;
}

执行结果:

root@seven:~/projects/test# vim test.c
root@seven:~/projects/test# gcc -o test test.c
root@seven:~/projects/test# ./test 0
差
root@seven:~/projects/test# ./test 59
差
root@seven:~/projects/test# ./test 60
中
root@seven:~/projects/test# ./test 75
良
root@seven:~/projects/test# ./test 85
良
root@seven:~/projects/test# ./test 95
优
root@seven:~/projects/test#

百度switch才发现switch 语句
C语言中的switch语法为:

switch(expression){case constant-expression  :statement(s);break; /* 可选的 */case constant-expression  :statement(s);break; /* 可选的 *//* 您可以有任意数量的 case 语句 */default : /* 可选的 */

caseconstant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量字面量

字面量

在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型的元素以及像数组、记录和对象等复合类型的值也支持字面量表示法

constant-expression: 常量表达式。

结论

case 的值必须是常量表达式。值域也是可以的,但是为值域时前面的值一定要小于等于后面的值,否则将无效,当然编译时会警告的。

int i = 0;
switch(i){case 'a'...'z':case 'A'...'Z':case 0 ... 9:case 150:default:break;
}

:

使用整形数字值域时,数字和...使用空格隔开,以防止别人读的时候认为是小数点。

引用文献

  • 字面量.
  • C switch 语句 | 菜鸟教程.

c语言学习加强营(一):switch分支相关推荐

  1. c语言switch同时比较多个变量,C语言学习if和switch分支选择结构

    如何判断一个整数是否为正数 计算机同我们一样,也是可以判断大小.在此之前,我们需要先说明在计算机中用来判断两个数关系的符号,即关系运算符. 关系运算符号 c语言中的关系运算符与数学上学习的有什么不同? ...

  2. 学习笔记_关于switch在whlie中无限循环的解决办法_C语言

    学习笔记_关于switch在whlie中无限循环的解决办法_C语言 今天在做作业的时候突然发现一个问题 #include<stdio.h> int main() {int a;while( ...

  3. C语言第二次博客作业---分支结构

    C语言第二次博客作业---分支结构 一,PTA实验作业 题目1.计算分段函数 本题目要求计算下列分段函数f(x)的值 1.代码 double x, result;scanf("%lf&quo ...

  4. c语言源码转流程图工具_C语言学习路线 (详细)

    C语言怎么学习,这是很多人留言问的问题,其实这个问题没有正确答案,一千个读者有一千个哈姆雷特,每个人学习方法和学习习惯都不一样,这里我就结合一些人的学习经验和自己的学习经历,给出我认为的比较合理的C语 ...

  5. 寒假回归篇——C语言学习感悟2022.1.16

    前言 Everybody!欢迎来到一飞的博客!没错,历经将近三个礼拜的间隔,我又回来啦!前端时间由于在学校里学习和生活上的各种事情,停更了不短的时间,现在,我回来啦! 不在的时间里,我也关注着我的CS ...

  6. C语言学习笔记1——零散基础知识

    我的c语言学习之路是课本<c程序设计>+"面向百度编程",利用写博客的形式来监督自己去奋斗.在写这篇博文时我已经学完c语言很久了,但为了考证和出来工作的,我不得不再次巩 ...

  7. R语言学习手记 (1)

    R语言学习手记 (1) 经管的会计和财管都会学数据统计与分析R语言这门课,加上我也有点兴趣,就提前选了这门课,以下的笔记由老师上课的PPT.<R语言编程艺术>和<R语言数据科学> ...

  8. 计算机基础语言学习线路图

    计算机基础语言学习线路图 HTML HTML教程 HTML简介 HTML编辑器 HTML基础 HTML元素 HTML属性 HTML标题 HTML段落 HTML样式 HTML格式化 HTML引用元素 H ...

  9. C语言学习——从零开始学编程(第三篇:选择与循环)

    文章目录 前言--小颖的话 一.语句 1)C语言中的语句有哪些 2)语句 二.选择语句 1) if选择语句 1. if语句 2.if-else语句 3.if - else if - else 多分支语 ...

最新文章

  1. The substring() Method in JDK 6 and JDK 7
  2. [导入]WAP网站的网关服务器应用形式
  3. c++监听键盘_想知道木马程序的键盘记录原理吗?python告诉你 !
  4. iOS之AVPlayerViewController的使用oc
  5. 查看linux文件系统结构,如何查看Linux系统架构类型
  6. 【Python基础入门系列】第03天:Python 变量与数据类型
  7. Python工程笔记(1):轨迹与日志
  8. 获取数据后插入到jsp页面(自用,没内容)
  9. 车机没有carlife可以自己下载吗_长安CS55自带百度CarLife使用方法
  10. 快来了解下Snappy Ubuntu是什么
  11. 苹果6用U盘越狱_iOS12.3.1 A12 支持在线越狱?作者黑人问号
  12. 我的Java开发学习之旅------Java ClassLoader解析一(转)
  13. Luogu4885 灭顶之灾
  14. flash 火狐总是崩溃_火狐浏览器经常崩溃怎么办,解决Firefox、Flash假死问题
  15. 猜一猜,我国第一次大规模应用二维码是什么时候?
  16. 高等数学:求“分段函数在分段点”的导数,可以直接用导数公式吗?
  17. 2021-2022-1 20212820《Linux内核原理与分析》第一周作业
  18. 单片机原理及应用之AT89S52
  19. Python笔记之通过PyWin32模块实现在QQ聊天窗口自动发送消息
  20. EXCEL函数篇之一文读懂VLOOKUP精准查找、近似查找、模糊查找的区别

热门文章

  1. java 方法注解_使用Java注解不正确的方法
  2. JDK 10的摘要Javadoc标签
  3. 使用Java的Selenium:Google搜索
  4. jmeter实现翻页功能_JMeter定制功能实现
  5. 什么是JAX-RS注释? (第2部分)
  6. 打破冷漠僵局文章_研究僵局–第2部分
  7. 通过微调JVM Garbage Collector减少Java IDE滞后
  8. openjdk_从CLI监视OpenJDK
  9. 编写干净的测试–天堂中的麻烦
  10. ADF:弹出窗口,对话框和输入组件