当前位置:天才代写 > tutorial > C语言/C++ 教程 > C++语言基本(2)

C++语言基本(2)

2017-11-05 08:00 星期日 所属: C语言/C++ 教程 浏览:442

副标题#e#

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;
}


#p#副标题#e#

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为假时,轮回终止。

goto语句可以将措施转入前面用标号和冒号声明的标号处。

下列代码演示了这个语句:

bool done = false;
startPoint:
// do some stuff
if (!done) goto(startPoint);// loop over, moving on...

这里不需要大括号,因为goto语句与标号之间的所有代码均会执行。

#p#分页标题#e#

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
}

#p#副标题#e#

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

c/c++的高级内容: 布局,指针,引用,函数及类等可以参考其他书籍.

 

    关键字:

天才代写-代写联系方式