目次
1. アレイ
1. 定義: 同じ種類の要素のグループの組み合わせ
表示方法:
int arr[10]={0,1,2,3,4,5,6,7,8,9};
arr: 配列名 10: 配列の要素数 {格納データ}
まず、テンプレートを指定します。 int arr[要素数]={要素データ};
配列は次のように定義することもできます。
char arr[10]//定义一个字符数组,用来存放字符元素(未初始化)
double arr[]={0,1,2,3,4,5};//定义一个浮点数师数组,元素个数可以不写,会根据存放的数据个数自己生成
int a[10]={0};//初始化一般赋值0,若初始化的数据个数不够元素个数,则后面元素数据自动补0
3 番目は、次のような不完全な初期化と呼ばれます。
int a[4]={1,2};//这个数组可以存放四个数据元素,但只给它赋值了1,2;则剩下的自动赋值为0
2. 配列の添字
配列の各要素には添字があり、添字は 0 から始まります。
int a[4]={1,3,4,6};
整数配列[4] | 1 | 3 | 4 | 6 |
添字 | 0 | 1 | 2 | 3 |
3. 配列の使用
たとえば、配列内の 3 つの要素を出力したい場合は、添え字 1 を見つける必要があります。
printf("%d",arr[1]);
配列全体を出力する必要がある場合は、ループを使用する必要があります。
int i=0;
while(i<4)
{
printf("%d ",arr[i]);
i++;
}
2、オペレーター
1. 算術演算子
+(加算) -(減算) *(乗算) /(除算) %(剰余)
printf("%d",3+5);//打印结果为8
printf("%d",5-3);//打印结果为2
printf("%d",3*5);//结果为15
printf("%d",3/5);//打印结果为0
printf("%d",5/3);//结果为1
printf("%lf",5.0/3);//结果为1.6666
printf("%d",5%3);//结果为2
除算記号 /:両辺が整数の場合、結果は割り切れます。両側の少なくとも一方が小数で書かれている場合、結果は小数部まで計算されます。
Remainder (modulus)%:剰余の計算に使用されます。
2. シフト演算子
>> <<
知る必要はない
3. ビット演算子
&^ |
知る必要はない
4. 代入演算子
= += -= *= /= &= ^= |= >>= <<=
5. 単項演算子
!- + & sizeof ~ -- ++ * (型)
1) ! 論理逆演算
たとえば、a!=5 は、a が 5 に等しくないことを意味し、その逆を意味します。
2) - 負の値
int a=-1;
printf("%d\n",-a);//结果为1
3) + 正の値は 一般にほとんど効果がなく、負の数を正の数に変えることはできません
int a=-1;
printf("%d\n",a);//结果为-1
printf("%d\n",+a);//结果为-1
4)アドレスを取得します
(後述)
5) sizeof のオペランドの型の長さ (バイト単位)
(後で)
6) ~ 数値の 2 進数をビットごとに反転します
(後で)
7) -- 前位置、後位置 -- それ自体に減算演算を実装します。
int a=5;
//后置--
printf("%d\n",a--);//先打印a,所以打印结果为5,再让a-1,所以此时a变为4
//前置--
printf("%d\n",--a);//先a-1,所以此时a为4,再打印a,打印结果为4
8) ++ pre、post ++ ++ は、それ自体に減算演算を実装します。
int a=5;
//后置++
printf("%d\n",a++);//先打印a,所以打印结果为5,再对a+1,所以此时a变为6
//前置++
printf("%d\n",++a);//先a+1,所以此时a为6,再打印a,打印结果为6
9) * 間接アクセス演算子
(後述)
10) (type) 必須の型変換
int a=(int)3.14//将3.14强制转换为整形3
日付は変換できません
6. 関係演算子
> >= < <= != ==1)>
1)> より大きい符号
2)>= 以上
3) <= 以下
4) != は不等号をテストするために使用されます
5) == は等しいかどうかをテストするために使用されます
7. 論理演算子
&& ||
1) && 論理積 (and)
a&&b が true であるためには、a と b の両方が true である必要があります
2) || 論理和 (または)
a||b は a または b の 1 つだけが true である必要があり、その場合、a||b は true になります
目的: この a<=x<=b のような条件判断ではなく、|| のみに使用されます。
8. 条件演算子(三項演算子)
exp1?exp2:exp3
解析: exp1 が true の場合は exp2 を実行し、false の場合は exp3 を実行します。
int a=3;
int b=5;
int max=a>b?a:b;//如果a>b,则最大值为a,否则为b
9. カンマ式
exp1、xep2、exp3、....expn
特徴: 左から右に順番に計算され、結果は式全体の値になります。
int a=3;
int b=4;
int c=1;
int d=(a=2+c,b=a-1,c=a+b);
//先计算a=2+c,此时a=3,再计算b=a-1,此时b=2,再计算c=a+b,所以此时c=5,所以d=5.
10. 添字参照、関数呼び出し、構造体メンバー
[] () 。->