C言語の基本

【初めてのC言語】まずはprintf関数で文字列を画面に表示してみよう

トビタカ
トビタカ
本記事ではC言語の初心者向けに『画面に文字列を表示するプログラムの書き方』をご紹介しています。

C言語で文字列を画面に表示するやり方とは…?

 

C言語のルールは分かったんだけど、次は何をしたらいいの…?

 

前回の記事でC言語のルールを身に付けることができました!

【簡単】コードを書くために知っておきたい『C言語を書く時の5つのルール』とは…?本記事では、C言語のプログラムを書くために必要な5つのルールをご紹介しています。その5つのルールとは…?...

 

これらのルールを知っていただければ、プログラムを書き始めて大丈夫です。

ただ、プログラムにも難易度があるので、まずは簡単なプログラムから学んでいくことをオススメしています。

とび助
とび助
簡単なプログラムってどんなものですか…?
トビタカ
トビタカ
まずは文字列を画面に表示するプログラムがオススメです。

 

本サイトでは『文字列を画面に表示するプログラム』を最初に学ぶことをオススメしています。

理由は単純で、プログラムが正しく動いているかを確認するには、画面に何かしらの情報を表示させる必要があるからです。

本記事では、画面表示の基礎となる『文字列を表示する方法』をご紹介いたしますので、ぜひ参考にしてみてください。

トビタカ
トビタカ
まずは表示の基礎をしっかり身に付けましょう!
とび助
とび助
分かりました!

 

画面に文字列を表示するプログラム

分かりやすくするために、本記事では2つのプログラムを見比べながら説明します。

その2つのプログラムとは次の通りです。

  1. 何もしないプログラム
  2. 『ヤバイよ!ヤバイよ!』を表示するプログラム
トビタカ
トビタカ
では最初に『何もしないプログラム』を確認していきましょう。

 

/* 何もしないプログラム */
int main(void){
	return 0;
}

 

続いて、画面に『ヤバイよ!ヤバイよ!』を表示するプログラムがこちらになります。

/* 『ヤバイよ!ヤバイよ!』を表示するプログラム */
#include<stdio.h>

int main(void){
	printf("ヤバイよ!ヤバイよ!\n");
	return 0;
}

 

2つのプログラムの違いは何でしょうか…?

とび助
とび助
「#include~」と「printf~」というコードがある事ですかね…
トビタカ
トビタカ
正解です!printfを使うことで文字列を表示させることができます!

printf関数の使い方

printf関数とは画面に文字などを表示させる標準関数です。

C言語における標準関数とは『よく使う機能を一行で実現するコード』になります。

本来、画面に表示させるためにはたくさんのプログラムを書く必要があるのですが、表示するたびに大量のプログラムを書くのは大変ですよね?

そのような手間を省くために準備されたショートカット機能が標準関数なのです。

とび助
とび助
標準関数ってショートカット的なポジションだったんですね~
トビタカ
トビタカ
そういう認識でOKです。ではprintfの使い方を確認していきましょう!

 

printfで文字列を表示させるコードの書き方は次のとおりです。

printfで文字列を表示するコード

printf(“文字列”);

 

printfの後のカッコの中には、好きな文字列を入力することができます。

もちろん日本語でもOKです。

しかし、文字列の範囲を意味する『”』で文字列をはさむ必要があるので、忘れないようにしましょう。

この表記方法を知っておけば、画面に文字列を表示させるプログラムを作ることができますよ。

とび助
とび助
これで終わりですか…?
トビタカ
トビタカ
はい!書き方はこれでOKです!ちなみにprintf関数を書く場所はどこだと思いますか?
とび助
とび助
あれ?どこがいいんだろう…

printf関数を書く場所

では、printf関数を書く場所を確認するために、『ヤバイよ!ヤバイよ!』を表示するプログラムをもう一度見てみましょう。

/* 『ヤバイよ!ヤバイよ!』を表示するプログラム */
#include<stdio.h>

int main(void){
	printf("ヤバイよ!ヤバイよ!\n");
	return 0;
}

 

printf関数を書く場所はこのプログラムの通りの場所になります。

では、一体なぜprintf関数を書く場所が決まっているのでしょうか?

 

その理由は『C言語のおまじない』を考慮する必要があるからです。

先ほどのプログラムの中でC言語のおまじないに該当するのは『#include <stdio.h>』・『int main(void)』・『return 0;』の3つでしたね。

この中で特に重要なのは『main』と『return』になります。

トビタカ
トビタカ
mainの意味を覚えていますか…?
とび助
とび助
はい!最初に実行される関数でしたよね?
トビタカ
トビタカ
正解です!

 

お察しの通り、画面に文字を表示させたいときはprintf関数を実行する必要があります。

つまり、printf関数を発動させるためには、実行される関数の処理を書く場所である{}の中に書く必要があるのです。

その中でも間違いなく実行されるのは『一番最初に実行されるmain関数』でしたよね。

先ほどのプログラム例では、main関数しか存在しないので、main関数の{}の中に書けばOKです。

トビタカ
トビタカ
処理は実行される関数の{}の中に書くと覚えておいてください!

 

続いてもう一つのおまじないの『return』の意味を復習しましょう。

returnは『関数を終了させて値を返す』という機能を持っていましたよね。

そのため、『return』の後にprintfなどの処理を行うコードを書いても、関数が終了しているため実行されないのです。

言い換えれば、関数を終了させる機能を持つ『return 0;』が発動する前に『printf』を書いておく必要があると言えます。

 

以上のことを考えると、printf関数を書く場所は次のような場所に限定されるのです。

printf関数を書く場所

