広告スペース

第4回 printf・scanf

C言語のprintf関数とscanf関数の使い方。書式指定子を一覧で解説。

printf文 ― 文字列を表示する

printfは文字列(文字の並び)を表示する処理です。
\n は改行を意味する特殊文字です。
printf("Hello World!\n");       // 文字列を表示
printf("5 x 6 = %d\n", 30);    // 数値を埋め込んで表示
printf("result = %d\n", hensu); // 変数の値を表示

書式指定子 ― %d と %f

printf文で変数の値を表示するとき、変数の型に合った書式指定子を使う必要があります。
整数 → %d
int a = 5;
printf("%d", a);5

桁揃え: %2d" 5"%4d" 5"
実数 → %f
double b = 5.23;
printf("%f", b);5.230000

桁指定: %5.2f" 1.52" (全5桁、小数2桁)
型と書式が合わないと正しく表示されません! int型に%fを使ったり、double型に%dを使うと0や意味不明な値が出ます。

書式指定子テスター

表示結果

scanf文 ― キーボードからの入力

scanfはキーボードからの入力を受け付ける関数です。基本的にprintfと反対の働きを持ちます。
int a;
printf("aの値を入力:");
scanf("%d", &a);           // &を忘れずに!

double b;
printf("bの値を入力:");
scanf("%lf", &b);          // doubleは%lf!(%fではない)

scanf シミュレーター

下の入力欄に値を入れて「Enter」を押すと、変数に格納される様子をシミュレーションします。
aの値を入力:
変数 a の値
未入力
printf("%d", a) の結果

scanf の注意点

注意1: &を忘れない
scanf("%d", &a);
&がないとエラーで止まる
注意2: doubleは%lf
scanf("%lf", &b);
%fではなく%lfを使う
注意3: 余計なものを書かない
文章や\nをつけてはいけない
注意4: 連続使用に注意
scanfを連続で使わず、printfを間に挟む
まとめ:
int → scanf: %d / printf: %d
double → scanf: %lf / printf: %f

自分で書いてみよう ― printf・scanf

scanfはシミュレータ上では入力ダイアログで代用されます。
io_demo.c
出力
「実行」を押してください...
広告スペース

関連する講座

入門編
第3回 変数
C言語の変数とは?int, double, charの使い方を図解で解説。
入門編
第5回 確認問題(変数・printf)
C言語の変数とprintfの理解度を確認するクイズ。
入門編
第6回 確認問題(scanf)
C言語のscanfの理解度を確認するインタラクティブなクイズ。
← 前の講座
第3回 変数
次の講座 →
第5回 確認問題(変数・printf)

確認クイズ

この講座の理解度をチェックしましょう!

Q1. printf("%d", 10); の出力は?

%d
10
10.000000

%d は整数を表示するフォーマット指定子です。10 がそのまま表示されます。

Q2. scanf で整数を読み込むとき正しいのは?

scanf("%d", x);
scanf("%d", &x);
scanf("%d", *x);

scanf では変数のアドレスを渡す必要があるため、&(アドレス演算子)を付けます。

Q3. printf("%.2f", 3.14159); の出力は?

3.14
3.14159
3.1

%.2f は小数点以下2桁まで表示するフォーマット指定子です。3.14159 は 3.14 と表示されます。

この記事をシェア
X(Twitter)でシェア Facebookでシェア LINEで送る はてブ

この講座の理解を深めるおすすめ書籍

サイトで動きを理解し、書籍で演習量を補うと効果的です

📘
苦しんで覚えるC言語
MMGames 著
初心者向けの定番入門書。丁寧な解説で基礎を固められます。
Amazonで見る
📗
新・明解C言語 入門編
柴田望洋 著
図解が豊富で、演習問題も充実。大学の教科書としても採用多数。
Amazonで見る
📙
プログラミング言語C 第2版
B.W.カーニハン, D.M.リッチー 著
通称K&R。C言語の原典。基礎を終えた後のステップアップに最適。
Amazonで見る

※ 上記リンクはアフィリエイトリンクです。購入によりサイト運営を支援いただけます。