C/C++教程

C语言——初识操作符

本文主要是介绍C语言——初识操作符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

// 初识操作符

// 算术操作符  
// +  -  *  /  %
// 9/2 = 4 ,而不是4.5,/ 只能取商,如果想要得到4.5。如下。
// % 取模,也叫取余,9%2 = 1
#include<stdio.h>
int main()
{
    float a = 9 / 2.0;//(按小数的算法算);
    printf("%f", a);
}

// 移位操作符  
// <<(左移操作符)>> (右移操作符);
// 左移操作符--移动的是二进制位(右移也是一样的)

// 位操作符
//&(按位与)|(按位或)  ^(按位异或)

// 赋值操作符
// =  +=  -=  *=  /=  &= ^=  |=  >>=  <<=
// a = a+2 ---- a+=2
// a = a-2 等于 a -=2
// a = a*2 等于 a*=2
// 其他赋值操作符与此方法相同


// 单目操作符
// 如a+b,加号有两个操作数,使用叫做双目操作符,同理,单目操作符就是只有一个操作数

// !   逻辑反操作,在C语言中,0表示假,非0表示真,如:a = 10; !a就是0,如果a = 0; !a就是1,(默认1)
int main()
{
    int a;
    if (a)
        printf("1");// 如果a 为真就打印1
    if (!a)
        printf("0");// 如果 a为假就打印 0
    return 0;
}

// -   负值
// +   正值
// &   取地址
// sizeof   操作数的类型长度(以!字节!为单位)

// ~   对一个数的二进制按位取反,把所有二进制位中的数字,1变成0,0变成1
int main()
{
    int a = 0;
    printf("%d\n", ~a);// 结果为-1
    return 0;
}
// a我们给的是一个整形,一个整形4个字节,一个字节8个比特位,就是32bit,~a就是32位1,整形在内存中储存的是补码,且,一个整数的二进制表示有三种,原码,反码和补码
// -1:
// 10000000000000000000000000000001(原码) 最高位为1,表示负数
// 11111111111111111111111111111110(反码)原码到反码,符号位不变,其他位按位取反,反码加一得到补码
// 11111111111111111111111111111111(补码)这些 原码,反码和补码主要是针对负数的,因为正整数的原码反码和补码相同

// --   前置,后置--
// ++   前置,后置++
int main()
{
    int a = 10;
    int b = ++a;
    int c = 10;
    int d = c++;
    printf("%d\n", a);
    printf("%d\n", b);
    printf("%d\n", c);
    printf("%d\n", d);
    // 前置++ ,先++,后使用,所以a,b结果就是两个11,后置++,先使用后++,所以c,d就是11,10,就是先把c的值赋予d,再++,所以d打印就是10,c打印就是11
    return 0;
}

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

// (类型)   强制类型转换
int main()
{
    int a = 3.14;// 3.14是double类型,如果使用int会有警告,提示可能会丢失精度,如果想强制类型转换,可以在3.14前面加一个(int)
    int a = (int)3.14;// 强制类型转换
    return 0;
}

// 关系操作符
// >  大于
// >=  大于等于
// <   小于
// <=  小于等于
// !=  不等于    用于测试“不等于"
// ==   等于   用于测试“相等”

// 逻辑操作符
// &&  逻辑与
// 比如  a = 3 ,b = 5 ,则a && b就为真,二者其中一个为假(为0),结果就为假
// ||  逻辑或
// 比如  a = 3 ,b = 0 ,则a || b 就为真,二者其中一个为真就为真,两个假结果才为假。

// 条件操作符(三目操作符)
// exp1   ?   exp2   :    exp3
// exp1(express)表达式若为真,成立,则计算exp2,整个表达式的结构是:exp2的结果
// exp1(express)表达式若为假,不成立,则计算exp3,整个表达式的结构是:exp3的结果
// 如:求出a,b中的最大值
int main()
{
    int a = 3;
    int b = 0;
    int max = 0;
    max = a > b ? a : b;
    printf("%d\n", max);
    return 0;
}
// 逗号表达式
// exp1,exp2,exp3,....expN
int main()
{
    int a = 2;
    int b = 3;
    int c = 5;
    int d = (a = b + 2, c = a - 10, b = c + 2);
    printf("%d\n", d);
    return 0;
}
// 下标引用,函数调用和结构成员
//  []  ()  .  ->
int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
    printf("%d\n", arr[5]);//在这里,中括号就是起到了下标引用的作用,叫做下标引用操作符、
    // 调用函数时,函数名后面的()就是函数调用操作符,
    return 0;
}

这篇关于C语言——初识操作符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!