【C言語】第1章第8回:入力と出力:scanfとprintfの使い方
C言語では、ユーザーとの対話を可能にする入力と出力が非常に重要です。この章では、入力に使用するscanf
関数と、出力に使用するprintf
関数の使い方を、具体例を交えて詳しく解説します。
1. printf
関数とは?

printf
関数は、指定されたテキストや変数の値をコンソールに出力するために使用されます。
基本構文
printf("フォーマット文字列", 引数1, 引数2, ...);
例:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
このプログラムは、画面に「Hello, World!」と表示します。
フォーマット指定子
フォーマット指定子を使用することで、さまざまなデータ型を出力できます:
フォーマット指定子 | データ型 | 例 |
---|---|---|
%d | 整数 | printf("%d", 10); |
%f | 浮動小数点数 | printf("%f", 3.14); |
%c | 文字 | printf("%c", 'A'); |
%s | 文字列 | printf("%s", "Hello"); |
2. scanf
関数とは?

scanf
関数は、ユーザーからの入力を受け取るために使用されます。
基本構文
scanf("フォーマット文字列", &変数1, &変数2, ...);
入力されたデータは指定された変数に格納されます。&
(アドレス演算子)が重要です。
例:整数の入力
#include <stdio.h>
int main() {
int number;
printf("Enter a number: ");
scanf("%d", &number); // 入力をnumberに格納
printf("You entered: %d\n", number);
return 0;
}
解説:ユーザーが入力した整数を変数number
に格納し、それを出力しています。
3. 入力と出力の組み合わせ

scanf
とprintf
を組み合わせることで、ユーザーと対話的にデータを操作することができます。
例:2つの数値の加算
#include <stdio.h>
int main() {
int a, b, sum;
printf("Enter two numbers: ");
scanf("%d %d", &a, &b); // 2つの整数を入力
sum = a + b; // 加算
printf("The sum of %d and %d is %d\n", a, b, sum);
return 0;
}
解説:
scanf
で2つの整数を受け取る。- その結果を
sum
に格納し、printf
で出力。
4. 複数のデータ型を扱う
例:名前と年齢の入力と出力
#include <stdio.h>
int main() {
char name[50];
int age;
printf("Enter your name: ");
scanf("%s", name); // 文字列を入力
printf("Enter your age: ");
scanf("%d", &age); // 整数を入力
printf("Hello, %s! You are %d years old.\n", name, age);
return 0;
}
解説:このプログラムでは、名前(文字列)と年齢(整数)を入力し、それを出力しています。
5. 練習問題
以下の課題に挑戦して、scanf
とprintf
の使い方を練習してください:
- 2つの浮動小数点数を入力し、それらの積を計算して出力するプログラムを作成してください。
- 文字を入力し、それを大文字に変換して出力するプログラムを書いてみましょう。
- 文字列を入力し、逆順に出力するプログラムを作成してください。
6. まとめ
scanf
とprintf
は、C言語でユーザーと対話するための基本機能です。これらの使い方を理解することで、よりインタラクティブなプログラムを作成できるようになります。たくさん練習して、スキルを磨いていきましょう!