R语言中的switch函数用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言中的switch函数用法相关的知识,希望对你有一定的参考价值。
参考技术A R语言中的switch与其它语言中的switch有很大区别。在R中,switch函数的语法形式如下:
其中,expr为表达式,其值或为一个整数值或为一个字符串;list为一个列表。
运行机理:若expr的计算结果为整数,且值在1~length(list)之间时,则switch()函数返回列表相应位置的值。若expr的值超出范围,则没有返回值(老版本的R中返回NULL)。
例1:
由该例可知,x的值为2,则switch函数根据传入的值2,输出列表中的第2个值:国家纳米科学中心。
例2:看看下面两个例子的输出值是多少:
若switch()中的参数list是有名定义时,则当expr等于元素名时,返回变量名对应的值,否则没有返回值。
例3:
you.like<-"fruit"
switch(you.like, drink="water", meat = "beef", fruit = "apple", vegetable="cabbage")
我们使用switch函数的这一性质可以定义一个函数实现多种操作:
R语言的switch结构是常用的一种结构
工具/原料
R语言开发环境
R语言开发工具
方法/步骤
打开R语言开发工具,RGui
R语言switch的使用方法
先定义一个向量
R语言switch的使用方法
使用for结构对switch进行循环输出
R语言switch的使用方法
编写switch结构的语言
R语言switch的使用方法
回车后,根据print函数输出switch函数的结构
R语言switch的使用方法
6
应用解析:for对向量bd进行循环,
通过print对switch定义的结构判断结构中符合向量的要求,
然后把符合要求的输出!
switch语句用法规则
switch也是c语言中比较常见的一种函数,前面学这个的时候只是记了一个大概的用法,也没怎么练习
今天上c语言实训课的时候被同学问了一个关于switch的题目,我选错了。所以回来重新整理一下这个函数的要点。
先来看一下今天他问那个题目:
例题:若有一下变量定义:
float x; int a, b;
则正确的switch语句是( )。
A.switch(x){ B.switch(a){ C.switch(b){ D.switch(a+b){
case 1.0:printf("*\n"); case 1 printf("*\n"); case 1:printf("*\n"); case 1:printf("*\n");
case 2.0:printf("**\n"); case 2 printf("**\n"); default:printf("\n"); case 2:printf("**\n");
} } case 1.0+2:printf(""); default:printf("\n");
} }
这题答案: D
A.错在switch语句中只能用int,char型变量,对于其他的变量只能用else if语句。
B.case 后面的变量要有 冒号“ :”。
C.同A一样的错误。
整理一下,switch用法
-
case后面只能跟一个值(加冒号:),而不能是一个表达式
-
switch(表达式) 后面没有分号(;)
-
{}前后没有分号(;)
-
default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句
switch语句规则:
-
case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
-
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
-
如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束
-
连续的两个case语句表示,这两个case是同一种情况
再来一段代码练习练习
//给出一百分制成绩,要求输出成绩等级‘A’、’B’、‘C’、‘D’、‘E’。90分以上为‘A’ ,80~89分为’B’ ,70~79分为‘C’... #include <stdio.h> main() { int grade; printf("请输入你的成绩:"); scanf("%d",&grade); switch(grade/10) ////除10,把题目给的分数区间转化为一个数,方便作为选择 { case 10: //在题目中,100也算90分以上都算A,所以不需要再对它进行输出了 case 9:printf("A\n");break; case 8:printf("B\n");break; case 7:printf("C\n");break; case 6:printf("D\n");break; default:printf("E");break; } }
以上是关于R语言中的switch函数用法的主要内容,如果未能解决你的问题,请参考以下文章