C ++フェーズIIの基礎を理解するために取得する(5) - C ++プロセス構造

1.シーケンスストラクチャ

上から下へのプログラムの実施

構造(構造の決意)を選択2。

構造を分析することで評価またはテストするために、1つ以上の条件を指定するには、プログラマを必要とし、声明文(必要な)条件が偽であり、かつ(別売)の条件を実行するために真であることが実行されます。

C ++プログラミング言語は判決文の次の種類を提供します

声明 説明
if文 if文は、 1つ以上の文が続くブール式で構成されています。
IF-else文 文があれば、後にオプションが続くelse文、else文は、ブール式が偽実行されます。
ネストされたif文 次のことができた場合、または場合は、他のステートメント内の別を使用している場合、他の場合のステートメント。
switchステートメント スイッチケースステートメントは、変数の複数の値が同じでテストすることができます。
ネストされたswitchステートメント あなたは可能スイッチ内の別のステートメントを使用してスイッチ声明。

 if文

C ++であれば文の構文:

(ブール式)IF 
{ 
   //ブール式が実行される真の文の場合
}

ブール式がある場合はtrueに、if文のコードブロックが実行されます。ブール式がある場合にはfalseに、(閉じ括弧の後)文の終わりの後の第1の組のコードが実行される場合。

任意にC言語ゼロ非および非ヌル値があると仮定されるtrueにゼロまたはヌルが想定されるfalseに

int main() {
	int a=30;
	if (a<20)
	{
		cout << a;
	}
	cout << 20;
	return 0;
}

IF-else文

文があれば、後にオプションが続くelse文、else文は、ブール式が偽実行されます。

C ++、もし... ELSE構文文:

IF(ブール式)
{ 
   //ステートメントのブール式は、実行するのtrueの場合
} 
{ 
   ブール式が実行される虚偽である場合は、//を
}

ブール式がある場合はtrueに、実行であればブロック内のコード。ブール式がある場合にはfalseに、実行する他のブロック内のコードを。

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 100;
 
   // 检查布尔条件
   if( a < 20 )
   {
       // 如果条件为真,则输出下面的语句
       cout << "a 小于 20" << endl;
   }
   else
   {
       // 如果条件为假,则输出下面的语句
       cout << "a 大于 20" << endl;
   }
   cout << "a 的值是 " << a << endl;
 
   return 0;
}

ネストされたif文

C ++では、ネストされた IF-else文は、あなたができることを意味し、合法である場合、他の場合は文の内の別のを使用している場合、他の場合のステートメント。

C ++、場合ネストされたステートメントの構文は次のとおりです。

(ブール式1)IF 
{ 
   真の実現のために//ブール式1 
   IF(ブール式2)
   { 
      //ブール式2が真実行する
   } 
} 
あなたは巣ができ、他のIF ... ELSE、埋め込まれた方法で設定した場合のステートメントは同じです。
#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
 
   // 检查布尔条件
   if( a == 100 )
   {
       // 如果条件为真,则检查下面的条件
       if( b == 200 )
       {
          // 如果条件为真,则输出下面的语句
          cout << "a 的值是 100,且 b 的值是 200" << endl;
       }
   }
   cout << "a 的准确值是 " << a << endl;
   cout << "b 的准确值是 " << b << endl;
 
   return 0;
}

switchステートメント

スイッチケースステートメントは、変数の複数の値が同じでテストすることができます。各変数の値は、ケースと呼ばれ、それぞれについて試験するスイッチケースをチェックします。

C ++でのスイッチ文の構文:

