C言語変換指定子をマスター!5つの詳細な使い方と実例

C言語の変換指定子の詳細な使い方とサンプルコードを解説するイラストC言語
この記事は約5分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

今回は、C言語の変換指定子について深掘りします。

C言語は初心者にとって難解な部分が多いですが、その中でも変換指定子はより良いプログラムを書くために不可欠な要素です。

この記事では、初心者でも理解しやすいよう、変換指定子の基本的な使い方から応用例、注意点まで詳細に解説します。

●C言語と変換指定子とは

C言語は、汎用的なプログラミング言語であり、システムやアプリケーションの開発に広く用いられています。

そして、その中でも”変換指定子”は、printfやscanfなどの関数で用いられ、変数の型に合わせたデータの入出力を行う際に重要な役割を果たします。

●変換指定子の基本的な使い方

変換指定子は、主にprintfやscanfのような関数内で用いられます。

具体的には、”%d”や”%s”のように使われ、これらはそれぞれ整数や文字列の出力・入力を行います。

○サンプルコード1:基本的な変換指定子の使用例

下記のコードでは、変換指定子”%d”と”%s”を使って、整数と文字列を出力する例を紹介します。

#include<stdio.h>

int main(){
  int number = 10;
  char word[10] = "Hello";

  printf("Number: %d\n", number);
  printf("Word: %s\n", word);

  return 0;
}

このコードを実行すると、”Number: 10″と”Word: Hello”が表示されます。

○サンプルコード2:整数の変換指定子の使用例

次に、整数を出力する際の変換指定子について詳しく見ていきます。

#include<stdio.h>

int main(){
  int number = 255;

  printf("Decimal: %d\n", number);
  printf("Octal: %o\n", number);
  printf("Hexadecimal: %x\n", number);

  return 0;
}

このコードでは、”%d”、”%o”、”%x”を使って、10進数、8進数、16進数の形で同じ整数を出力します。

このコードを実行すると、「Decimal: 255」、「Octal: 377」、「Hexadecimal: ff」と表示されます。

●変換指定子の応用例

それでは、少し応用的な変換指定子の使い方を見てみましょう。

○サンプルコード3:浮動小数点数の変換指定子の使用例

浮動小数点数を扱う変換指定子もあります。

ここでは、それを使った例を見てみましょう。

#include<stdio.h>

int main(){
  double pi = 3.141592;

  printf("pi = %.2f\n", pi);

  return 0;
}

このコードでは、”%f”を使って浮動小数点数を出力しています。

“%.2f”とすることで小数点以下2桁までを表示します。

このコードを実行すると、「pi = 3.14」と表示されます。

○サンプルコード4:文字列の変換指定子の使用例

文字列も変換指定子を使って出力できます。

下記のコードでは、文字列を出力する例を示しています。

#include<stdio.h>

int main(){
  char greeting[10] = "Hello";

  printf("Greeting: %s\n", greeting);

  return 0;
}

このコードでは、”%s”を使って文字列を出力します。

実行すると、「Greeting: Hello」と表示されます。

○サンプルコード5:ユーザー定義型の変換指定子の使用例

ユーザー定義型も変換指定子を使って出力することが可能です。

下記のコードでは、構造体を用いた例を表しています。

#include<stdio.h>

typedef struct {
  int id;
  char name[20];
} Student;

int main(){
  Student s = {1, "Yamada"};

  printf("ID: %d, Name: %s\n", s.id, s.name);

  return 0;
}

このコードでは、”%d”と”%s”を使って、ユーザー定義型の構造体のデータを出力します。

このコードを実行すると、「ID: 1, Name: Yamada」と表示されます。

●注意点と対処法

変換指定子を使う際の注意点として、変数の型と変換指定子が一致していないと予期しない結果を生じる可能性があります。

また、セキュリティ上の問題も起きる可能性があるので注意が必要です。

●変換指定子を使ったカスタマイズ方法

さらに、変換指定子を使ったカスタマイズ方法もあります。

下記のコードでは、出力フォーマットをカスタマイズする例を示します。

○サンプルコード6:フォーマット指定をカスタマイズする例

#include<stdio.h>

int main(){
  int number = 10;

  printf("Number: %05d\n", number);

  return 0;
}

このコードでは、”%05d”とすることで、5桁表示で足りない部分を0で埋めることができます。

このコードを実行すると、「Number: 00010」と表示されます。

まとめ

以上が、C言語の変換指定子の基本的な使い方から応用例、注意点までの詳細な解説です。

これらの情報を参考に、C言語の変換指定子を効果的に使いこなして、より質の高いプログラムを書いてみてください。