C言語の変数と定数

知識ポイント 1: 変数と定数

          1) プログラムの実行プロセス全体で変化しないもの、および変更できないものは定数と呼ばれます。

          2) プログラムの実行中に変化する可能性のあるものは変数と呼ばれます。

知識ポイント 2: 変数を宣言する

short s;
int n;
long l;
float f;
double d;

        1) 変数の宣言式:型 + 識別子 + セミコロン

        2) 識別子:変数、関数、またはその他の実体の名前を表すために使用される、独自に命名された識別子例: 上記のコードでは、s、n、l、f、d は変数を表すために独自に命名された識別子です。

        3) キーワード:語彙は言語標準で指定されており、コード内で特別な意味と使用法を持ちますたとえば、short、int、long、float、double はすべて変数の型を示し、これらは言語標準によって提供される語彙です。

        4)識別子は、コンパイラによって認識される前に宣言または定義される必要がありますが、キーワードは直接使用できます

        5) したがって、コンパイラーによって識別子が変数として認識されるようにするには、使用前に識別子を変数として宣言する必要があります。

例: a) 正解です。変数は使用前に宣言されています。

#include <stdio.h>
int main()
{
int a;
printf("%d\n", a);    // 正确, 变量使用前被声明了。
return 0;
}

         b) エラー、変数 a が宣言されていません

#include <stdio.h>
int main()
{
printf("%d\n", a);    // 错误, 变量未声明。
return 0;
}

        c) エラー、変数 a が宣言前に使用されています

#include <stdio.h>
int main()
{
printf("%d\n", a);    // 错误, 变量在声明前使用。
int a;
return 0;
}

知識ポイント 3: 変数名の命名規則

          1) 変数名は識別子であるため、変数名は識別子の命名規則に従う必要があります。

          2) 識別子の命名規則:識別子は、大文字、小文字、数字、アンダースコアで構成されます。識別子は数字で始めることはできず、既存のキーワードとは異なるものでなければなりません

short apple;      //正确
int 88fruit;      //错误,不能以数字开头
long _pencil;     //正确,可以以下换线或字母开头
float love_you;   //正确,字母开头,标识符可以使用下划线
double int;       //错误,不能与现有关键词相同

知識ポイント 4: 変数の初期化と代入

          1) 変数の 3 番目の要素 (変数の値) は、代入によってのみ意味を持つことができます。

          2) 変数の代入には代入演算子「=」が必要です。

          3) 変数に値を代入するには 2 つの方法があります。変数は宣言された直後に初期化されます。2 番目の変数が最初に宣言され、次に変数に値が割り当てられます。

a)宣言直後に変数を初期化する

#include <stdio.h>
int main()
{
int a = 100; // 变量声明后,立即装入100。
printf("%d\n", a);
return 0;
}

b)変数は宣言された後、初期化されません。代入演算子を使用した後続の代入

#include <stdio.h>
int main()
{
int a; // 变量声明后,为一个随机值
a = 100; // 这里我们使用赋值运算符,将100给了a。
printf("%d\n", a);
return 0;
}

知識ポイント 5: 初期化と代入の違い

          1) 割り当て:

a = 100;

代入演算子の左側は宣言された変数、右側は数値です。この書き方は変数に値を代入することです。

         2) 初期化:

int a = 100;

 代入演算子の左側が変数宣言、右側が数値という書き方で変数の宣言と初期化を行います。

        3)変数は複数回割り当てることができますが、複数回初期化することはできません。複数の初期化は、変数 a を 2 回宣言することと同じです。変数 a を 2 回宣言すると、コンパイラは識別子 a がすでに使用されていることがわかり、コンパイル エラーを報告します。

#include <stdio.h>
int main()
{
int a;
a = 100;
printf("%d\n", a);
a = 200;
printf("%d\n", a);
return 0;
}
正确;输出结果为100,200
#include <stdio.h>
int main()
{
int a;
a = 100;
printf("%d\n", a);
int a = 200;
printf("%d\n", a);
return 0;
}
错误:变量a被重复声明

知識ポイント 6: 定数

       1) 定数とは、最初からコードにハードコーディングされており、変更できないプログラム内の量です。

       2) リテラル定数: 例: 100、200、1.3344、「HelloWorld」、「祖国を愛しています」はリテラル定数と呼ばれます。

                   a) リテラル定数は宣言する必要がなく、コンパイラはその記述方法によってその型をすぐに判断できます。

100 = 101;   //错误,常量不能被更改
100 = a;    //错误,常量不能被更改

                  b) 二重引用符で囲まれたものは文字列リテラルと呼ばれます。

"HelloWorld"            //正确

"HelloWorld" = "你好";  //错误,常量不能被更改

      3) リテラル定数型:

             a) 変数の型は宣言時に決まります。定数の型は、定数をコードに記述するときにも決定できます。

            b) 整数リテラル定数は通常 int 型です。整数リテラル定数の値が大きすぎて int 型の範囲を超えない限り、コンパイラはそれを unsigned int 型として処理しようとします。それが大きい場合、今度は、long、unsigned long、longgned long long など、より広範囲の整数型が推定されます。

            c) 小数を含むリテラル定数は double 型です。

      4) 記号定数:

            a) 記号定数を定義する式:

#define 符号常量 值

例: 現在 3 元の製品の価格があります。次に、この製品 10 個の価格を計算する必要があります。

#include <stdio.h>
# define PRICE 3
int main()
{
int num = 10;
int total;
total = num * PRICE;
printf("total:%d", total);
return 0;
}

           num * 3 を直接記述するのではなく、記号定数 PRICE を定義しました。ある日、この商品の価格が変化した場合、商品の価格を記号定数として定義するので、この記号定数によって表される値を変更するだけで済みます。

おすすめ

転載: blog.csdn.net/m0_73463638/article/details/126864373