スイッチ(式){ケース定数式:文(S);休憩; //オプションの場合の定数式:文(S);休憩; // //代わりにデフォルトcase文の数に制限はありません://オプションの声明(S);}

スイッチステートメントは、次の規則に従う必要があります。

  • スイッチステートメント式は積分または列挙型に変換するための単一のクラス変換関数が存在する、請求整数または列挙タイプ、クラスまたはタイプでなければなりません。
  • スイッチでは、case文の任意の番号を持つことができます。それぞれの場合を比較する値とコロンが続きます。
  • 以下の場合定数式は、スイッチ内の同じデータ型の変数を持っている必要があり、かつ一定またはリテラルでなければなりません。
  • テストされている変数の一定のケースがに等しいとき、遭遇するまで実行されるステートメントの場合に続いてブレークこれまでの声明。
  • 直面したときに休憩を声明、終了スイッチは、制御フローは、switchステートメントの後に次の行にジャンプしますとき。
  • 必ずしもすべてのケースが含まれている必要がありBREAKをcase文が含まれていない場合は休憩を、制御フローがしますし続けるブレークがこれまでに遭遇するまで、ケースに従ってください。
  • スイッチオプションの持つことができるの文デフォルトのケースでは、スイッチの最後に表示されます。デフォルトの場合は、上記の例すべてで使用可能なタスクを実行するときに当てはまりません。デフォルトケースブレーク文は必要ありません。

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   char grade = 'D';
 
   switch(grade)
   {
   case 'A' :
      cout << "很棒!" << endl; 
      break;
   case 'B' :
   case 'C' :
      cout << "做得好" << endl;
      break;
   case 'D' :
      cout << "您通过了" << endl;
      break;
   case 'F' :
      cout << "最好再试一下" << endl;
      break;
   default :
      cout << "无效的成绩" << endl;
   }
   cout << "您的成绩是 " << grade << endl;
 
   return 0;
}

ネストされたswitchステートメント

可能スイッチ外付けとしてスイッチ、すなわち、それができる、一連の文の一部スイッチ内の他のステートメントを使用してスイッチ声明。内部および外部のスイッチの場合定数が共通の値を含む場合であっても、矛盾がありません。

C ++ switch文は、ネスティングの少なくとも256レベルを可能にします。

C ++、ネスティングスイッチ文の構文:

スイッチ(のCH1){ 
   ケース'A':
      COUT << "外部スイッチがAの一部である"、
      スイッチ(CH2){ 
         ケース'A':
            COUT << "内部スイッチがAの一部である"; 
            BREAK; 
         ケース' B ':// Bケース内部コード
      } 
      BREAK; 
   ケース' B「://コードBの場合、外部
}

注:?:演算子

我々は以前の章で説明した条件演算子:?、代わりに使用することができた場合...他のステートメント。次のようにその一般的な形式は次のとおりです。

EXP1?EXP2:EXP3。

これは、Exp1の、EXP2およびEXP3表現。コロンと場所を使用することに注意してください。

?式の値がExp1ので決定されます。Exp1の真の、EXP2値が計算されている場合は、その結果は?式の値全体です。Exp1のがfalseの場合、EXP3値が計算され、結果は式の全体?値です。

3.ループ構造

時には、あなたはコードの数回同じ部分を実行する必要があるかもしれません。一般に、ステートメントが順次実行される:関数の最初の文は、最初の実行される第2のステートメントに続く、等々。プログラミング言語は、さまざまな制御構造のより複雑な実行パスを許可することを提供しています。ループは、私たちが繰り返し文のステートメントまたはグループを実行できるように、次のステートメントをループほとんどのプログラミング言語では一般的な形式であります:


サイクルタイプ。

循环类型 描述
while循环 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。
for循环 多次执行一个语句序列,简化管理循环变量的代码。
do-while循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。
嵌套循环 您可以在 while、for 或 do..while 循环内使用一个或多个循环。

 while循环

只要给定的条件为真,while 循环语句会重复执行一个目标语句。

C++ 中 while 循环的语法:

while(condition)
{
   statement(s);
}

在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。condition 可以是任意的表达式,当为任意非零值时都为真。当条件为真时执行循环。当条件为假时,程序流将继续执行紧接着循环的下一条语句。

int main() {
	int a=3;
	while (a<30)
	{
		cout << a;
		a++;
	}
	return 0;
}

for循环

for 循环允许您编写一个执行特定次数的循环的重复控制结构。

C++ 中 for 循环的语法:

for ( init; condition; increment )
{
   statement(s);
}

下面是 for 循环的控制流:

  1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

