language4

操作符

算术操作符

+- * / %

%表示取模,即取余,如int a=9%2,输出为1

移位操作符

移动的是2进制位

右移>> 左移<<

位操作符

按位与& 按位或^ 按位异或|

赋值操作符

= += -= *= /= &= ^= |= >>= <<=

a-=3意思是a=a-3

单目操作符

a+b中+称作双目操作符,因为有2个操作数

所以单目就是1个操作数

!逻辑反操作(把真变假,把假变真)

-负值

+正值

&取地址

sizeof操作数的类型长度(单位为字节)

~对一个数的2进制按位取反

--前置、后置--

++前置、后置++

*间接访问操作符(解引用操作符)

(类型)强制类型转换

关系操作符

>= > < <= !=用于测试不等于 ==用于测试等于

逻辑操作符

||逻辑或

&&逻辑与,如 if(a&&b) 需要ab都为真,结果才为真

条件操作符

exp1 ? exp2 : exp3

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

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

逗号表达式

exp1 , exp2 , exp3 ,...expn

从左向右依次计算,表达结果是最后一个算式的结果

下标引用、函数调用、结构成员

[ ] ( ) . ->

工程

操作符

移位操作符

<<1左移操作符,2进制数向左移动一位,如000010变000100,即2变4

#include<stdio.h>
int main()
{
    int a=2;
    int b=a<<1;
    printf("%d\n",b);
    return 0;
}
赋值操作符
#include<stdio.h>
int main()
{
    int a=2;
    a-=2;
    printf("%d\n",a);
    return 0;
}
单目操作符
!例子

0表示假,非0表示真

#include<stdio.h>
int main()
{
    int a=10;
    printf("%d\n",!a);
    return 0;
}//输出0,因为!把真变假

输入假,!会转为真,非0都为真,规定输出1为真

#include<stdio.h>
int main()
{
    int a=0;
    printf("%d\n",!a);
    return 0;
}//输出1,因为!把假变真
sizeof例子

输出结果为40,因为10个数,每个数4个字节

#include<stdio.h>
int main()
{
    int arr[10]={0};
    printf("%d\n",sizeof(arr));
    return 0;
}

输出结果为4,因为1个数,每个数4个字节

#include<stdio.h>
int main()
{
    int arr[10]={0};
    printf("%d\n",sizeof(arr【0】));
    return 0;
}

输出10

#include<stdio.h>
int main()
{
    int arr[10]={0};
    int sz=sizeof(arr)/sizeof(arr[0]);
    printf("%d\n",sz);
    return 0;
}
前置

最后输出11 11

有前置时,先++后使用

#include<stdio.h>
int main()
{
    int a=10;
    int b=++a;
    printf("%d\n",b);
    printf("%d\n",a);
    return 0;
}

输出结果10 11

有后置时,先使用后++

#include<stdio.h>
int main()
{
    int a=10;
    int b=a++;
    printf("%d\n",b);
    printf("%d\n",a);
    return 0;
}
逻辑操作符

&&逻辑与,如 if(a&&b) 需要ab都为真,结果才为真

#include<stdio.h>
int main()
{
    int a=10;
    int b=6;
    int c=a&&b;
    printf("%d\n",c);
    return 0;
}

||逻辑或,如 if(a||b) 需要ab都为假,结果才为假

#include<stdio.h>
int main()
{
    int a=0;
    int b=1;
    int c=a||b;
    printf("%d\n",c);
    return 0;
}
条件操作符

之前的条件语句知识来写

#include<stdio.h>
int main()
{
    int a=7;
    int b=1;
    int max=0;
    if(a>b)
    max=a;
    else
    max=b;
    printf("%d\n",max);
    return 0;
}

使用条件操作符来写

#include<stdio.h>
int main()
{
    int a=7;
    int b=1;
    int max=0;
    max=a>b?a:b;
    printf("%d\n",max);
    return 0;
}
逗号表达式
#include<stdio.h>
int main()
{
    int a=0;
    int b=3;
    int c=5;
    int d=(a=b+2,c=a-4,b=c+2);
    printf("%d\n",d);
    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值