switch语句(初学者)
C语言提供了另一种用于多分支选择的switch语句(常用于开关),一般形式为:
#include<stdio.h> void main()
{
int a;
printf("input integer number:");
scanf("%d",&a);
switch(a)
{
case :printf("Monday\n");
case :printf("Tuesday\n");
case :printf("Wednesday\n");
case :printf("Thursday\n");
case :printf("Friday\n");
case :printf("Saturday\n");
case :printf("Sunday\n");
default:printf("error\n");
}
}
为避免上述输出时出现的情况,C语言提供了一种break语句,专用于跳出switch语句,break语句只有关键字break,没有参数。
正例:
#include<stdio.h> void main()
{
int a;
printf("input integer number:");
scanf("%d",&a);
switch(a)
{
case :printf("Monday\n");break;
case :printf("Tuesday\n");break;
case :printf("Wednesday\n");break;
case :printf("Thursday\n");break;
case :printf("Friday\n");break;
case :printf("Saturday\n");break;
case :printf("Sunday\n");break;
default:printf("error\n");break;
}
}
注意:(1)在case后的各常量表达式的值不能相同,否则会出现错误。
(2)在case后允许有多个语句,可以不用{}括起来。
(3)各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
(4)default子句可以省略不用。
(5)只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
#include<stdio.h>
int main()
{
char rank;
printf("请输入分数等级:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)
{
case'A':printf("A(90~100)\n");break;
case'B':printf("B(80~89)\n");break;
case'C':printf("C(70~79)\n");break;
case'D':printf("D(60~69)\n");break;
case'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
}
switch语句(初学者)的更多相关文章
- 选择结构-穿透的switch语句和循环结构-循环概述
case的穿透性 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束 publi ...
- switch语句的妙用
switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console. ...
- 106运用SWITCH语句打印星期几的单词
package com.chongrui.test;/*运用SWITCH语句打印星期几的单词 * */ public class TypeConvertion { public static void ...
- 通过goto语句学习if...else、switch语句并简单优化
goto语句在C语言中实现的就是无条件跳转,第二章一上来就介绍goto语句就是要通过goto语句来更加清楚直观的了解控制结构. 我理解的goto语句其实跟switch语句有相似之处,都是进行跳转.不同 ...
- Java中简单的操作(if语句、常用操作符、switch语句、变量赋值等)
---------------------if语句介绍--------------------------------------------------- class IfDemo { public ...
- Switch语句的case穿透
Switch语句的case穿透 一 switch语句几点说明: 1. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的. 2.case后面表达式可以接受: 基本数据类型,b ...
- ECMA中的switch语句
switch借鉴自其他语言,但也有自己的特色. 1.可以在switch语句中使用任何数据类型(数值.字符串.对象等),很多其他语言中只能使用数值. 2.每个case的值不一定是常量,可以是变量或者表达 ...
- switch语句下的变量声明和定义
switch语句下的变量声明和定义的问题: switch...case...语句中存在声明和定义会出现一些问题.这个由switch语法特性决定的, switch中每个case都是平等的层次,区别于一般 ...
- 透过IL看C#:switch语句(转)
透过IL看C# switch语句(上) 摘要: switch语句是 C#中常用的跳转语句,可以根据一个参数的不同取值执行不同的代码.本文介绍了当向 switch语句中传入不同类型的参数时,编译器为其生 ...
随机推荐
- leetcode — integer-to-roman
/** * Source : https://oj.leetcode.com/problems/integer-to-roman/ * * Created by lverpeng on 2017/7/ ...
- Everything(一款用于检索硬盘文件的工具)
有时候文件夹一多,找不到文件,忘记放哪个盘符怎么办? Everything就能帮你解决,比电脑自带的快多啦,官网在此:http://www.voidtools.com/ (也不大,就几M,没有特别的安 ...
- 将应用代码由eclipse导入Android studio的方法NDK-Build和Cmake两种方法(以android_serialport_api为例)
网上翻了几百篇博客,看了半天,要不就是写的乱七八糟看不懂,要不就是隐藏了一些细节,要不就是实现不了,最后还是在Android官网上看明白了,而且说得有条有理,以后遇到不懂的一定要先翻官网. 参考资料: ...
- [HEOI2017] 相逢是问候
Description 支持以下两个操作: 将第 \(l\) 个数到第 \(r\) 个数 \(a_l,a_{l+1},\dots a_r\) 中的每个数 \(a_i\) 替换为 \(c^{a_i}\) ...
- Redis服务搭建与基础功能示例
一.Redis简介 Redis是一个非关系型远程内存数据库,它也是一个Key-value模型的数据库.Redis支持5种数据类型(string.list.set.sorted set.hash),可以 ...
- Spring之Bean的作用域与生命周期
在前面博客中提到容器启动获得BeanDefinition对象中有一个scope 属性.该属性控制着bean对象的作用域.本章节介绍Bean的作用域及生命周期,了解bean是怎么来的又怎么没的. 一.B ...
- Java基础——Ajax(三)
Ajax 中文乱码问题(分两种情况) 1.对于Ajax 发的 post请求,服务端只需要 : request.setCharacterEncoding("utf-8"); 2.对 ...
- Java 10新特性
ref:http://www.cocoachina.com/industry/20180309/22520.html https://www.oschina.net/news/94402/java-1 ...
- canvas-star4.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python hashlib 模块
使用 md5 加密 import hashlib m = hashlib.md5() m.update('hello world'.encode('utf-8')) # 加密的字符串需要先编码成 ut ...