goto语句可以将程序转入前面用标号和冒号声明的标号处。  下列代码演示了这个语句:  bool done = false;  startPoint:  // do some stuff  if (!done) goto(startPoint);// loop over, moving on...  这里不需要大括号,因为goto语句与标号之间的所有代码均会执行。  goto语句被认为是C++程序中的不良语句。用goto语句能做的任何工作都可以用While和dowhile循环进行。一个好的C++编程人员很少在程序中使用goto语句。如果你从别的语言转入C++,你会发现C++的基本结构使goto语句显得多余。 
  循环中有两个关键字必须介绍,那就是控制循环中程序执行的continue和break。continue语句强制程序转入循环底部,跳过continue语句之后的任何语句。例如,某个测试为真时,循环的某个部分可能不需要执行。这时可以用continue语句跳过continue语句之后的任何语句:  bool done = false;  while (!done) {  // some codebool error =SomeFunction();  if (error) continue;  // jumps to the top of the loop  // other code that will execute only if no error occurred  } 
  break语句用于在循环正常测试条件符合之前终止循环执行。例如,可以在ints数组中搜索某个元素,找到数字后可以终止循环执行,取得该数字所在的索引位置:  int index=1  int searchNumber=50;  for (int i=0;i<numElements;i++) {  if (myArray[i]==searchNumber) {  index=i;break;}  }  if(index !=1)  cout << "Number found at index " << index << end1;  else  cout <<"Number not found in array." << end1;  continue和break语句在许多情况下有用。和其它要介绍的知识一样,continue和break语句也要在实践中不断熟悉。 
 
  switch语句是高级if语句,可以根据表达式的结果执行几个码段之一。表达式可以是变量、函数调用结果或其它有效C++表达式。下面举一个switch语句例子:switch (amountOverSpeedLimit) {  case 0 :  {fine =0;  break;  }  case 10 :  {fine = 20;  break;  }  case 15 :  {fine =20;  break;  }  case 20 :  case 25 :  case 30 :  {  fine=amountOverSpeedLimit * 10;  break;  }  default :  {fine =GoToCourt();  jailTime=GetSentence();  }  }  switch语句分为几个部分。首先有一个表达式,本例中是amountOverSpeedLimit变量(够长的变量名!),然后用case语句测试表达式,如果amountOverSpeedLimit等于0(case 0:),则向变量fine赋值0,如果amountOverSpeedLimit等于10,则向变量fine赋值20,等等。在前三个case中都有break语句。break语句用于转出switch块,即找到了符合表达式的情况,switch语句的余下部分可以忽略了。最后有个default语句,如果没有符合表达式的情况,则程序执行default语句。
               
 
  2/2   首页 上一页 1 2  |