数値の表示
文字列と数値
C言語での文字列と数値は処理方法が異なります。
文字列は ” “ で囲まれたものは全て文字列です。
3章の画面への表示を飛ばしていますが、以下はmain関数の中で、
printf という関数をcallして、Hello World という文字列を表示させています。
#include <stdio.h>
int main(void)
{
printf("Hello world\n")
return 0;
}
printf関数は、標準関数と呼ばれる予めC言語の中で用意された関数処理になります。
先頭行に書かれている #include <stdio.h> の部分が、予め用意された関数の処理が書かれたファイルを読み込んでおいてください。という意味になります。
#includeは、自分の書いているプログラムで使用する関数が、別のテキストファイルに書かれていたり、予め言語側で用意されているものを使用する際に、その関数の処理が書かれているファイルを指定するディレクティブになります。
以下では<stdio.h>という名前のファイルに、printf関数の処理に関係する情報が書かれているので、参照しておいて欲しいファイルとして指定をしています。
ちなみに、#include ファイル名 はプログラムを書いているファイルの先頭に書くルールになっています。
<>で囲まれているのは、標準関数の存在するパスを参照する時に付記します。
要は、標準関数を使用したい時にファイル名を<>で囲めば良いです。
他に、” ” でファイル名を囲む場合があります。
例えば、#include “test.h” の様な書き方です。
これは、自分で作成した関数処理の定義が書かれているファイルを参照する際に使用します。
<>は予め用意された標準関数。
” ”は、自分が作成した関数の処理が定義されているファイル。と覚えておいてください。
printf(“Hello world\n”) の ” ” で囲まれた範囲が文字列として扱われます。
つまり、Hello world\n が文字列として認識されます。
最後の \n は改行を意味する記号です。
この場合、Hello worldと表示された後、カーソルが次行にある状態となります。
製品組み込みC言語で表示処理がほとんど使用されない理由
なぜ第3章の画面の表示を飛ばすのか?ですが、
製品の組み込みC言語で、printf関数をはじめとした、表示処理はほとんどが使用されません。
それは、2つ理由があります。
[理由1]
限られたメモリ容量に対して、表示処理は大きなメモリ容量を占有するため、
制御に充当したい思惑から外れることが多い。
表示処理の為に単価が高くなる一つ、二つ上位のマイコンを選定するのは、
製品価格を圧迫するので避けられる傾向にあります。
[理由2]
そもそも、表示媒体が搭載されない製品が多く、視認することができない。
製品に液晶などのディスプレイ媒体が存在しない場合、
表示出力処理を用意しても、確認しようがありません。
そのため、巷のC言語の書籍などで語られる printfのHello World表示は、
製品開発者が最初に勉強する必要があるとは言えないので割愛しています。
文字列の”123”と数値の123の違い
c言語では、文字列の“123”と数値の123は別の媒体となります。
上記の説明の通り、” ”で囲まれた範囲が文字列になるので、文字列 or 数値の判断は容易だと思います。
明らかな違いは、数値の123は計算に使うことができるが、文字列の”123″は計算に使うことができません。
文字列は表示にのみ使うことができる。と覚えておいて差支えないと思います。
上記の説明の通り、表示についてはC言語の学びが進んでから学習しても遅くはありませんので、
書籍「4.1.2 数値を表示する」、「4.1.3 文字列との組み合わせ表示」、「4.1.4 複数の数値の表示」は割愛したいと思います。
ここでは、#includeの意味、文字列の判断の方法(=” “で囲まれている範囲)と、文字列と数値は別の媒体であることを覚えていただければ問題ありません。