1. データ型
signed: 正数と負数を含む符号付きの数値にアクセスできます
unsigned: 符号なしの数値、正の数値のみにアクセスできます
1byte=8bit
正数の元の逆補数は同じで、負数の逆数は元のコードの符号ビットに等しく、他のビットは順番に逆になります。補数は逆数に 1 を加えたものに等しく、0 は正です。 1 はマイナス
2、定数
8 進数は 0 で始まります。例: 06434 3 桁
0Xd1c 4 桁など、0X で始まる 16 進数
- 1.176e+10 は 1.176*10 の 10 乗を意味します -
- -3.5789e-8 は -3.5789*10 の負の 8 乗を意味します
-通常、特に大きいまたは小さい数を意味します。書く必要はありません
ASCII コードの大文字と小文字の違いは 32、文字 0 と数字の 0 の違いは 48 です。
'A'+ ' ' = 'a' ' ' は 32 を意味します
0='0'-48
ID 定数 #define PI 3.1415926
マクロはそのまま展開するだけで、計算はしません。エラーを避けるために括弧を追加できます
3.変数
変数名は文字、数字、およびアンダースコアで構成され、数字で始めることはできず、C キーワードと同じ名前を持つことはできません
メモリ空間における変数の最初のアドレスは、変数のアドレスと呼ばれます。
レジスタ変数がアドレスを取得できません
静的変数のデフォルト値は 0 です
4番目、オペレーター
float/double は剰余を取ることができません
論理積''&&'' : 0ごとに切り捨て、以降は実行しない
論理 OR''||'': 1 ごとに切り捨て、以下は実行されません
〜 |
ビット論理反転 |
~a |
& |
ビット論理積 |
a&b |
| | |
ビットOR |
a|b |
^ |
ビット論理 XOR |
a^b (異なる場合は真) |
>> |
右シフト |
あ>>1() |
<< |
左方移動 |
b<<4(左にシフトして右に0を詰めて2倍する関係) |
#include <stdio.h>
voin main(int argc,char *argv[]){
unsigned char x=0x17,y;
y=~x;
printf("%#x\n",y);
return 0;
}
上記の x は 16 進数を表し、# は出力結果を 0x で表します
カンマ演算子は括弧内で順番に動作し、最後のものが取られます
sizeof (型または変数名): メモリが占有するスペースを計算するために使用されます
#include <stdio.h>
voin main(int argc,char *argv[]){
int a=5;
long b=6;
printf("%d %d %d\n",sizeof(a),sizeof(b));
printf("%d %d %d\n",sizeof(int),sizeof(long));
return 0;
}