Project_OKI’s diary

エンジニアの勉強ブログ

組み込みの為のC言語基礎知識1(printf)

​​​​

C言語:printfとは

1.目的

  • printfを使用し、Hellow worodを出力する。
  • printfを使用し、変数を出力する。

 

2.実行環境

・下記url先のブラウザ上でC言語を実行することができる環境を使用して、C言語の動作確認を行う。

・今後C言語の動作確認する際には、ここのサイトを使用する。

paiza.io

3.printfでHellow world出力

//ヘッダファイルのインクルード
#include <stdio.h>
//メイン関数の実行
int main(void){
    // Your code here!
    //Hellow worldを出力する。
    printf("Hellow world");
}

実行結果:https://paiza.io/projects/XAW2_YGud4d70_td4cXh5w

 

4.プログラム説明

 (1)#include <stdio.h>

  #includeは、別のファイルに用意されている関数を使用するのに必要。

  今回は、prntfという関数を使用するのに、「stdio.h」というファイルを呼び出している。

  #includeでファイルを呼び出すことをインクルード

  stdio.hなどのように、.hが付くものをヘッダという。

  ヘッダは色々な種類がある。

 

  実装したい機能によって、ファイルの種類が変わる。

  C言語で既に用意されているヘッダを標準ヘッダという。

  自分で、.hファイルを作成することもある。

  使い方: #include <使用するヘッダ名.h>

 

 (2)int main(void){ }

  ・この{}の中の処理が実行される。

 

 (3)printf("Hellow world");

  printf:出力するための関数

     これを使用して、文字列を使用する。

     出力する文字列は「" "」で囲む。

     区切りとして、「;」を付ける。

  使い方:printf("出力したい文字列");

 

5.printfで数字を出力

int main(void){
    // Your code here!
    //変数の宣言
    int a;
    //aに10を代入
    a = 10;
    //aの値を出力する。
    printf("a=%d",a);
}

実行結果:https://paiza.io/projects/mE_vBLvjlNzrA0y9GXXYJA?language=c

 

6.プログラムの説明

 (1)int

  変数を宣言するためのデータ型

  intは、整数を入力するために使用する。

  -2147483648 ~ 2147483647の値を使用することができる。

  これを超えるとエラーになる。

  使用する数値によって、このデータ型は異なる。

  使い方:int 変数名;

  今回は変数名がaとなっている。

 

 (2) a = 10;

  aに10を代入している。

 

 (3) printf("a=%d",a);

  %d:フォーマット指定子で10進数を出力するために使用する。

  使い方:printf("文字列%d",変数名);

 

 (4)\n

  ここでは、使用していないが、エスケープシーケンスというものがある。

  \nは改行を入れるのに使用する。

  これを使用しないと、横に羅列される。

  書き方:printf("a=%d\n",a);

 

7.その他

  主なヘッダ一覧:

ヘッダ 名称 内容
assert.h 診断機能 実行時診断を行うassertマクロを定義する。
complex.h 複素数計算 複素数計算をサポートする。C99より追加。
ctype.h 文字操作 文字分類、文字変換に有用な関数。
errno.h エラー ライブラリ関数内エラーの報告。
fenv.h 浮動小数点環境 浮動小数点環境へのアクセス手段を提供する。C99より追加。
float.h 浮動小数点型の特性 浮動小数点型の大きさや特性を表す
inttypes.h 整数型の書式変換 最大幅の整数を操作する。C99より追加。
iso646.h 代替つづり 演算子の代替つづり。C95より追加。
limits.h 整数型の大きさ 整数型の大きさを表す
locale.h 文化圏固有操作 文化圏固有のデータ等の操作を行う
math.h 数学 数学的な演算を行う
setjmp.h 非局所分岐 関数の枠組みを越えた分岐を制御する
signal.h シグナル操作 種々のシグナルを操作する
stdarg.h 可変個数の実引数 可変個の実引数を実現
stdbool.h 論理型及び論理値 論理型及び論理値関連。C99より追加。
stddef.h 共通の定義 処理系に依存する型、マクロを定義する。
stdint.h 整数型 指定幅を持つ整数型を宣言。C99より追加。
stdio.h 入出力 入出力関連
stdlib.h 一般ユーティリティ 一般ユーティリティ
string.h 文字列操作 文字列の操作。
tgmath.h 型総称数学関数 数学関数の型総称マクロを定義する。
time.h 日付及び時間 時間を扱う
wchar.h 多バイト文字及びワイド文字拡張ユーティリティ

多バイト文字、ワイド文字を使う。C95より追加。

wctype.h ワイド文字種分類及びワイド文字大文字小文字変換ユーティリティ

ワイド文字種の分類や大文字小文字変換にする。C95より追加。

 

  主なデータ型:

 

種類 データ型 データ型の名称 バイト長 値の範囲
型なし void void型
文字列 (unsigned) char (符号なし)文字型 1 0~255
  signed char 符号付き文字型 1 -128~127
整数型 unsigned short int 符号なし短整数型 2 0~65535
  (signed) short int (符号付き)短整数型 2 -32768~32767
  unsigned int 符号なし整数型 4 0~4294967295
  (signed) int (符号付き)整数型 4 -2147483648~2147483647
  unsigned long int 符号なし長整数型 4 0~4294967295
  (signed) long int (符号付き)長整数型 4 -2147483648~2147483647
  unsigned long long int 符号なし長長整数型 8 0~18446744073709551615
  (signed) long long int (符号付き)長長整数型 8 -9223372036854775808~9223372036854775807
浮動小数点型 float 単精度浮動小数点型 4 最小の正の数:1.175494e-38
  最大値:3.402823e+38
  double 倍精度浮動小数点型 8 最小の正の数:2.225074e-308 
  最大値:1.797693e+308

 

  主なフォーマット指定子

指定子 対応する型 説明
%c char 1文字を出力する
%s char * 文字列を出力する
%d int, short 整数を10進で出力する
%u unsigned int, unsigned short 符号なし整数を10進で出力する
%o int, short, 整数を8進で出力する
  unsigned int, unsigned short
%x int, short, 整数を16進で出力する
  unsigned int, unsigned short
%f float 実数を出力する
%e float 実数を指数表示で出力する
%g float 実数を最適な形式で出力する
%ld long 倍精度整数を10進で出力する
%lu unsigned long 符号なし倍精度整数を10進で出力する
%lo long, unsigned long 倍精度整数を8進で出力する
%lx long, unsigned long 倍精度整数を16進で出力する
%lf double 倍精度実数を出力する

 

  主なエスケープシーケンス

¥a 警報音
¥b バックスペース
¥n 復帰改行
¥r 復帰
¥f 改ページ
¥t 水平タブ
¥v 垂直タブ
¥¥ 文字としての¥
¥? 文字としての?
¥' シングルクォーテーション(')
¥" ダブルクォーテーション(")
¥0 Null(ヌル)
¥ooo 8進数の文字コードを持つ文字
¥xhh 16進数の文字コードを持つ文字

 

参考:

標準ヘッダ:C言語の標準ヘッダ一覧

データ型:【C言語入門】型と変数の一覧

フォーマット指定子:DOSプロンプト

エスケープシーケンス:特殊文字(エスケープシーケンス) - 文字と数値 - C言語 入門