快速业务通道

C++语言基础(2)

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30

if语句

if语句用于测试条件并在条件为真时执行一桌或几条语句。

说明:if表达式后面不能带分号,否则它本身表示代码中的空语句,使编译器将空语句解释为在条件为真时执行的语句。

if (x == 10); // Warning! Extra semicolon!
DoSomething(x);

这里DoSomething()函数总会执行,因为编译器不把它看成在条件为真时执行的第一条语句。由于这个代码完全合法(但无用),所以编译器无法发出警告。

假设要在条件为真时执行多行语句,则要将这些语句放在大括号内:

if (x > 10) {
cout << "The number is greater than 10" << end1;
DoSomethingWithNumber(x);
}

条件表达式求值为false时,与if语句相关联的码段忽略,程序继续执行该码段之后的第一条语句。

说明 :

C++中包含许多快捷方法,其中一个是用变量名测试true,例如:

if (fileGood) ReadData();

这个方法是下列语句的速写方法:

if (fileGood == true) ReadData();

本例用了bool变量,也可以用其它数据类型。只要变量包含非零数值,表达式即求值为true,对变量名加上逻辑非(!)操作符可以测试false值:

bool fileGood = OpenSomeFile();
if (!fileGood) ReportError();

学会C++快捷方法有助于写出更精彩的代码。 有时要在条件表达式求值为true时进行某个动作,在条件表达式求值为false时进行另一动作,这时可以用else语句如下:

if (x == 20) {DoSomething(x);}
else {DoADifferentThing(x);}

新术语

else语句和if语句一起使用,表示if语句失败时(即在条件表达式求值为false时)执行的码段。

if语句形式之二:

if (cond_expr_1) {
true_statements_1;
}
else if (cond_expr_2)
{ true_statements_2; }
else {
false_statements;
}

如果条件表达式cond_expr为1真(非零),则执行true_statements1码段;如果条件表达式cond_expr为1为假而如果条件表达式cond_expr为2真(非零),则执行true_statements 2码段;如果两个表达式均为假,执行false_statements码段。

--------------------------------

使 用 循 环

循环是所有编程语言共同的要素。循环可用于对数组重复,对某个动作重复进行指定次数,从磁盘中读取文件,等等。

循环有:for循环、while循环和do while循环。

这几个循环基本相同,所有循环都有下列共同要素:

· 起点

· 循环体,通常放在大括号内,包含每次循环要执行的语句

· 终点

· 确定循环终止的测试条件

· 可选使用break和continue语句

for循环是最常用的循环,取三个参数:起始数,测试条件和增量表达式。

for循环语句:

for(initial; cond_expr;adjust)

{ statements;

}

for循环重复执行statements码段,直到条件表达式cond_expr不为真。循环状态由initial语句初始化,执行statements码段后,这个状态用adjust语句修改。下面举一个for循环的典型例子进行说明:

for (int i=0;i<10;i++){
cout << "This is iteration" << i << end1;
}

while循环与for循环的差别在于它只有一个在每次循环开始时检查的测试条件。只要测试条件为true,循环就继续运行。

int x;
while (x < 1000) {
x = DoSomeCalculation();
}

本例中我调用一个函数,假定它最终会返回大于或等于1000的值。只要这个函数的返回值小于1000,while循环就继续运行。变量x包含大于或等于1000的值时,测试条件变成false,程序转入while循环闭括号后面的第一条语句。while循环通常用bool变量进行测试。测试变量状态可以在循环体中进行设置:

bool done = false;
while (!done) {
//some code here
done = SomeFunctionReturningABool();
//more code
}

do while循环与while循环基本相同,但有两点差别。

,while循环测试发生在循

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多
上一篇: TMouse下一篇: TFileStream

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号