C言語 入門 入出力についてのまとめ【細かな違いに注目】

入出力についてのまとめC言語
C言語の入出力について知りたい人

printf、scanf、putchar、puts、gets、、、

あ゛ァーーーー!!!

多すぎて覚えられん!!

(╬▔皿▔)╯

そもそも細かい違いが分からないから、誰か説明してくれ!!

こちらの悩みを解決しますね。

✔本記事の内容

・C言語の入出力ができる関数

・サンプルコードで細かい違いを理解しよう

この記事を書いている自分は情報系大学生で、三ヶ月ほどでC言語の基礎を完璧に理解しました。勉強中に分からないことが多く、一日中プログラミングしていたこともあります。

今では、ブログでC言語について解説しています。

今回はそんな経験をもとに解説していこうかと。

当サイトでは、覚えるべきところを全てまとめているので、画面を撮影して何度も読み返すことをおすすめします。

それでは、解説していきます!

C言語の入出力ができる関数

C言語で入出力ができる関数は、大きく分けると以下の2つに当てはまります。

✔C言語で入出力ができる関数

  • 入出力関数
  • ファイル入出力関数

入出力関数とは?

入出力関数とは、文字列や数字の入力ができる入力関数とそれを出力できる出力関数の2つのグループに分けることができます。

下の表にまとめてみます。

《入力関数》

名前scanfgetchargets
読み方スキャン・エフゲット・チャーゲット・エス
入力できる文字数1文字以上1文字まで1文字以上
SDLチェックありありなし
変換書式使う使わない使わない

《出力関数》

名前printfputcharputs
読み方プリント・エフプット・チャープット・エス
出力できる文字数1文字以上1文字まで1文字以上
出力後に自動で改行××
変換書式使う使わない使わない

この表にのっている関数は、他の記事で解説しているので参考にしてみて下さい。

ファイル入出力関数とは?

ファイル入出力関数とは、他のファイルに保存された情報を読み取るための入力関数、他のファイルに書き込みするためのファイル出力関数の2つに分けることができます。

ファイル入出力関数は下の記事で全種類の解説をしているので、興味がある人はご覧ください。

≫C言語 入門 ファイル入出力関数を全て解説!(fopen)

サンプルコードで細かい違いを理解しよう

ここで、それぞれの関数の違いが分かるサンプルコードを紹介します。

解説については、先ほど紹介した記事に載っているはずです。

gets_sとscanfの違いが分かるプログラム

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	char str1[20];
	char str2[20];

	gets_s(str1);
	puts("str1=");
	puts(str1);
	puts("\n");

	scanf("%s", str2);
	printf("str2=");
	printf("%s", str2);
}
gets_sとscanfの違い
出力結果

putsとprintfの違いが分かるプログラム

#include <stdio.h>

int main()
{
	char str1[10]="Hello";
	char str2[10]="world!!!!";

	puts(str1);
	puts(str2);

	printf("%s %s", str1,str2);
}

出力すると、

Hello

world!!!!

Hello world!!!!

のように表示されます。

「getcharとgetsの違いが分かるプログラム」、「putcharとputsの違いが分かるプログラム」のようなものは必要ないと思います。

なぜなら、それらの違いは

1文字だけ扱うか、1文字以上を扱うか

くらいだからです。

まとめ:入出力についてのまとめ【細かな違いに注目】

man in suit jacket standing beside projector screen

説明の途中で出てきた表は重要なので、画面の写真を撮っておきましょう。

そうすれば、後から読み返せるのでオススメです。

なお、これらの違いは細かいところまで覚える必要ないので、時間を使いすぎないようにしましょう。

今回は以上です!

ではでは~👋