初识操作符10

操作符

  1. 算数操作符:+ - * / %

    float a = 9/2.0;printf("%f\n", a);  //计算9除以2得4.5
    
    int a = 9%2;
    printf("%d\n", a);  // %-取余数得1 
  2. 位移操作符:>>    <<

    int main
    {
      int a = 2;
      int b = a << 1; //左移操作符--移动的是二进制位
      printf("%d\n", b);
      return 0;
    }

     3.位操作符:&(按位与)|(按位或)^(按位异或)

     4.赋值操作符:=  +=  -=  /=  &=  ^=  |=  >>=  <<=

a = a+5;// a+= 5;
a = a-3;// a-= 3;
a = a%3;// a%= 3;

     5.单目操作符:!(逻辑反操作)-(负值)+(正值)&(取地址)sizeof(操作数得类型长度)~(第一个数得二进制按位取反)--(前置 后置--)++(前置 后置++)*(间接访问操作符) (类型)-强制转换类型

a+b +有两个操作数,双目操作符             单目操作符:只有一个操作数

!使用:(逻辑反操作)
int a = 0;//c语言中,0表示假,非0就是真
printf(“%d\n”, !a);//把假变真
 
int a = 10;
printf(“%d\n”,!a);//把真变假

if(a)
{
     //如果a为真,做事
}
if(!a)
{
     //如果a为假,做事
}
sizeof的使用:
int main()
{
  int a =10;//sizeof是一个操作符,不是函数
  printf("%d\n", sizeof(int));//计算类型或变量的大小
  printf("%d\n", sizeof(a));//打印出int和a的大小一样
  return 0;
}

int main()
{
  int arr[10] = {0};           //10*4=40
  printf("%d\n", sizeof(arr));//计算数组的总大小40字节,10个元素,每个元素是一个int,一个int4字节
  printf("%d\n", sizeof(arr[0]));//计算第一个元素大小是4字节
  int sz = sizeof(arr) / sizeof(arr[0]);//计算数组元素个数,总大小除以一个元素大小
  printf("%d\n", sz);//10个
  return 0;
}
~的使用:按(二进制)位取反,把所有二进制位中的数字,1变0,0变1
#include <stdio.h>
int main()
{
  int a = 0;
  printf("%d\n", ~a);//~按位取反
  return 0;
}

++(前置 后置++)的使用
int main()
{
  int a = 10;
  int b = ++a;//前置++,先++,再使用
  printf("%d\n",b);//结果11
  printf("%d\n",a);//结果11
  return 0;
}
int main()
{
  int a = 10;
  int b = a++;//后置++,先使用,再++(a=a+1)
  printf("%d\n",b);//结果10
  printf("%d\n",a);//结果11
  return 0;
}

      6.关系操作符:>  >=  <  <=  !=(不相等)  ==(相等) 

      7.逻辑操作符:&&(逻辑与) | |(逻辑或)

&&使用:且的意思
int main
{
  int a =3;
  int b =5;
  int c = a && b;
  printf("%d\n", c);//结果为1,为真
  return 0;
}

     8.条件操作符(三目操作符):exp1 ?  exp2 :  exp3

exp1成立,exp2计算,整个表达式的结构是:exp2的结果

 exp1不成立,exp3计算,整个表达式的结构是:exp3的结果

eg:
int main()                                                                                      
{
  int a = 0;
  int b = 3;
  int max = 0;
  if (a>b)
     max = a;      写成条件操作符:max = a > b ? a : b; //如果a>b,得a,否则得b
  else
     max = b;
  return 0;
}

     9.逗号表达式:exp1,exp2,exp3,...expN

#include <stdio.h>
int main()
{
       int a = 0;
       int b = 3;
       int c = 5;//a=5        c=1      b=3
       int d = (a = b + 2, c = a - 4, b = c + 2);//逗号表达式,是从左往右依次计算,整个表达式的结果是最后一个表达式的结果
       printf("%d\n", d);//结果为3
       return 0;
}

     10.下标引用,函数调用和结构成员:[]   ()   .   ->

     11.赋值运算符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值