Getting Started - X Cubic

変数

コンピュータ(プログラム)に入力された値は一時的にメモリに記録する必要があります。メモリの特定領域を確保して、指定した名前でアクセスするための仕組みが変数です。

変数は、そのデータ型(整数、浮動小数点、文字、など)と名前の組で宣言をする必要があります。例えば、1つの整数データを保持することができる x という名前の変数は以下のように宣言します。

int x;

代入演算

変数の役割は、プログラムで扱う値をメモリへ書き込み、必要な時に参照することです。最も基本となる代入演算では = の左側の変数(メモリ領域)に、右側の式の計算結果が書き込まれます。変数はその名の通り「変わる数」で、代入演算によって値を何度でも変更することができます。一方、式の中に含まれる変数は、それが指すメモリ領域の値を返します。例えば次のプログラムは、変数a, b にそれぞれ5, 8 を格納し、その後それらの中身を交換するプログラムです。

int main(){
  int a, b, t; /* 3つの整数を宣言 */
  a = 5;       /* a に 5 を格納 */
  b = 8;       /* b に 8 を格納 */
  t = a;       /* t に a の値を格納 */
  a = b;       /* a に b の値を格納、この直後 a の値は 8 になる */
  b = t;       /* b に t の値を格納、この直後 b の値は 5 になる */

  return 0;
}

算術演算

プログラミングの目的はコンピュータに計算をさせることです。計算の最も基本となるものが算術演算です。定数、変数、関数などに対して算術演算を行い計算式を記述します。四則演算はそれぞれ、+-*/、で行います。例えば

y = 2*a - b/c;

は、「2 × a − b ÷ c」の計算結果を y に代入するという意味になります。代入演算 = は、左辺に右辺の計算結果を代入するという意味になることに注意してください。

x の3乗は x * x * x と記述することができます。C 言語で x^3^ はべき乗のための演算子ではないことに注意してください。

標準入力

コンピュータへの最も基本的な入力の1つが標準入力です。データの入力先は主にプログラム中に宣言された変数(メモリ)になります。C言語ではscanf 関数で標準入力を行うことができます。scanf関数は以下のような形式で記述します。

scanf("入力変換指定子", &変数名);

入力変換指定子は、入力されたデータをどのように変換して対応する変数に記録するかを指定します。引数となる変数名には、入力されたデータを記録する変数を指定します。ここで、scanfの引数として変数を指定するときは、変数名の前に& を付ける必要があります。これは、関数の引数として「変数の値」を渡すのではなく、「その変数が記録されているメモリ領域のアドレス」を渡すという意味になります。

例えば、標準入力(キーボード)から1つの整数を変数 x に読み込むには以下のように書きます。

scanf("%d", &x);

変換指定子の%d は「int型の値を10進数で読み込む」という意味になります。

標準出力

printf 関数によって、変数や計算式の値を標準出力に出力することができます。標準出力へ1つの変数 x の値を出力するには、

printf("%d\n", x);

と記述します。ここで、文字列 "   " の中に変換指定子 %d を埋め込みます。このプログラムでは引数 x の値が10進数に変換され文字列に埋め込まれます。


Reference

 

オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)

AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。