Cの定数
定数は、プログラムの実行中に変化しない固定値です。 これらの固定値は、また、リテラルと呼ばれます。
定数は、整数定数などの基本データ型のいずれか、浮動小数点定数であってもよい、文字定数または文字列リテラルは、列挙定数があります。
ただ、定期的に一定の変数が、定義の定数の値のように修正することができません。
整数定数
整数定数は10進数、8進数または16進数の定数とすることができます。 プレフィックス指定された基数:進のための0xまたは0X、オクタル0、接頭辞なし、デフォルトの小数点表現。
整数定数はまた、接尾辞を取ることができ、サフィックスがUとLの組み合わせであり、Uは、Lは長整数(長い)を表し、符号なし整数(符号なし)を表しています。 サフィックスは、任意の順序で大文字または小文字、UとLとすることができます。
ここでは、整数定数の例をいくつか紹介します。
212 /* 合法的 */ 215u /* 合法的 */ 0xFeeL /* 合法的 */ 078 /* 非法的:8 不是八进制的数字 */ 032UU /* 非法的:不能重复后缀 */
整数定数の様々な種類の例を次に示します。
85 /* 十进制 */ 0213 /* 八进制 */ 0x4b /* 十六进制 */ 30 /* 整数 */ 30u /* 无符号整数 */ 30l /* 长整数 */ 30ul /* 无符号长整数 */
浮動小数点定数
浮動小数点定数は、整数部、小数点、およびインデックスコンポーネントの小数部分で構成されています。 あなたは、浮動小数点定数を表現するために、10進数または指数形式を使用することができます。
十進表現を使用する場合は、小数点、インデックス、またはその両方を含める必要があります。 インデックスフォームを使用する場合は、整数部分、小数部分、またはその両方を含んでいなければなりません。 インデックスは、導入された符号なしのeまたはEです。
ここでは、浮動小数点定数のいくつかの例は以下のとおりです。
3.14159 /* 合法的 */ 314159E-5L /* 合法的 */ 510E /* 非法的:不完整的指数 */ 210f /* 非法的:没有小数或指数 */ .e55 /* 非法的:缺少整数或分数 */
文字定数
文字定数は、単一引用符で囲まれている、例えば、 'X'は、単純変数char型に格納することができます。
文字定数は通常の文字(例えば、 'X')、エスケープシーケンス(例えば、 '\ t'の)、またはユニバーサル文字(例えば、 '\ u02C0')することができます。
Cでは、このような改行(\ n)で、またはタブ(\ tの)などを表すために使用されるいくつかの特定の文字、それらの前にバックスラッシュがある場合、それらは特別な意味を持つがあります。 次の表は、これらのエスケープシーケンスコードの一部を示します:
转义序列 | 含义 |
---|---|
\\ | \ 字符 |
\' | ' 字符 |
\" | " 字符 |
\? | ? 字符 |
\a | 警报铃声 |
\b | 退格键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ooo | 一到三位的八进制数 |
\xhh . . . | 一个或多个数字的十六进制数 |
次の例では、いくつかの文字のエスケープシーケンスを示しています。
#include <stdio.h> int main() { printf("Hello\tWorld\n\n"); return 0; }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
Hello World
文字列定数
定数または文字列リテラルがで ""二重引用符で囲まれています。 通常の文字、エスケープシーケンスと多彩な文字:文字の文字定数を含む文字列に似ています。
あなたは、長い文字列定数の枝を入れ、セパレータとしてスペースを使用することができます。
次の例では、いくつかの文字列定数を示しています。 表示された以下の三つの形式の文字列は同じです。
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
定数を定義します
Cでは、定数を定義する2つの簡単な方法があります。
- #defineプリプロセッサを使用してください。
- constキーワードを使用します。
#defineプリプロセッサ
ここでは、フォームの#defineプリプロセッサ定数の定義は次のとおりです。
#define identifier value
以下の具体例を考えてみます。
#include <stdio.h> #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
value of area : 50
constキーワード
あなたは次のように定数接頭辞宣言は、定数のタイプを指定し使用することができます。
const type variable = value;
以下の具体例を考えてみます。
#include <stdio.h> int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
value of area : 50
定数は大文字として定義されていることに注意してください、それは良いプログラミング習慣です。