C言語のprintf変換指定子(変換文字)の種類と使い方を徹底解説
printf関数の基本的な使い方
printfは、文字列を画面に出力するためのC言語の標準関数です。最もシンプルな使い方は、埋め込む値のない単純な文字列をそのまま表示することです。
printf ("An ordinary string..");
printf ("Testing 1,2,3...");次に基本的な例として、整数を1つ出力するケースを見てみましょう。
int number = 48;
printf ("%d",number);文字列と変換指定子(%で始まる記述)は、以下のように組み合わせることができます。
int number = 48;
printf ("Some number = %d",number);このコードを実行すると、画面には次のように表示されます。
Some number = 48
主な変換文字の一覧
printfで使用できる主な変換文字は以下のとおりです。
- d - 符号付き10進整数
- u - 符号なし10進整数
- x - 16進整数
- o - 8進整数
- s - 文字列
- c - 1文字(単一の文字)
- f - 固定小数点形式の浮動小数点数
- e - 指数表記の浮動小数点数
- g - fとeのうち、短く表現できる方を自動的に選択
サンプルプログラム
以下は、printfの変換文字と各データ型の使い方を示すC言語プログラムです。
/* printf Conversion Characters and Types */
#include <stdio.h>
main (){
int i = -10;
unsigned int ui = 10;
float x = 3.56;
double y = 3.52;
char ch = 'z';
char *string_ptr = "any old string";
printf ("signed integer %d\n", i);
printf ("unsigned integer %u\n",ui);
printf ("This is wrong! %u",i);
printf ("See what happens when you get the ");
printf ("character wrong!");
printf ("Hexadecimal %x %x\n",i,ui);
printf ("Octal %o %o\n",i,ui);
printf ("Float and double %f %f\n",x,y);
printf (" ditto %e %e\n",x,y);
printf (" ditto %g %g\n",x,y);
printf ("single character %c\n",ch);
printf ("whole string -> %s",string_ptr);
}実行結果
上記のプログラムを実行すると、以下のような結果が出力されます。
signed integer -10 unsigned integer 10 This is wrong! 4294967286See what happens when you get the character wrong!Hexadecimal fffffff6 a Octal 37777777766 12 Float and double 3.560000 3.520000 ditto 3.560000e+000 3.520000e+000 ditto 3.56 3.52 single character z whole string -> any old string
結果のポイント解説
このプログラムには重要な学びが含まれています。負の値「-10」を保持するint型変数を、%u(符号なし整数)で出力すると「4294967286」という大きな値が表示されます。これは、負の数が内部では2の補数として表現されており、それを符号なしの整数として解釈したために起こる現象です。
また、「This is wrong!」の行では改行文字\nが指定されていないため、後続の出力と同じ行につながって表示されています。変換指定子と実際の変数の型を正しく一致させ、必要に応じて\nで改行することが、見やすい出力を得るためのポイントです。
-
フリップフロップの種類と相互変換の方法を徹底解説
フリップフロップ(flip-flop)は、順序論理回路の基本要素となるデジタル回路です。フリップフロップにはいくつかの種類があり、本記事では代表的な4種類の特徴と動作、さらに「あるフリップフロップから別のフリップフロップへ変換する」ための具体的な手順を解説します。フリップフロップには主に以下の4種類があります。SRフリップフロップDフリップフロップJKフリップフロップTフリップフロップSRフリップフロップとはSRフリップフロップは、クロック信号の立ち上がりエッジまたは立ち下がりエッジでのみ動作します。一方、SRラッチはイネーブル信号によって動作する点が異なります。SRフリップフロップの回路図を
-
USB LEDライトとは?種類別の特徴とおすすめの活用シーンを徹底解説
生活をより快適に整えてくれるお気に入りのガジェットは、誰しも一つや二つあるはずです。新しい便利アイテムをお探しなら、USB LEDライトの導入を検討してみてください。価格が手頃で、ほぼあらゆる場所に設置できる優れものです。 USB LEDライトはユーザーのニーズに応じて、見た目も機能も大きく異なります。この記事では、さまざまな種類のUSB LEDライトを紹介し、それぞれの主な用途について詳しく解説します。 USB LEDライトとは? USB LEDライトとは、パソコンやノートPC、スマートフォン、スマートプラグ、車載USBポートなど、周辺機器を接続できるホスト側のUSBデバイスに差し込んで使