データ型、定数、変数、および演算子

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;
}

おすすめ

転載: blog.csdn.net/qq_52049228/article/details/129460041