『int main (void){』

『return 0;』

とび助
とび助
printf関数を書く場所がわかりました!
トビタカ
トビタカ
いいですね!念のためにおまじないの解説をした記事へのリンクを貼っておきますね。
【これで分かる】C言語のおまじないって一体なんなの…?本記事ではC言語で最初に立ちはだかる『おまじない』に関して解説しています。誰も教えてくれない『C言語のおまじない』とは…?...

文字列の体裁を整える方法

基本的な文字列の表示はご紹介したprintf関数を使えば大丈夫です。

でも、wordなどで文章を書いたときに、改行や文字の位置調整をしたくなった時ってありますよね…?

とび助
とび助
たしかにあります!
トビタカ
トビタカ
見た目も重要ですからね!

 

もちろん、プログラムも同様です。

表示する文字が分かりにくければ、ソフトウェアの使い勝手が悪くなりますし、デバッグもしづらくなります。

なので、プログラムでも改行や文字の位置を揃える必要があるんです。

とび助
とび助
どうやってやるんですか…?
トビタカ
トビタカ
エスケープシーケンスというものを使うんです!

 

改行や文字の位置を揃える場合には、文字列の中にエスケープシーケンスというもの使います。

エスケープシーケンスとは『\』と『文字』、もしくは『\』と『文字』を組み合わせたものです。

このエスケープシーケンスを使うことで、表示させる文字の体裁を整えることができます。

プログラミングを行う環境によっては『\』が使えない場合があります。

その場合は『\』がエスケープシーケンスになるので、気を付けてください。

(ちなみに本サイトのプログラム例も『\』になっています。)

①文字列を改行する方法

文字列を改行するためには、改行したい文字列の場所で『\n』を書けばOKです。

具体的には次の画像のようなイメージになります。

改行の例の一覧表

 

①は文字列の最後に\nを記載したケースです。

この場合は文字列はそのまま表示されますが、次に文字列を表示するときは改行して表示されます。

この①の方法がprintfのスタンダードな使い方なのです。

 

②③は『\n』を使わずにprintf関数を使用しているケースです。

この場合、たとえ2つのprintf関数を使っても、改行せずに同じ行に表示されます。

もちろん、次に表示する文字列も改行はされません。

 

④は文字列の途中に『\n』があるケースです。

この場合、たとえ文字列の途中であっても『\n』を書いた場所で強制的に改行されます。

表示する文字列が長いから改行したいときに使われるイメージです。

トビタカ
トビタカ
ほとんどの人は①のように最後に\nを書いていますよ。
とび助
とび助
なら、自分もそうします!
トビタカ
トビタカ
良いと思います!\nのつけ忘れには要注意ですよ!

②文字列の先頭をそろえる方法

名簿などの類似情報をまとめるときって、区切りの位置をそろえたくなりますよね。

このような状況を実現するために使うのが『\t』になります。

文字列に『\t』を書いておけば、タブの位置で間隔を調整してくれるのです。

トビタカ
トビタカ
次の画像をご覧ください。
タブの入力例

 

①は『\t』を使わずにprintf関数を使用した例です。

名前の文字数が異なるため、性別がずれて表示されていることが分かります。

一方、②は名前の後に『\t』を入れたケースです。

この場合、名前の後にタブによる位置調整が行われているので、性別の位置が揃っています。

つまり、名前に文字数のバラツキがあっても、きれいに表示されるのです。

とび助
とび助
便利ですね~
トビタカ
トビタカ
便利なんですが、文字数に差がありすぎると『\t』がもう一つ必要になるんですよね。

エスケープシーケンス一覧

エスケープシーケンスは『\n』と『\t』だけではありません。

次のリストのように、結構たくさんあるんです。

エスケープシーケンスの例
  1. \a:アラート(音)を鳴らす
  2. \b:カーソルを1文字前に戻す
  3. \f :プリンタの紙の排出
  4. \n:カーソルを次の行に移動する(改行)
  5. \r:カーソルを今の行の先頭に移動する
  6. \t:カーソルを次のタブに移動する
  7. \数字:8進数の文字コードを表示
  8. \x数字:16進数の文字コードを表示
  9. \\・\?・\’・\”:2文字目を表示する

 

基本的に使用するのは④⑥⑨くらいだと思います。

④⑥は先ほど説明した通りです。

⑨は『\?'”』を文字として使いたい場合に使用する方法です。

というのも『\?'”』は特殊な記号という位置づけなので、単体では使えないんですよ。

これは文字ですよと伝えるために\を『\?'”』の前に『\』を付ける必要があるのです。

トビタカ
トビタカ
なお、『%』だけは例外で、文字として使いたい場合は『%%』になります。

 

また、②⑤を使う際には注意が必要です。

表示した文字列の前にカーソルが移動するので、表示している文字が上書きされてしまうことがあります。

その場合は、表示させたい結果が得られないことがあるので、気を付けてください。

まとめ

以上が文字列を画面に表示させる方法です。

一言で言えば、プログラムの先頭に『#include <stdio.h>』を書いて、『printf』を使えば表示させることができます。

この方法を使って、まずは簡単な文章を表示させるプログラムを作ってみてくださいね!

printf関数で文字列を表示する方法のまとめ
とび助
とび助
早速、プログラムを書いてみます!
トビタカ
トビタカ
ぜひ、挑戦してみてくださいね!

文字列の表示をマスターしたら、次は数値を表示の学習がオススメです。

【初心者向けC言語】文字列の次は数値を表示してみよう!本記事ではC言語を勉強し始めた『あなた』に向けて、数値を表示する方法をご紹介しています。C言語で数値を自由自在に表示するその方法とは…?...

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA