サイタパソコン教室・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");

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

新着レッスンノート

6/17のレッスン内容は、以下の通りです。  ・ 数値表現   - 2進数の小数表現   - 2進数の負値の表現 詳細は、レッスン中に紙でお渡ししたノートも参照してください。 □ 数値表現 今回のテーマは、2進数での小数と負値の表現になります。 ○ 2進数...

6/10のレッスン内容は、以下の通りです。  ・ 基本情報技術者試験 午前免除試験の要綱  ・ 数値表現   - 10進数と2進数   - 基数変換   - 8進数と16進数   - ビットの意味 詳細は、レッスン中に紙でお渡ししたノートも併せて参照してください。 ...

6/3のレッスン内容は、以下の通りです。  ・ ポインタのおさらい  ・ 構造体を指すポインタ 詳細は、紙でお渡ししたノートも参照してください。 □ ポインタのおさらい まずは、ポインタについておさらいしました。 この内容は、2016/11/30 に実施していま...

5/26のレッスン内容は、以下の通りです。  ・ 整数型同士の型変換ルール  ・ 自作strcmp()の実装チェック 詳細は、紙でお渡ししたノートも参照してください。 □ 整数型同士の型変換ルール 整数型同士の型変換(符号なしから符号付き、大きいサイズから小さいサイズ...

5/18のレッスン内容は、以下の通りです。  ・ 複数の条件を同時にチェックする方法 詳細は、紙でお渡ししたノートも参照してください。 □ 複数の条件を同時にチェックする方法 例えば、変数x に対して以下のような条件チェックをする場合があります。  ・ 変数x の...

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

基本情報技術者試験情報

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