Latest web development tutorials

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つの簡単な方法があります。

  1. #defineプリプロセッサを使用してください。
  2. 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

定数は大文字として定義されていることに注意してください、それは良いプログラミング習慣です。