C++语言基础-其它语句

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语句。

时间: 2024-10-20 08:00:01

C++语言基础-其它语句的相关文章

c语言-C语言基础 for语句这两者之间的区别

问题描述 C语言基础 for语句这两者之间的区别 include int main() { int a=1, b=3, c=0; for (a ; a < b; a++) c = c + a + a; printf("c的值为:%d", c); getchar(); return 0; } include int main() { int a, b=3, c=0; for (a=1 ; a < b; a++) c = c + a + a; printf("c的值为

C++语言基础-if语句

if语句用于测试条件并在条件为真时执行一桌或几条语句. 说明:if表达式后面不能带分号,否则它本身表示代码中的空语句,使编译器将空语句解释为在条件为真时执行的语句. if (x == 10); // Warning! Extra semicolon! DoSomething(x); 这里DoSomething()函数总会执行,因为编译器不把它看成在条件为真时执行的第一条语句.由于这个代码完全合法(但无用),所以编译器无法发出警告. 假设要在条件为真时执行多行语句,则要将这些语句放在大括号内: i

HTML进阶应用技巧(一)HTML语言基础

技巧 一.为什么要学习HTML? 近两年来,许多公司开发出了图形化的HTML开发工具,使得网页的制作变得非常简单.如微软公司推出的 Microsoft FrontPage, Adobe公司推出的 Adobe Pagemill, Micromedia公司推出的Dreamweaver等编辑工具,都被称为"所见即所得"的网页制作工具.这些图形化的开发工具可以直接处理网页,而不用书写费劲的标记.这使得用户在没有HTML语言基础的情况下,照样可以编写网页.这时,编写HTML文档的任务由开发工具替

HTML语言基础

一.为什么要学习HTML? 近两年来,许多公司开发出了图形化的HTML开发工具,使得网页的制作变得非常简单.如微软公司推出的 Microsoft FrontPage, Adobe公司推出的 Adobe Pagemill, Micromedia公司推出的Dreamweaver等编辑工具,都被称为"所见即所得"的网页制作工具.这些图形化的开发工具可以直接处理网页,而不用书写费劲的标记.这使得用户在没有HTML语言基础的情况下,照样可以编写网页.这时,编写HTML文档的任务由开发工具替你完成

[转贴]Oracle PL/SQL语言基础

oracle|sql语言 [转贴]Oracle PL/SQL语言基础 Oracle PL/SQL语言基础   PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及如何设计并执行一个PL/SQL程序.    PL/SQL的优点    从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有

Oracle PL/SQL语言基础

oracle|sql语言 Oracle PL/SQL语言基础  2002-8-23   Oracle PL/SQL语言基础 PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及如何设计并执行一个PL/SQL程序. PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独

C++语言基础-入门简介

C++是个强大的语言,可以用于做别的语言做不了的工作.但是,这种强大功能是有代价的.开始使用C++时,你可能会遇到内存溢出和访问失效等问题,使程序死机.这里用最简短的篇幅介绍C++语言基础.C++语言本身有专著介绍,这种书还特别厚,所以别指望我能用三言两语说清楚.读者学完本书并使用C++ Builder一般时间之后,最后对C++语言再作更深入的了解. C++可以最充分地利用面向对象编程(OOP)的优势.OOP不只是一个新名词,而有它的实际意义,可以生成可复用的对象.新术语 对象(object),

《基于ArcGIS的Python编程秘笈(第2版)》——第1章 面向ArcGIS的Python语言基础

第1章 面向ArcGIS的Python语言基础 同其他编程语言一样,Python也支持多种类型的程序架构.本章主要介绍Python的基本语言架构.首先,介绍如何创建新的Python脚本及编辑已有的脚本:其次,介绍Python语言的特点,如添加注释.创建变量并赋值.创建内置变量等,以使Python的代码更加简单明了. 然后,介绍Python语言提供的各种内置数据类型,如字符串.数字.列表和字典等.类和对象是Python等面向对象编程语言的基本概念,在使用ArcGIS编写地理处理脚本时会经常用到它们

c语言-C语言基础问题

问题描述 C语言基础问题 int a; scanf("%d",&a); 我们老师讲,&是取地址符,但是我就奇怪,为什么叫取地址? 我们明明是想知道a是多少,而不是说它在哪,地址不是形容一个事物在哪吗?我输个10,a就是10了. 解决方案 你scanf("%d",&a),是从键盘获取一个字符,但是取得这个字符后,你得找个地方把他存起来吧,所以叫取地址,&a就是为a取了一个地址. 解决方案二: 额,个人感觉C语言是门很"硬&qu