Cplusplus-cpp-basic-syntax
C ++の基本構文
C ++プログラムを検討するとき、それは互いのメソッドを呼び出すことで通信するオブジェクトのコレクションとして定義できます。 ここで、クラス、オブジェクト、メソッド、インスタント変数の意味を簡単に見てみましょう。
- オブジェクト-オブジェクトには状態と動作があります。 例:犬には、色、名前、品種、そして行動-振る、,える、食べるという状態があります。 オブジェクトはクラスのインスタンスです。
- クラス-クラスは、そのタイプのオブジェクトがサポートする動作/状態を記述するテンプレート/設計図として定義できます。
- メソッド-メソッドは基本的に動作です。 クラスには多くのメソッドを含めることができます。 ロジックが書き込まれ、データが操作され、すべてのアクションが実行されるのはメソッドです。
- インスタンス変数-各オブジェクトには、インスタンス変数の一意のセットがあります。 オブジェクトの状態は、これらのインスタンス変数に割り当てられた値によって作成されます。
C ++プログラムの構造
_Hello World_という単語を出力する簡単なコードを見てみましょう。
#include <iostream>
using namespace std;
//main() is where program execution begins.
int main() {
cout << "Hello World";//prints Hello World
return 0;
}
上記のプログラムのさまざまな部分を見てみましょう-
- C ++言語は、プログラムに必要または有用な情報を含むいくつかのヘッダーを定義します。 このプログラムには、ヘッダー <iostream> が必要です。
- using namespace std; という行は、std名前空間を使用するようコンパイラーに指示しています。 名前空間はC ++に比較的最近追加されたものです。
- 次の行 '//main()は、プログラムの実行が開始される場所です。'は、C ++で使用可能な1行のコメントです。 単一行コメントは//で始まり、行末で停止します。
- 行* int main()*は、プログラムの実行を開始するメイン関数です。
- 次の行 cout << "Hello World"; は、メッセージ "Hello World"を画面に表示します。
- 次の行 return 0; はmain()関数を終了し、呼び出しプロセスに値0を返します。
C ++プログラムのコンパイルと実行
ファイルを保存し、プログラムをコンパイルして実行する方法を見てみましょう。 以下の手順に従ってください-
- テキストエディターを開き、上記のようにコードを追加します。
- ファイルをhello.cppとして保存します
- コマンドプロンプトを開き、ファイルを保存したディレクトリに移動します。
- 「g ++ hello.cpp」と入力し、Enterキーを押してコードをコンパイルします。 コードにエラーがない場合、コマンドプロンプトは次の行に進み、a.out実行可能ファイルを生成します。
- ここで、「a.out」と入力してプログラムを実行します。
- ウィンドウに「Hello World」と表示されます。
$ g++ hello.cpp
$ ./a.out
Hello World
g ++がパスにあり、hello.cppファイルを含むディレクトリで実行されていることを確認してください。
makefileを使用してC/C ++プログラムをコンパイルできます。 詳細については、リンク:/makefile/index ['Makefile Tutorial']を確認してください。
C ++のセミコロンとブロック
C ++では、セミコロンはステートメントターミネータです。 つまり、個々のステートメントはセミコロンで終了する必要があります。 1つの論理エンティティの終わりを示します。
たとえば、以下は3つの異なるステートメントです-
x = y;
y = y + 1;
add(x, y);
ブロックは、開き括弧と閉じ括弧で囲まれた論理的に接続されたステートメントのセットです。 たとえば-
{
cout << "Hello World";//prints Hello World
return 0;
}
C ++は、行末を終端文字として認識しません。 このため、行のどこにステートメントを入れてもかまいません。 たとえば-
x = y;
y = y + 1;
add(x, y);
と同じです
x = y; y = y + 1; add(x, y);
C ++識別子
C ++識別子は、変数、関数、クラス、モジュール、またはその他のユーザー定義項目を識別するために使用される名前です。 識別子は、A〜Zまたはa〜zまたはアンダースコア(_)で始まり、その後に0個以上の文字、アンダースコア、および数字(0〜9)が続きます。
C では、識別子内で@、$、%などの句読点文字を使用できません。 C は、大文字と小文字を区別するプログラミング言語です。 したがって、 Manpower と manpower は、C ++の2つの異なる識別子です。
ここに受け入れ可能な識別子のいくつかの例があります-
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
C ++キーワード
次のリストは、C ++の予約語を示しています。 これらの予約語は、定数、変数、またはその他の識別子名として使用できません。
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template |
トライグラフ
いくつかの文字には、トライグラフシーケンスと呼ばれる代替表現があります。 3文字表記は、1文字を表す3文字のシーケンスであり、シーケンスは常に2つの疑問符で始まります。
トライグラフは、文字列リテラルや文字リテラル内、コメント内、プリプロセッサディレクティブ内など、表示される場所で展開されます。
以下は、最も頻繁に使用されるトライグラフシーケンスです-
Trigraph | Replacement |
---|---|
??= | # |
??/ | \ |
??' | ^ |
??( | [ |
??) | ] |
??! | |
??< | |
\{ | ??> |
} | ??- |
すべてのコンパイラーはトライグラフをサポートしておらず、混乱する性質があるため、使用することはお勧めしません。
C ++の空白
コメントが含まれている可能性のある空白のみを含む行は空白行と呼ばれ、C ++コンパイラはそれを完全に無視します。
空白は、C ++で使用される用語で、空白、タブ、改行文字、コメントを表します。 空白は、ステートメントの一部を別の部分から分離し、コンパイラーがステートメント内の1つの要素(intなど)がどこで終わり、次の要素が始まるかをコンパイラーが識別できるようにします。
ステートメント1
int age;
上記のステートメントでは、コンパイラーが区別できるように、intとageの間に少なくとも1つの空白文字(通常はスペース)が必要です。
ステートメント2
fruit = apples + oranges; //Get the total fruit
上記のステートメント2では、fruitと=、または=とappleの間に空白文字は必要ありませんが、読みやすくするために空白文字を自由に含めることができます。