標準入出力とは
標準入出力とはコンソール画面での入力や出力機能です。
コマンドプロンプトと呼ばれるウィンドウに文字を出力したり、キーボードからの入力を受け付けます。
stdio.hをインクルードして使います。
何かと使う機会が多いのでよく覚えておきましょう。
printf()
printf("【出力する文字】");
printf()は特殊文字を扱うことができます。
特殊文字 | 意味 |
\n | 改行 |
\\ | \ |
\' | ' |
\" | " |
\? | ? |
Windowsでは\が¥(半角)になります。
また、値を引数として使うこともできます。
std_out_sample1.c
int a = 1; printf("%d %f %c %d", a, 2.4, 'c', a + 5);
型 | 文字 |
整数 | %d |
浮動少数点数 | %f |
浮動少数点数(倍精度) | %lf |
文字 | %c |
文字列 | %s |
std_out_sample2.c
float a = 1.0; printf("%3.0f \n %.2f \n %2.5f");
.の前が整数部分、後が少数部分の表示する桁数になります。
出力結果は以下のようになります。
001 1.00 01.00000
puts()
puts()はprintf()同様標準出力の関数です。
puts("【文字列】")
の形で出力します。
変数名で出力内容を指定することもできます。
std_out_sample3.c
puts("Hello, World!"); char[] msseage = "Hello, World!"; puts(message);
scanf()
scanf()は標準入力の関数です。
ユーザーが入力した値を受け取り、変数に格納します。
scanf("%X", &【変数名】)
%Xにはprintf()と同様に特殊文字を挿入します。
なぜ変数の前に&をつけるかは関数を参照してください。
開発環境によってはscanf()を使うとエラーがでます。
これはこの関数に脆弱性が見つかっているため、以降使わないようにすべきであるからです。
対策としては代わりにscanf_s()を使うとよいでしょう。
gets()
gets()はscanf()同様標準入力関数です。
gets(【変数名】)
で入力値を受け取ります。
gets()は文字型の配列(文字列)でのみ受け取れます。