#include <iostream>
using namespace std;
 
int main ()
{
   // for 循环执行
   for( int a = 10; a < 20; a = a + 1 )
   {
       cout << "a 的值:" << a << endl;
   }
 
   return 0;
}

基于范围的for循环(C++11)

for 语句允许简单的范围迭代:


int my_array[5] = {1, 2, 3, 4, 5};
// 每个数组元素乘于 2
for (int &x : my_array)
{
    x *= 2;
    cout << x << endl;  
}
// auto 类型也是 C++11 新标准中的,用来自动获取变量的类型
for (auto &x : my_array) {
    x *= 2;
    cout << x << endl;  
}

上面for述句的第一部分定义被用来做范围迭代的变量,就像被声明在一般for循环的变量一样,其作用域仅只于循环的范围。而在":"之后的第二区块,代表将被迭代的范围。

实例


#include<iostream>  
#include<string>  
#include<cctype>  
using namespace std;  
  
int main()  
{  
    string str("some string");  
    // range for 语句  
    for(auto &c : str)  
    {  
        c = toupper(c);  
    }  
    cout << str << endl;  
    return 0;  
}

上面的程序使用Range for语句遍历一个字符串,并将所有字符全部变为大写,然后输出结果为:

SOME STRING

do-while循环

不像 forwhile 循环,它们是在循环头部测试循环条件。do...while 循环是在循环的尾部检查它的条件。

do...while 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。

C++ 中 do...while 循环的语法:

do
{
   statement(s);

}while( condition );

请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。

如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 10;

   // do 循环执行
   do
   {
       cout << "a 的值:" << a << endl;
       a = a + 1;
   }while( a < 20 );
 
   return 0;
}
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

嵌套循环

一个循环内可以嵌套另一个循环。C++ 允许至少 256 个嵌套层次。

C++ 中 嵌套 for 循环 语句的语法:

for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); // 可以放置更多的语句 }

C++ 中 嵌套 while 循环 语句的语法:

while(condition) { while(condition) { statement(s); } statement(s); // 可以放置更多的语句 }

C++ 中 嵌套 do...while 循环 语句的语法:

do { statement(s); // 可以放置更多的语句 do { statement(s); }while( condition ); }while( condition );

关于嵌套循环有一点值得注意,可以在任何类型的循环内嵌套其他任何类型的循环。比如,一个 for 循环可以嵌套在一个 while 循环内,反之亦然。

循环控制语句

循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。

C++ 提供了下列的控制语句。点击链接查看每个语句的细节。

控制语句 描述
break语句 终止 loopswitch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。
continue语句 引起循环跳过主体的剩余部分,立即重新开始测试条件。
goto语句 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。

break语句 

C++ 中 break 语句有以下两种用法:

  1. break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
  2. 它可用于终止 switch 语句中的一个 case。

如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

continue语句

C++ 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。

对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 whiledo...while 循环,continue 语句会导致程序控制回到条件测试上。

语法

C++ 中 continue 语句的语法:

goto语句

goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。

语法

C++ 中 goto 语句的语法:

goto label;
..
.
label: statement;

在这里,label 是识别被标记语句的标识符,可以是任何除 C++ 关键字以外的纯文本。标记语句可以是任何语句,放置在标识符和冒号(:)后边。

无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。


#include <iostream>
using namespace std;
 
int main ()
{
 
   for( ; ; )
   {
      printf("This loop will run forever.\n");
   }
 
   return 0;
}

条件式が存在しない場合には、真であると想定されます。また、初期値およびインクリメント式を設定することができるが、一般的に、C ++プログラマは無限ループを表すために、(;;)構造のために使用することを好みます。

注意: Ctrlキーを押しながらCキーが無限ループを終了させます。

                        一つの公益号のjavaをスキャンしています。さらに重要なのは、少し猿は、あなたが道をプログラムする友人もしていく所存です!

記事開始アドレス:www.javayihao.top

いいえ公共のデビューん:javaの一つ

おすすめ

転載: www.cnblogs.com/javayihao/p/11906234.html