C语言入门5

这篇博客详细介绍了C语言中的操作符与关键字,包括算数操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式以及下标引用、函数调用和结构成员。同时,文章深入讲解了`static`关键字的三种用途:修饰局部变量、全局变量和函数。
摘要由CSDN通过智能技术生成

操作符与关键字


操作符

算数操作符

 + - * / %
  • 这里要注意假设9/2,结果不会是4.5,无论打印的类型是float还是int,结果都是4,原因在于如果/两边的数字都是整数,那它执行的就是一个整数除法,结果永远是整数。也就是商。但是如果我想得到4.5,可以给9或2加上一个小数点,比如说9/2.0
  • 还有这个操作符%,读作“取模(余)”。9 % 2 的结果是9除以2的结果的余数。9%2的结果会是1。

移位操作符

<< >>

这个概念有点抽象,左边的那个叫左移动操作符,右边那个叫右移动操作符。比如说有以下的这个程序。

int main()
{
   
    int a = 2;
    int b = a << 1;
    printf("%d\n",b);


    return 0;
}

这个所谓的a向左移位一格,意思就是a所代表的那个数字的二进制序列向左移位一格。a代表的数字是2,而2 的二进制序列是00000000000000000000000000000010。至于这个二进制序列是怎么得出来的,我也不知道,不用深究。而给这个二进制序列移位,就是把它整体向左平移一格,那也就是说最左边的那个数字会被丢掉且右边会空出来一格数字,空出来的那个位置用0来代替。这个时候它就变变成了另外一格二进制序列 00000000000000000000000000000100。这个二进制序列所代表的数字是4。所以这个程序运行的结果会是4。

位操作符

  & ^ |

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

赋值操作符

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

解释一下

int main()
{
   
    int a = 2
    a = a + 5
    a += 5
    //这两个是一个意思
    //以此类推的话
    a = a%5 
    a %= 5 
    //这两个也是一个意思
    ....

    return 0;
}

单目操作符

有以下类型

int main()
{
   //逻辑反操作
    - // 负值
    + //正值
    & //取地址
    sizeof //操作数的类型长度
    ~ // 对一个数的二进制按位取反
    -- // 前置、后置--
    ++ // 前置、后置++
    * // 间接访问操作符(解引用操作符)
    (类型)//强制类型转换

    return 0;
}

什么叫单目操作符?意思是只有一个操作数的操作符。什么是操作数?,比方说a + b,这里面+ 十个算数操作符,它涉及到两个数字:a 和 b。涉及到两个数的就叫双目操作符,涉及到一个数字的就叫单目操作符。

!的作用是逻辑取反,以下是解释

int main()
{
   
    //c语言规定0表示假,非0就是真。
    int a = 10;
    printf("%d\n",!a);
    //感叹号a的作用就是吧真变假,把假变真
    //所以这个打印的结果便会是0.
    //那如果a=0呢?
    int b = 0;
    printf("%d\n",!b);
    //我们规定,当把假变成真的时候,结果就是1.

    return 0;
}

但实际上,!的作用体现在其他地方:

int main()
{
   
    if (a)
    {
   
        //如果a为真,做事
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值