サイタパソコン教室・IT資格情報処理技術者試験対策講座基本情報技術者試験 神奈川 基本情報技術者試験対策セミナー レッスンノート 書式指定の詳細

書式指定の詳細

基本情報技術者試験対策講座のレッスンノート

レッスンノートって?レッスンノートって?

3/4のレッスン内容は、以下の通りです。

 ・ ソースコードの読解練習
  - NULLとNULL文字の違い
  - 書式指定の詳細
  - 文字列の引数渡しの特殊表現

□ ソースコードの読解練習

今回から、再びソースコードの読解練習に戻りました。

レッスンでは、Q&Aを中心に取り扱います。

○ NULLとNULL文字の違い

NULLとNULL文字は名称こそ似ていますが、意味は全く異なります。これらの違いについて、説明しました。

まずはデータ面から違いを書くと、

 ・ NULL
  - 何らかのポインタ型が保持する0という値

 ・ NULL文字
  - char型のデータが保持する0という値

となります。想定しているデータの型が違っていますね。

これを意味的に記すと、以下のような説明になります。

 ・ NULL
  - どの場所も指していない状態を示すもの。空ポインタ、NULLポインタとも呼ぶ

 ・ NULL文字
  - 文字列の終端を識別するための特殊文字。通常 '\0'と記す

○ 書式指定の詳細

読解問題の解説中にある

 %9.9s

という書式指定をどう解釈したらいいか、という質問がありました。

これまで、書式指定は

 % + 変換指定子を示す1文字(d や s など)

と説明してきました。しかし、この間にカスタマイズをするための情報を入れることができます。

書式指定の書式を詳しく記すと、以下の通りになります。

 %[フラグ][フィールドの最小幅][.精度指定][修飾情報指定]変換指定子

[]の部分は、すべて省略可能です。すべて省略すると、%dや%sのようになるわけですね。

それでは、各部分を説明します。

 ・ フラグ
  - 以下の情報を指定できます。
   + : 正の数値を表示する場合に + を付ける
   - : 左詰め表示にする。指定しない場合は右詰め表示
   0 : 右詰め表示の場合に、空いた場所を0で埋める

 ・ フィールドの最小幅
  - 表示させるフィールドの最小幅を指定できます。
   例えば10 と指定した場合、少なくても10文字分のフィールドが確保されます

 ・ 精度指定
  - 精度を指定できます。
   - 文字列表示の場合は、最大の表示文字数の指定を意味します
   - 浮動小数点数表示の場合は、小数点以下の表示桁数を意味します

 ・ 修飾情報指定
  - long や long longのデータを表示させたい場合に付けます
   longの場合は l、long longの場合はll と記述します。

これを踏まえて、冒頭の %9.9s を解釈すると以下のようになります。

 ・ 最低でも9文字分の場所を確保したうえで、最大9文字までの文字列を表示させる

 [例1] "abcdefghi" の場合

  "abcdefghi" と表示される

 [例2] "abc"の場合

  " abc"と表示される。aの左に6文字分の空白文字が表示される

○ 文字列の引数渡しの特殊表現

関数の引数に文字列を渡す場合に、以下のように2つ以上の文字列をつなげて記すことができます。

 func("abc" "def");

これは、以下のように記した場合と同じです。

 func("abcdef");

目的・種類別に基本情報技術者試験対策・合格講座を探す

新着レッスンノート

8/10のレッスン内容は、以下の通りです。  ・ C言語における乱数の取り扱い   - 指定範囲の乱数を求める計算式 詳細は、紙でお渡ししたノートも参照してください。 □ C言語における乱数の取り扱い プログラミングでは、厳密な乱数ではなく「擬似乱数列」と呼ばれる配列...

7/30 のレッスン内容は、以下の通りです。  ・ 再帰呼び出しのおさらい  ・ バイナリファイルの読み書き 詳細は、レッスン時にお渡ししたノートを参照してください。 □ 再帰呼び出しのおさらい 前々回までのテーマだった「最短経路の距離を求めるプログラム」について、以...

7/22 のレッスン内容は、以下の通りです。  ・ 時刻関連の処理   - 時刻関連の型   - 時刻関連の標準関数 詳細は、レッスン時にお渡ししたノートを参照してください。 □ 時刻関連の処理 今回のテーマは、時刻関連の処理です。 時刻関連の処理を実装する場...

7/12 のレッスン内容は、以下の通りです。  ・ 最短経路計算プログラムの動作説明 今回の詳細は、レッスン時にお渡ししたノートを参照してください。 □ 最短経路計算プログラムの動作説明 今回は、ソースコードを題材として最短経路計算プログラムの動き方について説明しました...

6/24のレッスン内容は、以下の通りです。  ・ 構造体型宣言の補足  ・ bool型 詳細は、レッスン時にお渡ししたノートも参照してください。 今回は、最短経路を求めるプログラムを題材としました。 □ 構造体型宣言の補足 構造体型宣言について質問があったので、...

レッスンノート ページ先頭へ

基本情報技術者試験情報

サイタの基本情報技術者試験講師がブログを通して、基本情報技術者試験情報を発信。更新情報のチェックはこちらから!