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 ...
随机推荐
- memcached学习(4). memcached的分布式算法
memcached的分布式 正如第1次中介绍的那样, memcached虽然称为"分布式"缓存服务器,但服务器端并没有"分布式"功能. 服务器端仅包括 第2次. ...
- MSP430F149学习之路——捕获/比较模式
1.捕获模式 #include <msp430x14x.h> unsigned ,last1=; unsigned ,j=; void mian(void) { WDTCTL = WDTP ...
- 虚拟内存和swap分区的关系
首先,这两个概念分别对应windows和linux,即:windows:虚拟内存linux:swap分区 windows即使物理内存没有用完也会去用到虚拟内存,而Linux不一样 Linux只有当物理 ...
- cacti快速安装
一.cacti概述 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户. ...
- MySQL 按日期分表
一.表不存在时则创建 之前做项目实在是太赶了,很多东西都没记录.是时候补回来了 MySQL做一个大表,由于要存历史记录,所以数据量很大,查询很慢.恰好查询的时候,又不需要时间太久的冷数据.现在将其实现 ...
- iOS开发中view controller设置问题
- SQLserver2008使用表达式递归查询(由父往子,由子往父)
SQLserver2008使用表达式递归查询语句 --由父项递归下级 with cte(id,parentid,text) as (--父项 select id,parentid,text from ...
- npm命令大全
参考网站:https://docs.npmjs.com/ 有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. npm 常用命令 npm install <name ...
- boost:exception使用实例
/************************************************************************/ /*功能描述: boost exception使用 ...
- SQL SERVER 2008 R2 还原数据库3154错误
1.SQL SERVER 2008 在还原数据库时,会报错. 提示错误:"备份集中的数据库备份与现有的 '***' 数据库不同.RESTORE DATABASE 正在异常终止. (Micro ...