### 整数定数
数値や文字列を直接表現したものを定数(リテラル)と言う。
– 整数定数
L 8進定数 0~8
L 10進定数 0~9
L 16進定数 0〜9, A~F ex.0x1a, 0XAB03
L unsigned型定数 uまたはU ex.12800U
L long型定数 lまたはL ex.0L
### 浮動小数点型定数
小数点形式と指数形式がある。デフォルトはdoubleで、接尾語を付けることでfloat型やlong double型になる。
– 整数定数
L 小数点形式 double型 12.345
L 指数形式 eまたはE 3.456E2(=345.6), 6.78e-3(=0.00678)
L float型 fまたはFを末尾に付ける 12.34F
L long, double型 lまたはLを付ける 100.23L 5.67e-21
int main(void){
int n8, n10, n16;
double f1, f2;
n8 = 0100;
n10 = 100;
n16 = 0x100;
f1 = 1.234;
f2 = 5.678e2;
printf("n8=%d\n", n8);
printf("n10=%d\n", n10);
printf("n16=%d\n", n16);
printf("f1=%f\n", f1);
printf("f2=%f\n", f2);
return 0;
}
### 文字定数と文字列リテラル
文字定数はそれぞれの文字が持っている文字コードを表現するもの
int c;
c = ‘A’;
c = 65 ….Aに対応する文字コード
二重引用符合で囲ったものを文字列リテラルと言う
“ABCDEF”
“C language”
### その他の定数機能
¥a : alert
¥b : back space
¥f : form feed(改ページ)
¥n : new line
¥r : carriage return(復帰)
¥t : horizontal tab(水平タブ)
¥v : vertical tab(垂直タブ)
¥’ : 文字定数対策
¥” : 文字列定数対策
¥? : 三連文字対策
¥ooo : 8進数 octal
¥xhh : 16進数 hexadecimal
単一文字コードで用いる時は’¥n’と囲むが、文字列リテラルに埋め込む時は、”AAAA¥tBBBB¥n”とそのまま書く
”’ … エラー
‘¥” … 正常
### 記号定数
任意のデータを意味ある名前で扱うようにするための記号定数
e.g.
#define MAXDATA 3715
### const付定数
宣言の時に値を設定し、それ以降は値の変更ができない
e.g.
const int a = 10;
8進数が2進数の3乗で、電子回路の処理上、都合がいいのはわかるが、8進数をプログラム処理場で使うイメージがわかないな。