もくじ
はじめに
どうも! みなため(@MinatameT)です。
C言語でよく使われる関数として「printf関数(プリント・エフ関数)」があります。printf関数は、値や文字などを「表示(出力)」するときに使われます。
この記事では、C言語初心者の方々のために、printf関数の文法と使用例を説明していきます。
全然難しくないので、少しずつ確実に理解していきましょう!
printf関数の文法
printf関数の文法の基礎
printf関数の文法は、次のとおりです。使用例は後ほど紹介します。
まずは、文章を表示させたい場合です。
printf("表示させたい文章");
次に、変数の値などを表示させたい場合です。
printf("出力変換指定子",表示させたい変数名);
出力変換指定子とは、表示させる変数を「どのように表現するのか」……というものです。これは、すぐ後で紹介します。
覚えておきたい出力変換指定子
ここで、覚えておきたい出力変換指定子を表にまとめました。
特に重要なものは強調していますので、これだけは絶対に覚えてください。すぐに覚えられなければ、ノートやメモ帳にメモを残しておいてもOKです。
出力変換指定子 | 代表的な変数の型 | 簡単な説明 |
%d | int | 整数値を表示します。 |
%X | int | 整数値を16進数で表示します。 |
%o | int | 整数値を8進数で表示します。 |
%f | float、 double | 小数値を表示します。 |
%e | float、 double | 小数値を指数表記で表示します。 |
%g | float、 double | 小数値の表示形式(%fか%eのどちらか)を自動で決定し、表示します。 |
%c | char | 半角文字(1文字分)を表示します。 |
%s | char[] | 半角文字(1文字分以上)を表示します。char[]はcharの配列です。 |
%p | すべての 変数 | 変数のアドレス(場所)を表示します。このとき、変数名の前に&をつける必要があります。 |
printf関数の使用例
ここからは使用例を紹介していきます。例の数が多いように見えますが、絶対に使えるようにしてほしいものだけを紹介しています。
文章表示
#include<stdio.h>
int main(void)
{
printf("プログラミング学習中!");
printf("がんばるぞー!");
return(0);
}
このプログラムの実行結果は、次のようになります。
プログラミング学習中!がんばるぞー!
改行処理
#include<stdio.h>
int main(void)
{
printf("プログラミング学習中!");
printf("\n");
printf("がんばるぞー!");
return(0);
}
「\n」を入れた部分で改行されます。したがって、実行結果は次のようになります。
プログラミング学習中!
がんばるぞー!
改行は適度に入れておくことをおすすめします。改行されていないと、表示結果が読みづらくなるからです。
int型変数の値の表示
#include<stdio.h>
int main(void)
{
int a;
a = 100;
printf("%d",a);
printf("\n");
return(0);
}
int型変数の出力変換指定子は「%d」なので、間違えないようにしましょう。また、値を表示させたい変数名は「a」なので、aを記述しておきます。
このプログラムの実行結果は、次のようになります。
100
aの値が正しく表示されていますね。この文法が理解できれば、後は同じような調子でいけます。
float型変数の値の表示
#include<stdio.h>
int main(void)
{
float b;
b = 3.14;
printf("%f",b);
printf("\n");
return(0);
}
float型変数の出力変換指定子は「%f」なので、間違えないようにしましょう。また、値を表示させたい変数名は「b」なので、bを記述しておきます。
このプログラムの実行結果は、次のようになります。
3.140000
3.140000と「小数第6位」まで表示されていますが、実はこれで正解です。表示桁数を指定していない場合は、小数第6位まで表示されることになっています。
表示桁数を指定する方法はあるのですが、ここでは紹介しません。これが気になる方は、以下の記事をお読みください。
double型変数の値の表示
#include<stdio.h>
int main(void)
{
double c;
c = 3.14159;
printf("%f",c);
printf("\n");
return(0);
}
double型変数の出力変換指定子は「%f」なので、間違えないようにしましょう。また、値を表示させたい変数名は「c」なので、cを記述しておきます。
このプログラムの実行結果は、次のようになります。
3.141590
cの値が正しく表示されています。また、表示桁数を指定していないので、小数第6位まで表示されています。
char型変数の文字の表示
#include<stdio.h>
int main(void)
{
char d;
d = 'X';
printf("%c",d);
printf("\n");
return(0);
}
char型変数の出力変換指定子は「%c」なので、間違えないようにしましょう。また、文字を表示させたい変数名は「d」なので、dを記述しておきます。
このプログラムの実行結果は、次のようになります。
X
dに入れられた文字「X」が、正しく表示されていますね。
char型配列変数の文字列の表示
#include<stdio.h>
int main(void)
{
char e[16] = "ABCDEFG";
printf("%s",e);
printf("\n");
return(0);
}
char型配列変数の出力変換指定子は「%s」なので、間違えないようにしましょう。また、文字列を表示させたい配列変数名は「e」なので、eを記述しておきます。
eは普通の変数ではなく「変数配列」なのですが、printf関数にはeだけの記述で問題なく表示されます。
このプログラムの実行結果は、次のようになります。
ABCDEFG
eに入れられた文字列「ABCDEFG」が、正しく表示されていますね。
int型変数のアドレス(場所)の表示
#include<stdio.h>
int main(void)
{
int f;
printf("%p",&f);
printf("\n");
return(0);
}
アドレスの出力変換指定子は「%p」なので、間違えないようにしましょう。アドレスとは、変数が置いてある(メインメモリー上の)場所のことです。
また、アドレスを表示させたい変数名は「f」なのですが、fをそのまま記述してもダメで、変数名の前に「&」をつける必要があります。アドレスを表示するときは、これに注意してください。
このプログラムの実行結果は、次のようになります。
0018FF50
これは私のパソコンの場合の実行結果です。使っているパソコンによって結果が異なりますので、違っていても安心してください。
……ここまでが、printf関数の基本です。printf関数は本当によく使いますので、各自で練習しておきましょう!
今回はここまでです。皆さん、お疲れさまでした。