C++语言基础-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循环测试发生在循环体开头,而do while循环测试则发生在循环结束时:bool done = false;
do {
// some code
done =SomeFunctionReturningABool();
// more code
} while (! done);
使用dowhile循环还是while循环取决于循环本身的作用。语法中do while循环语句:do {
tatements;
} while (cond_expr);
只要条件表达式cond_expr为真(非零),do循环重复statements码段。循环状态必须在do语句之前初始化,并在码段中显式修改。条件表达式cond_expr为假时,循环终止。

时间: 2024-08-26 12:39:42

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

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++语言基础-其它语句

goto语句可以将程序转入前面用标号和冒号声明的标号处. 下列代码演示了这个语句: bool done = false; startPoint: // do some stuff if (!done) goto(startPoint);// loop over, moving on... 这里不需要大括号,因为goto语句与标号之间的所有代码均会执行. goto语句被认为是C++程序中的不良语句.用goto语句能做的任何工作都可以用While和dowhile循环进行.一个好的C++编程人员很少在

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