javascript的switch语句,c语言switch语句用法
今天给各位分享javascript的switch语句的知识,其中也会对c语言switch语句用法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如何在JavaScript中使用switch语句
switch语句是条件分支语句,可以用来选择要执行的多个代码块之一,本篇文章就来给大家介绍关于JavaScript中switch语句的使用方法。
如果表达式比较麻烦,当满足以下两个条件时可以使用switch语句
表达式和值可以采用多个值
当你想根据每个值进行更改执行时
下面我们来看switch语句的语法
switch(表达式or变量){
case值1:
break;
case值2:
break;
default:
//如果表达式和变量没有对应的值,执行此步骤
break;
}首先在switch内写入表达式或变量。
之后,我们将编写多个值及其执行代码。(通过查看语法可以看出,在switch语句中,代码执行基本上是并行关系)
请注意break的描述。case?break是一个过程完的成。
最后的default是如果表达式的结果与任何值不对应,则执行。根据需要,你可以写或者不写。
我们来看switch语句的具体示例
我们来编写一个程序,将变量定义为member,并检查分配给member的人的姓名是否为family中的值。
有三个人,Tom,Jerry和Holly,当他们的名字被分配时,浏览器会显示“Tom is my family”等等。在写其他人的名字时,显示“XX is not my family”。
代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript</title>
</head>
<body>
<script>
var member="Tom";
switch(member){
case"Tom":
document.write("Tom is my family");
break;
case"Jerry":
document.write("Jerry is my family");
break;
case"Holly":
document.write("Holly is my family");
break;
default:
document.write(member+"is not my family");
break;
}
</script>
</body>
</html>运行结果如下:浏览器显示“Tom is my family”。
当var member="Jerry";时,显示结果如下:
同理,如果var member="Holly";则会显示Holly is my family。
当你输入其他名字的时候,比如var member="marry";显示结果如下
JavaScript语句分类大全
1、赋值语句:var
2.return语句
3、条件分支语句 if...else,switch
4、循环语句 for,for...in,while,break,continue.
5、对象操作语句with,new,delete,this
6、注释语句
7、函数定义语句:function,return
1、变量声明赋值语句:var
var语句声明了一个变量的名称,同时也可以让这个变量具有一个初始值。
如果var语句在一个函数中声明变量,则这个变量的有效区域只限于这个函数,叫局部变量;如果var语句在函数体外,则有效区为整个应用程序,叫全局变量。
在函函数体外声明一个变量可以不用var,给出变量的值就可以了。(但推荐使用var)
var的语法如下:
例:
word" bgColor=#f3f3f3>
varComputer=9//Computer是一个整数变量,初值为9
Computer=9//Computer是一个整数变量,初值为9
2.return语句
return语句指明将由函数返回的值。
语法如下:
return表达式;
如果这里省略了表达式,或者函数结束时根本没有return语句,这个函数就返回一个undefined类型的值。
3、条件分支语句 if...else,switch
1.if...else
1)基本格式
if(表述式)
语句段1;
......
else
语句段2;
......
2)功能:若表达式为true,则执行语句段1;否则执行语句段2。
3)说明:
·if-else语句是JavaScript中最基本的控制语句,通过它可以改变语句的执行顺序。
·表达式中必须使用关系语句,来实现判断,它是作为一个布尔值来估算的。
·它将零和非零的数分别转化成false和true。
·若if后的语句有多行,则必须使用花括号将其括起来。
4)if语句的嵌套
if(布尔值)语句1;
else(布尔值)语句2;
else if(布尔值)语句3;
else语句4;
在这种情况下,每一级的布尔表述式都会被计算,若为真,则执行其相应的语句,否则执行else后的语句。
示例:
script
functionabcd()
{
vard=confirm("请选择确定或者取消");
if(d==1){
alert("你选择的是确定");
}
else{
alert("你选择的是取消");
}
}
/script
5).switch语句
分支语句switch可以根据一个变量的不同取值而采取不同的处理方法。
switch的语法如下:
switch(表达式){
case label 1:
执行语句;
case label 2:
执行语句;
default:
执行语句;
}
示例:
script
vard=newDate();
switch(d.getDate()){
case0:document.write("星期一");break;
case1:document.write("星期二");break;
case2:document.write("星期三");break;
case3:document.write("星期四");break;
case4:document.write("星期五");break;
case5:document.write("星期六");break;
case6:document.write("星期日");break;
}
/script
4、循环语句 for,for...in,while,break,continue.
1.for
1)基本格式
for(初始化;条件;增量)
语句集;
2)功能:实现条件循环,当条件成立时,执行语句集,否则跳出循环体。
3)说明:
·初始化参数告诉循环的开始位置,必须赋予变量的初值;
·条件:是用于判别循环停止时的条件。若条件满足,则执行循环体,否则跳出。
·增量:主要定义循环控制变量在每次循环时按什么方式变化。
·三个主要语句之间,必须使用逗号分隔。
2.for...in
这个语句与for语句有一点不同。它循环的范围是一个对象所有的属性或者是一个数组的所有元素。
语法如下:
for(变量in对象或数组){
执行语句......
}
4).while语句
1)基本格式
while(条件)
语句集;
该语句与For语句一样,当条件为真时,重复循环,否则退出循环。
2)For与while语句
两种语句都是循环语句,使用For语句在处理有关数字时更易看懂,也较紧凑;而while循环对复杂的语句效果更特别。
示例:
这是1级标题
这是2级标题
这是3级标题
script
i=1;
while(i=3){
document.write("h"+i+"这是"+i+"级标题"+"/h"+i+"");
i++;
}
/script
4、break和continue语句
与C++语言相同,使用break语句使得循环从For或while中跳出,continue使得跳过循环内剩余的语句而进入下一次循环。
5、对象操作语句with,new,delete,this
1).with
使用该语句的意思是:在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。
with object{
...}
所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。
2).this关键字
this是对当前的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于将对象指定当前对象的语句this。
3).New运算符
虽然在JavaScript中对象的功能已经是非常强大的了。但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。使用New运算符可以创建一个新的对象。其创建对象使用如下格式:
Newobject=NEW Object(Parameters table);
其中Newobject创建的新对象:object是已经存在的对象; parameters table参数表;new是JavaScript中的命令语句。
如创建一个日期新对象
newData=New Data()
birthday=New Data(December 12.1998)
之后就可使NewData、birthday作为一个新的日期对象了。
4.delete
同new相反,可以删除一个对象的实例。
6、注释语句(只是给人看的,浏览器不执行的语句)
//这是一个单行的注释
/*这样的注释可以是多行的
......
*/
7、函数定义语句:function,return
1.function
function用来定义一个函数,让济浏览器知道有这样一个函数,但只有当函数被调用时才会执行。
定义方法如下:
function函数名(参数表)
{
函数执行部分
}
下面举下个简单的例了来看看吧:
html
head
title欢迎光临/title
scriptlanguage="javascript"
functiongo()//定义一个函名为go的函数
{
alert("欢迎光临")
}
/script
/head
body
inputtype="button"onclick="go()"value="请点击"
!--单击按钮调用上面定义的函数--
/body
/html
说明:
当调用函数时,所用变量或字面量均可作为变量传递。
函数由关键字Function定义。
函数名:定义自己函数的名字。
参数表,是传递给函数使用或操作的值,其值可以是常量,变量或其它表达式。
通过指定函数名(实参)来调用一个函数。
必须使用Return将值返回。
函数名对大小写是敏感的。
关于C语言中的switch语句变量类型的问题
关于C语言中的switch语句变量类型的问题 switch的变量必须是整数。char, int, short, long等等。float不行。
可以对常量switch。
括号里面的标签可以任意写。把default拼写错也没关系。
case之后必须是常量。
switch有个特殊用途,例如,做加减法运算,对于减法可以将减数先求相反数,然后再进行加法运算。可以这样写:
switch(operator)
{
case'-': operand2=-operand2;
case:'+':.....
}
这样在处理减法时就多了求相反数的操作,然后就和加法一样了。
这个用法好像是在c陷阱与缺陷里看到的。
关于C语言中switch语句的问题在switch语句中,“case常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch语句,所以出现了继续执行所有后面case语句的情况。
即x=1时从case 1开始执行到最后;即x=2时从case 2开始执行到最后.
正常使用时要在后面加 break;
即:case 1: printf("a"); break;
C语言中的变量类型? C语言中,变量分为全局变量和局部变量;也可以这样分:自动变量,静态变量.前者是按变量作用范围来分的,而后者是按变量存储方式来分的.
如果按存储占用空间来分,可以是整型变量,字符型变量,浮点型变量等.当然还有数组,结构体变量等.
C语言还有一个重要变量:指针变量.它存放的值是一个内存地址.
另一点,声明变量时,可以不用声明就直接赋值来决定变量类型的语言如(javascript,flash cs3.0以前,等),这类语言变量的声明通常被称为弱类型,而如(c++等)必须先声明,后使用,而且声明时必须确定变量类型,这种就是严格的数据类型.
C语言关于SWITCH语句的问题因为C语言设计的时候,为了灵活性,switch的语法是反人性的,一个分支不加break的话,是不会自己跳出来的。这个跟想象中的分支的含义不太一样。
这种语法的目的,仅仅是类似这种:
case’a‘:
case'b': DO SOMETHING; break;
表示条件 a或者 b其中任何一个成立,就执行,语言的实现方便。
按照正常人喜欢的逻辑,最好能这么写:
case'a'||'b': DO SOMETHING;然后不用写break
不过这样就不是C语言了
我完全理解lz发这个问题的心情,要学就继续忍受,比这郁闷的坑多着
C语言关于switch语句的问题答案应该错了。应该是
C
a=0,b=1
switch语句的规则是首先找到一个匹配项,在此匹配项之下开始运行,直到遇到一个break则返回,比如对于i=1,首先找到case 1:,然后没有看到break,继续执行case 2:的语句,a+3,然后还是发现没break,又执行default,使得a=8了,其他的i值以此类推会得到31这个结果
他没有忽略case 1:这个语句,只是这个只是一个标记,用来判断i值是否为1,当i=1的时候就会执行case 1:后面的语句,但是发现case 1:这个语句后面没有可执行的语句,也没有break,因此他继续执行case 2:下面的语句,直到遇见一个break或者这个域结束
另外:
case 1:
case 2: a+=3;
与
case 1:a+=3;
case 2:a+=3;
是不同的,比如switch(i),当i=1的时候上面的a=3,下面的会使得a=6
c语言关于switch语句的问题 switch的机制:
判断变量是符合哪个case,如果符合某一个case,那么从那个case处执行。
因此如果没有break语句,下面的case依然会按顺序执行,switch只负责跳到哪儿,该怎么执行还是怎么执行。
题目当中的case 1没有break,因此case2依然会执行。
C语言关于变量类型转换的问题 i=1/p;
改成
i=(float)1/p;
自动转化限制很多,最重要的限制是:运行需要按顺序,每次运行都要进行变量类型检查,如果变量类型不一致,则都转化成精确度高的类型。
注意:如果表达式复杂,那么表达式会被转化成许多步,每步进行的运算,都会进行变量类型自动转换。
就像上面的例子,先将1转化成float型,那么1/p的结果就是float型,然后将值赋给i。
C语言中有关switch语句的问题 case语句只能是常量或常量表达式,变量是不行的。
如果要表达:0<a<100,没必要用switch语句,直接用if(a>0&&a<100)即可
c语言中关于switch语句你的default没有break;所有它在执行default的内容以后继续查找后面的case,要么你就把default放到所有的case后面去就是了...
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!