goto语句 switch语句
goto语句
#include <iostream>
using namespace std; int main()
{
int i = 1;
number:
i++;
std::cout<<"*";
if(i<10)
{
goto number;
}
std::cout<<"\n 程序结束"<<endl; return 0;
}
输出:
*********
程序结束
一般不用goto语句,调试困难!因为编译器难以报错!
switch 语句
转载自http://www.cnblogs.com/zhangjs8385/archive/2011/10/06/2200059.html
switch(表达式)
{ case 常量表达式1:语句1; .... case 常量表达式2:语句2; default:语句;
}
1.default就是如果没有符合的case就执行它,default并不是必须的.
2.case后的语句可以不用大括号. case 后面必须是常量表达式constant expressions, 错误表示如: case x .
3.switch语句的判断条件可以接受int,byte,char,short, enum不能接受其他类型.
4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.
原理归原理,下面是几个容易混淆的例子.
程序1:
public static void main(String[] args)
{
int i=5;
switch(i)
{
case 1:
System.out.println("one");
case 10:
System.out.println("ten");
case 5:
System.out.println("five");
case 3:
System.out.println("three");
default:
System.out.println("other");
}
}
}
输出:
five
three
other
没有遇到break,往下执行!!break可以使本次循环直接结束,continue使循环又一次重新开始!
程序2:
int i=3;
switch(i)
{
case 1:
System.out.println(1);
break; case 2:
System.out.println(2);
break; case 3:
System.out.println(3);
break; default:
System.out.println("default");
break;
}
输出:3
下面是一个输出菜单程序:
#include <iostream>
using namespace std; int main()
{
bool flag = false;
while(1)
{
char choice;
cout<<"0/1/2/3/4/5/6/7/8/9/q(QUIT)";
cin>>choice;
switch(choice)
{
case '1':cout<<"您输入的是一 \n";
break;
case '2':cout<<"您输入的是二 \n";
break;
case '3':cout<<"您输入的是三 \n";
break;
case '4':cout<<"您输入的是四 \n";
break;
case '5':cout<<"您输入的是五 \n";
break;
case '6':cout<<"您输入的是六 \n";
break;
case '7':cout<<"您输入的是七 \n";
break;
case '8':cout<<"您输入的是八 \n";
break;
case '9':cout<<"您输入的是九 \n";
break;
case 'q':
cout<<"程序结束!! \n"; //当输入q的时候,把flag赋值为rure
flag = true;
break;
default:cout<<"您输入的不是0到9之间的有效数字,请重新输入:";
}
if (flag == true)
{
break;
}
} return 0;
}
goto语句 switch语句的更多相关文章
- 【C语言】-条件语句-switch语句
switch语句: 用于直接处理不同情况下的多路问题. switch语句又可称为开关语句,其执行流程和多分支if语句类似. switch (表达式) { case 常量表达式1:语句组1;break; ...
- Java ——if条件语句 switch语句
本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //…语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大 ...
- 关系运算符 逻辑运算符 if 语句 switch语句
1. BOOL类型 BOOL isRightOrNo = YES; isRightOrNo = 56;//可以打印出来,在C语言中,非0即真 printf("%d\n" , isR ...
- 第二部分 条件控制执行语句、循环语句、switch语句、跳转语句和其它语句
条件控制执行语句: if语句 if....else....语句 循环语句: while语句 do....while语句 for语句 switch语句: 跳转语句: break; continue; r ...
- Java语法基础(三)----选择结构的if语句、switch语句
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- 1203.2——条件语句 之 switch语句
用 if else 语句在处理多分支的时候,分支太多就会显得不方便,且容易出现 if 和 else配对出现错误的情况.例如,输入一个整数,输出该整数对应的星期几的英文表示: #include < ...
- 7.21.02 switch语句
switch语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch语法格式如下: switch(expression) { case value : //语句 break ...
- PHP Switch 语句
PHP Switch 语句 switch 语句用于根据多个不同条件执行不同动作. PHP Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 switch 语句. 语法 switch ( ...
- c#switch语句的用法
switch条件语句是一种很常用的选择语句,它与if条件语句不同,它只针对某个表达式的值作出判断,从而决定执行哪一段代码. switch条件语句用到的关键字: switch case break de ...
随机推荐
- oracle 空表无法导出
1.执行该语句 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; ...
- MSP430F149学习之路——蓝牙模块
注意蓝牙模块的接法! #include <msp430x14x.h> ]; ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SE ...
- 学习记录 彻底搞清 C#中a++与++a的区别
首先 a++和++a 的定义:看个例子A: a=5; b=++a; // 相当于a=a+1;b=a; 结果是a=6,b=6B: a=5; b=a++; // 相当于b=a;a=a+1; 结果是a=6, ...
- 洛谷P1530 分数化小数 Fractions to Decimals
P1530 分数化小数 Fractions to Decimals 103通过 348提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 暂时没有讨论 题目 ...
- Android中各组件的生命周期
1.Activity生命周期图 二.activity三种状态 (1)active:当Activity运行在屏幕前台(处于当前任务活动栈的最上面),此时它获取了焦点能响应用户的操作,属于活动状态,同一个 ...
- Java基础——异常体系
在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: 所有的异常都是由Throwable继承而来,在下一层立即分解为两个分支,Error和Exception. ...
- sql server安装程序无法验证服务账户是什么原因
为了帮助网友解决“sql server安装程序无法验证服务”相关的问题,中国学网通过互联网对“sql server安装程序无法验证服务”相关的解决方案进行了整理,用户详细问题包括:能是尚未向所有要安装 ...
- myeclipse的一些设置
常用快捷键 Ctrl + Shift + R 搜索文件Ctrl + Shift + T 搜索类型Ctrl + O 搜索成员 智能提示 Windows > Preferences > G ...
- HTML中,按钮button与submit区别是什么?
type=button 单纯是按钮功能:type=submit 是发送表单:既然是这样,那么能否全部用submit代替button? Sumit提交表单,Button需要绑定事件才可以用提交数据不可以 ...
- 用verilog模拟DDS产生正弦波信号
前言: DDS:直接数字频率合成,正弦波0-2pi周期内,相位到幅度是一一对应的(这里我们使用放大后的整数幅度). 主要思路: 个人理解,FPGA不擅长直接做数字信号计算,那样太占用片上逻辑资源,所以 ...