【C言語入門】scanfとprintfで分かる入出力と変数の基本
今回の記事でわかること
この記事では、C言語で「値を扱う」ための最初のステップを解説します
- キーボードから値を入力する方法
- 画面に結果を表示する方法
- 変数とは何か、どう使うのか
C言語は、読むだけより 実際に動かしてみるほうが圧倒的に理解しやすい 言語です
ぜひ、コードを入力しながら読み進めてみてください
入力する:scanf
キーボードから値を受け取るときに使うのが scanf です
scanf("%d", &num);scanfのポイント
| 要素 | 意味 |
|---|---|
%d | 整数(int型)を入力する指定子 |
num | 入力した値を入れる変数 |
& | 変数の「アドレス」を渡すために必要 |
⚠️ &(アンパサンド)を付け忘れるとエラーや不具合の原因になります
今回の例では int 型の変数を使っているため、指定子は %d を使用します
出力する:printf
画面に文字や値を表示するときは printf を使います
int num = 10;
printf("変数内の値を出力:%d", num);出力結果
変数内の値を出力:10printfのポイント
" "(ダブルクォーテーション)で囲んだ文字列が表示される%dの部分に、後ろで指定した変数の値が入る
👉 printfは「表示したい形」と「中身」をセットで考えるのがコツです。
入力と出力を組み合わせてみよう
ここまでの内容を組み合わせると、「値を入力して、そのまま表示する」プログラムが作れます
#include <stdio.h>
int main(void){
int num;
printf("好きな値を入力:");
scanf("%d", &num);
printf("変数num内の値を出力:%d", num);
}実行結果
好きな値を入力:10
変数num内の値を出力:10このように、
- 入力を受け取る
- 変数に保存する
- 結果を表示する
という流れが、プログラムの基本になります。
変数とは何か?
変数とは、よく言われるように「値を入れておくための箱」です。
- 自由に名前を付けられる
- 値を入れたり、計算に使ったりできる
プログラムは変数に値を入れて、処理して、結果を出すという流れの繰り返しでできています。
変数を使うために必要なこと
変数を扱うには、次の2つが必要です。
- 変数宣言
- 変数への代入
変数宣言
変数宣言では、データ型と変数名を決めます
int num;| 要素 | 意味 |
|---|---|
int | データ型(整数) |
num | 変数名 |
主なデータ型一覧
| 型 | 内容 | 変換指定子 | サイズ |
|---|---|---|---|
| char | 文字 | %c | 1バイト |
| short int | 短い整数 | %hd | 2バイト |
| int | 整数 | %d | 4バイト |
| long int | 長い整数 | %ld | 4バイト |
| unsigned int | 符号なし整数 | %u | 4バイト |
| float | 小数 | %f | 4バイト |
| double | 小数(高精度) | %lf | 8バイト |
| bool | 真偽値 | ― | 1バイト |
※ サイズは環境によって異なる場合があります
今は「型によって扱える値が違う」と覚えておけばOKです
型のざっくりした使い分け
- 文字型:文字を扱う(a, A, あ など)
- 整数型:小数点のない数値(-1, 10)
- 小数点は自動的に切り捨てられる
- 浮動小数点型:小数を扱う(3.14, -2.5)
- 論理型:true / false を表す
変数への代入
変数に値を入れることを「代入」と言います
num = 1;これは「変数numに1を入れる」という意味です
⚠️ 代入する前に、必ず変数宣言が必要
宣言していない変数を使うとエラーになります
宣言と代入を同時に書く
int num = 1;最初から値が決まっている場合は、この書き方がおすすめです
- コードが短くなる
- 読みやすい
というメリットがあります
小数点以下の桁数を指定する
#include <stdio.h>
int main(void){
float num = 3.141592;
printf("%.2f", num);
}出力結果
3.14| 指定 | 意味 |
|---|---|
%.2f | 小数点以下2桁 |
%5.1f | 全体5桁、小数点以下1桁 |
表示形式を指定できるのも、printfの便利なところです
まとめ
- scanfで入力を受け取れる
- printfで結果を表示できる
- 変数は「値を保存して使い回すための箱」
入出力と変数は、C言語のすべての処理の土台になります
ここが理解できると、条件分岐やループ、関数も自然と理解しやすくなります