zoukankan      html  css  js  c++  java
  • goto语句 switch语句

     goto语句

     

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int i = 1;
    number:
    	i++;
    	std::cout<<"*";
    	if(i<10)
    	{	
    		goto number;
    	}
    	std::cout<<"
     程序结束"<<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<<"您输入的是一 
    ";
    	    		break;
    	    	case '2':cout<<"您输入的是二 
    ";
    	    		break;
    	    	case '3':cout<<"您输入的是三 
    ";
    	    		break;
    	    	case '4':cout<<"您输入的是四 
    ";
    	    		break;
    	    	case '5':cout<<"您输入的是五 
    ";
    	    		break;
    	    	case '6':cout<<"您输入的是六 
    ";
    	    		break;
    	    	case '7':cout<<"您输入的是七 
    ";
    	    		break;
    	    	case '8':cout<<"您输入的是八 
    ";
    	    		break;
    	    	case '9':cout<<"您输入的是九 
    ";
    	    		break;
    	    	case 'q':
    				cout<<"程序结束!! 
    ";    //当输入q的时候,把flag赋值为rure
    			        flag = true;
    				break;	
    	     	default:cout<<"您输入的不是0到9之间的有效数字,请重新输入:";
       		}
       		if (flag == true)
       		{
       			break;
       		}
    	}
    
    	return 0;
    }
    
        
    

      

  • 相关阅读:
    python线程池ThreadPoolExecutor用法
    redis学习笔记
    selenium + chrome 被检测,反反爬小记
    RabbitMQ单机快速安装使用
    NFS配置使用
    通过Rsync实现文件远程备份
    MySQL笔记-高可用方案
    Redis主从同步、哨兵模式、集群模式配置
    Redis维护笔记
    MongoDB笔记03——分片集群
  • 原文地址:https://www.cnblogs.com/simonLiang/p/5897931.html
Copyright © 2011-2022 走看看