ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C语言——初识操作符

2021-11-17 00:02:39  阅读:131  来源: 互联网

标签:return int C语言 ++ 初识 操作符 printf main


// 初识操作符

// 算术操作符  
// +  -  *  /  %
// 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;
}

标签:return,int,C语言,++,初识,操作符,printf,main
来源: https://blog.csdn.net/Mr_gaojiabin/article/details/121368282

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有