C言語入出力(I/O)マスター:scanf()とprintf()徹底解説
C言語入出力(I/O)
このチュートリアルでは、scanf()でのユーザー入力取得とprintf()での出力表示を、明確な例とベストプラクティスで解説します。
動画: Cプログラミングでのユーザー入力取得
付属の動画でscanf()の実演をご覧ください。
C言語出力
printf()関数は、フォーマット済みテキストをコンソールに送る主要なツールです。以下に例を示します。
例1: 基本的なテキスト出力
#include <stdio.h>
int main() {
printf("C Programming");
return 0;
}
出力
C Programming
このプログラムは単純な文字列を出力します。ポイント:
main()関数は必須。プログラム実行はここから開始。stdio.hをインクルードしてprintf()を利用。- 省略可能な
return 0;は正常終了を示す。
例2: 整数出力
#include <stdio.h>
int main() {
int testInteger = 5;
printf("Number = %d", testInteger);
return 0;
}
出力
Number = 5
%d指定子で整数値を出力文字列に埋め込みます。
例3: 浮動小数点出力
#include <stdio.h>
int main() {
float number1 = 13.5;
double number2 = 12.4;
printf("number1 = %f\n", number1);
printf("number2 = %lf", number2);
return 0;
}
出力
number1 = 13.500000 number2 = 12.400000
floatには%f、doubleには%lfを使用します。
例4: 文字出力
#include <stdio.h>
int main() {
char chr = 'a';
printf("character = %c", chr);
return 0;
}
出力
character = a
%cで単一の文字を出力します。
C言語入力
scanf()関数は、通常キーボードである標準入力からフォーマット済みデータを読み取ります。実践的な例を以下に示します。
例5: 整数の入出力
#include <stdio.h>
int main() {
int testInteger;
printf("整数を入力: ");
scanf("%d", &testInteger);
printf("Number = %d", testInteger);
return 0;
}
出力
整数を入力: 4 Number = 4
アドレス演算子&でscanf()にユーザー入力の格納先メモリ位置を渡します。
例6: floatとdoubleの入出力
#include <stdio.h>
int main() {
float num1;
double num2;
printf("数値を入力: ");
scanf("%f", &num1);
printf("もう一つ数値を入力: ");
scanf("%lf", &num2);
printf("num1 = %f\n", num1);
printf("num2 = %lf", num2);
return 0;
}
出力
数値を入力: 12.523 もう一つ数値を入力: 10.2 num1 = 12.523000 num2 = 10.200000
例7: 文字の入出力
#include <stdio.h>
int main() {
char chr;
printf("文字を入力: ");
scanf("%c", &chr);
printf("You entered %c.", chr);
return 0;
}
出力
文字を入力: g You entered g.
文字は内部的にASCII整数値で表現されます。%cで出力すると元の記号に戻ります。
例8: ASCII値の表示
#include <stdio.h>
int main() {
char chr;
printf("文字を入力: ");
scanf("%c", &chr);
printf("You entered %c.\n", chr);
printf("ASCII value is %d.", chr);
return 0;
}
出力
文字を入力: g You entered g. ASCII value is 103.
複数入力の処理
単一のscanf()呼び出しで複数の値を取得するのは効率的で簡潔です。
#include <stdio.h>
int main() {
int a;
float b;
printf("整数と浮動小数点数を入力: ");
scanf("%d%f", &a, &b);
printf("You entered %d and %f", a, b);
return 0;
}
出力
整数と浮動小数点数を入力: -3 3.4 You entered -3 and 3.400000
入出力用フォーマット指定子
一般的なCデータ型とそのprintf()/scanf()指定子の簡潔なリファレンスです。
%d–int%f–float%lf–double%c–char
| データ型 | フォーマット指定子 |
|---|---|
int | %d |
char | %c |
float | %f |
double | %lf |
short int | %hd |
unsigned int | %u |
long int | %li |
long long int | %lli |
unsigned long int | %lu |
unsigned long long int | %llu |
signed char | %c |
unsigned char | %c |
long double | %Lf |
C言語
- Axiomtek IPS960-511-PoE:産業検査向けオールインワン堅牢ビジョン コントローラー
- acceed、統合I/Oモジュール「EDAM-4200シリーズ」を発表-スケーラブルで信頼性の高いデータ通信
- C# 入出力の基礎:ユーザー入力と出力の基本をマスター
- C++入出力完全ガイド:cin/coutの基本から複数入力まで
- C++ストリームをマスター:cout、cin、cerr、clogの実践ガイド
- C言語の入出力マスター:標準関数とファイル操作
- C言語ファイルI/O完全ガイド:作成、オープン、管理の実践
- Dラッチ完全マスター:設計、動作原理、フリップフロップとの違い
- Python I/Oとモジュールインポート完全マスター: 実践ガイド
- PythonファイルI/O:ファイル操作、読み書き、管理のマスター
- Java入出力をマスター:表示、読み取り、データフォーマット