前に「文字を画面に表示する」で、printf関数を使用して文字を画面に表示しました。
このときは、printf関数の " " で囲まれた文字をそのまま表示することを学びましたが、今回は、出力変換指定子というものを使用して、数値や変数の値を表示することについて学びます。
変換指定子とは
表示したい文字の中に数値や変数の値を入れたい場合、文字の表示させたい位置に、% から始まる記号を記述し、指定した数値や変数を出力させることができます。
この%から始まる記号のことを変換指定子、フォーマット指定子などと言います。
そして、printf関数など、文字列に変換して表示したいときに用いる変換指定子のことを出力変換指定子と言います。
今回は、数値やint型の変数を表示するため、出力変換指定子は、%d 指定子になります。
出力変換指定子の種類はその他にいろんなものがありますが、これらはもう少し後で学びますので、今回は、%d のみを使います。
出力変換指定子を使用したprintf関数の書式
出力変換指定子を使用したprintfの書式は次のように記述します。
書式
printf( " %d " , 整数) ;
表示する文字列の中(" " で囲われているところ)に、出力変換指定子の %d を記述します。
表示させたい数値や変数は、文字列の後に、カンマを記述し、その後に、表示させたい数値、または、変数を記述します。
数値は、" や ' でくくりません。ただし、数字の文字として表示させたいときは、' や " でくくります。
サンプルプログラムを次に示します。
#include <stdio.h>
int main(void)
{
int number = 10;
printf("%d¥n", number);
printf("%d¥n", 1);
printf("%d¥n", 1 + 1);
return 0;
}
プログラムの実行結果は、次のようになります。
実行結果
10
1
2
7行目は、変数の値を表示しています。
8行目では、数値を表示しています。
9行目では、演算した結果を表示しています。これは、printf関数に関わらず、演算式がある場合は、演算を行った結果に変換されます。このため、サンプルプログラムでは、2が表示されています。
出力変換指定子を使用したprintf関数は、文字列と組み合わせて表示できます。
また、文字列中に何個でも出力変換指定子を使用することもできます。
これらのサンプルプログラムを次に示します。
#include <stdio.h>
int main(void)
{
int number1 = 5;
int number2 = 2;
int sum;
sum = number1 + number2;
printf("No%d: %d + %d の答えは、%dです。", 1, number1, number2, sum);
return 0;
}
このサンプルプログラムの実行結果は、次のようになります。
実行結果
No1: 5 + 2 の答えは、7です。
このサンプルプログラムでは、%d指定子と、カンマの右側の数値/変数の順番が、前から順に対応しています。
以上が、数値や記憶した値を画面に表示する内容となります。
次は、 キーボードから数値を入力するやり方を学びます。