constants c
C ++の定数とそのタイプについてすべて調べてください。
これで 簡単なC ++トレーニングチュートリアル 、前のチュートリアルでC ++の変数と変数スコープについて説明しました。変数に割り当てられた値は、プログラム全体で変更できることを学びました。
要件によっては、プログラムで変更または変更できない値が必要になる場合があります。ただし、これらの変数の値は誰も変更しないため、これらの値が変数に割り当てられている場合は保証できません。
これは、変数エンティティ自体の特性により、値を一定にできないためです。
学習内容:
概要概要
このような状況では、一定のままの値を割り当てることができる1つのエンティティが必要です。この値を変更しようとしても、コンパイラーはエラーを生成します。このエンティティは定数/リテラルと呼ばれます。これらの定数には特定の名前があるため、これらはシンボリック定数とも呼ばれます。
対照的に、変数に割り当てられる定数値はリテラル定数と呼ばれます。定数は任意のデータ型にすることができます。 C ++の定数は、値が変更されないことを除いて、変数と同じように扱われます。
定数のデータ型
C ++では、定数は任意のデータ型にすることができます。これらはすべて「名前付き定数」です。つまり、これらの定数にはそれぞれ名前があります。
以下に、C ++の定数のタイプを示します。
#1)整数定数
これらは、小数点のない整数で構成される定数です。番号が符号付きか符号なしか長いかなどに応じて、いくつかのサフィックスを関連付けることもできます。
さらに、これらの定数は、10進数、8進数、16進数などの異なる基数または基数を持つことができます。この場合、定数の接頭辞を指定します。8進数の場合は0、16進数の場合は0xなどです。10進数の定数には接頭辞を指定しません。
以下に、C ++で有効な整数定数の例をいくつか示します。
C ++でのインタビューの質問
0512 //オクタル
0xFF // 16進数
36 // 10進数
50L //長い
24U //符号なし
50UUのような接頭辞または接尾辞を繰り返すことはできないことに注意してください。これにより、定数が無効になります。
#2)浮動小数点定数
浮動小数点リテラルは、小数点付きのリテラルです。これらの定数は、10進形式または指数形式で表すことができます。 10進表記を使用する場合は、小数点、指数、またはその両方を含める必要があります。
指数形式の表現には、整数部分、分数、またはその両方を含める必要があります。符号付き指数をeまたはEで表す必要があります。
有効な浮動小数点リテラルの例は次のとおりです。
3,142
3142E -5L
1,143
#3)文字リテラル
これらのリテラルは文字型であり、通常は一重引用符( ‘‘)で囲まれています。 「L」で始まる文字リテラルはワイド文字リテラルであり、wchar_t(ワイド文字)タイプで格納されます。その他の文字リテラルは、文字データ型に格納されます。
ワイド文字リテラルは、主にMFCなどのGUIプログラミングまたはSTLを含む別の高度なプログラミングで使用されます。
文字リテラルの例は次のとおりです。
「xyz」
L’M ’
上記の文字リテラルの例は、単純な文字です。いくつかの文字に特別な意味を与える「エスケープシーケンス」と呼ばれる文字リテラルもあります。これらは、改行文字、タブなどのアクションを表すために使用されます。
以下の表に、C ++で使用されるエスケープシーケンスを示します。
エスケープシーケンス | 意味 |
---|---|
f | フォームフィード |
\ | キャラクター |
’ | ' キャラクター |
' | ' キャラクター |
? | ?キャラクター |
に | ベルまたはアラート |
b | バックスペース |
n | 改行 |
r | キャリッジリターン |
t | タブ水平 |
v | 垂直タブ |
ooo | 8進数 |
xhh..。 | 16進数(1桁以上) |
これらのエスケープシーケンスは、主にC ++でのフォーマット中に使用され、1つ以上のエスケープシーケンスの組み合わせとして使用できます。
次のC ++プログラムは、これらのエスケープシーケンスのいくつかの使用法を示しています。
#include #include using namespace std; int main() { cout<<'
C++ program to demonstrate escape sequences'; cout<<'
Hello there 'STH''; }
出力:
エスケープシーケンスを示すC ++プログラム
こんにちは「STH」
上記のコードが示すように、これらのエスケープシーケンスを組み合わせて使用して、出力をフォーマットすることもできます。
#4)文字列リテラル
文字リテラルとは異なり、文字列リテラルは二重引用符(““)で囲まれます。文字列リテラルには、単純な文字、エスケープシーケンス、またはその他のユニバーサル文字を含めることもできます。
以下は、有効な文字列リテラルの一部です。
'こんにちは世界'
'こんにちは、 /
世界'
'こんにちは世界'
上記の例はすべて同じ文字列を表していますが、異なる方法で表されています。
上記のリテラルのデータ型とは別に、定数を表すためにキーワード「true」と「false」を使用するブールリテラルもあります。
定数の定義
C ++では、定数を定義する2つの方法があります。
#1)「#define」プリプロセッサディレクティブの使用
プリプロセッサディレクティブ「#define」を使用して定数を定義できます。
以下に例を示します。
#include #include #define PI 3.142 #define RADIUS 5 using namespace std; int main() { cout<<'
Area of circle: '< 出力:
円の面積:78.55
円周:31.42
上記のプログラムでは、「#define」ディレクティブを使用して定義された2つの定数、PIとRADIUSがあります。次に、main関数内で、これらの定数を使用して円の面積と周囲長を計算します。プログラムでの定数の使用法に注意してください。
#2)「const」キーワードの使用
定数を定義する別の方法は、変数宣言で「const」キーワードを使用することです。
const型変数=値;
したがって、「RADIUS」という名前の定数を定義する場合は、次のようにします。
const int RADIUS = 5;
このタイプの定数定義を説明するために、上記と同じプログラムを使用します。
#include #include using namespace std; int main() { const float PI = 3.142; const int RADIUS = 5; cout<<'
Area of circle: '<このプログラムに示されているように、キーワード「const」を使用して2つの定数を定義します。
上記のコードのmain関数で定数を定義しました。あるいは、これらの定数を、すべての関数の上にグローバルに定義することもできます。その場合、これらの定数はグローバルスコープを持ち、「グローバル定数」と呼ばれます。
注意: 両方のプログラミング例に示されているように、定数を大文字で定義することをお勧めします。
結論
これで、定数に関するこのチュートリアルは終了です。定数は、変更されないままの特定の数学値を定義する場合に有利です。
次のチュートリアルでは、さまざまなスコープで変数を定義して使用できるようにするC ++型修飾子とストレージクラスについて学習します。
=> ここですべてのC ++チュートリアルを確認してください
推奨読書
- STLのリスト
- STLのMAPS
- STLの優先キュー
- VBScriptの定数、演算子、および演算子の優先順位
- STLで設定
- VBScriptファイルオブジェクト:CopyFile、DeleteFile、OpenTextFile、テキストファイルの読み取りと書き込み
- 初心者テスターのためのソフトウェアテストのアドバイス
- 例を使用したC ++でのバブルソート