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;
}

    

  

posted @ 2016-09-22 21:03  SimonLiang  阅读(416)  评论(0编辑  收藏  举报