C语言基本操作符

1.算术操作符

    +、-、*、/ —— 用于整数和浮点数

    % —— 两个操作数都必须是整数

2.移位操作符

    2.1 左移操作符

            (1)左边丢弃,右边补0;(2)原来的值不会被改变;(3)移n位,相当于乘以2的n次方;

              

    2.2 右移操作符

            (1)算术右移:右边丢弃,左边补齐符号位;

                

            (2)逻辑右移:右边丢弃,左边补0;

3.位操作符 &,|,^

    3.1 & 同是1时为1,一个为0则为0;

    3.2 | : 有一个为1则为1,其余为0;

    3.3 ^ :相同为0,相异为1;

            a^a = 0; a^0 = a;

4.赋值操作符 =

int a = 4;   //初始化
a = 10;		//赋值

5.复合赋值操作符 +=,-=,*=,/=, %=, >>=, <<=, &=, |=, ^= 

int a = 0;
a = a + 10;
a += 10;

6.单目操作符 !, -, +, &, sizeof, ~(按位取反), --, ++, *(解引用操作), 强制类型转换
    6.1 !:表示真假 

int main()
{
	int flag = 10;
	printf("%d\n", !flag);
	system("pause");
	return 0;
}

    6.2 & :取址操作符
        

int main()
{
	int a = 10;
	printf("%p\n", &a);

	int arr[10] = { 0 };
	printf("%p\n", arr);   //首地址
	printf("%p\n", arr+1);   //数组第二个地址,和arr相差4个字节
	printf("%p\n", &arr);		//整个数组的地址
	printf("%p\n", &arr+1);		//下一个数组开始的地址

	system("pause");
	return 0;
}

    6.4 sizeof(不是函数,是操作符)       

int main()
{
	int a = 10;
	printf("%d\n", sizeof(a));    //4
	printf("%d\n", sizeof(int));	//4

	int arr[10] = { 0 };
	printf("%d\n", sizeof(arr));	//40
	printf("%d\n", sizeof(int [10]));   //40
	system("pause");
	return 0;
}






猜你喜欢

转载自blog.csdn.net/mi_zhi_lu/article/details/80723516