首页 > 其他分享 >C语言入门零基础:6、运算符

C语言入门零基础:6、运算符

时间:2024-08-09 20:59:44浏览次数:19  
标签:10 3456 入门 ++ C语言 运算符 int 表达式

一、运算符分类:

        1、赋值运算符 : = 

        2、算术运算符: + - * / %(取余 取模)

        3、关系运算符: >  >=  <  <=  == !=

        4、逻辑运算符: &&  || !

        5、其他运算符: ++ -- ?:   复合   +=  -= 

        6、位运算符 :  & | ^ ~ <<  >>

二、赋值运算符 

        格式: 变量名(内存空间) =  表达式(可以是常量,也可以是变量,也可以是一个式子)

        注意:原则上来说赋值运算符左右两侧 类型要一致,如果不一样会发生自动转换,如果转不了会报警告和报错。

        如果需要转换类型,可以使用强转。

        强转格式: (类型)变量名;

例:

        int a=10;

        char* b = (char*)a;        //将a的值转成char*类型传给b空间

三、算术运算符

        1、/(除):
                如果两边都是整数结果是整数
                如果有一个数小数结果就是小数
        例:
                10 / 3 == 3        
                10.0 / 3 == 3.333
        
        x,y是double类型,x=1,y=x+3/2=2.0.
        
        2、 %(取余数):
        
        注意:两边必须都要是整数

        m % n  的最大值为  n - 1,最小值为0。

        用法:1、%可以用于整除问题。

                   2、%可以用于数据分离。

十进制数据的分离:
                3456   分离出它的个位 十位  百位  千位
                
                思路1:从原数据中将想要获取的数字放在最高位
                    千位: 3456 / 1000 % 10  == 3
                    百位: 3456 % 1000  / 100 == 4
                    十位:3456 % 100 / 10 == 5
                    个位:3456 % 10 == 6
                    
                思路2:从原数据中将想要获取的数字放在个位上
                    个位:3456 % 10
                    十位:3456 / 10 % 10 == 5
                    百位:3456 / 100 %10== 4
                    千位:3456 / 1000 % 10 == 3

四、关系运算符

        在C语言中分为关系成立或者不成立,成立就为真,输出值为1    不成立那就是假 ,输出值为 0
    
        3 > 5 不成立 ,表达式的结果是0
        例:

        int res = 3 > 5;  // res -- 0

        int c = 5;

        c == 5 结果是1

        c = 10;  // 赋值

        整除问题:
                 m能被n整除表达式:     m % n == 0
                 m不能被n整除表达式: m % n != 0

五、逻辑运算符

        1、&&: 逻辑与
                格式: 表达式1  &&  表达式2
                规则:全真为真,有假则假
        
                表达式1    表达式2      表达式1  &&  表达式2
                  真             真                            真
                  真             假                            假
                  假        ---------                          假

注意:当表达式1为假时,不判断表达式2的真假,直接输出0

        2、||:逻辑或
                格式:表达式1 || 表达式2 
                规则:有真则真,全假为假
        
                表达式1  表达式2        表达式1 || 表达式2 
                   真          -------                       真
                   假           真                           真
                   假           假                           假

注意:当表达式1为真时,不判断表达式2的真假,直接输出1

        3、!: 逻辑非

                格式: !表达式

                规则:  真变假 假变真

                表达式            !表达式 
                   真                      假
                   假                      真

六、其他运算符

        1、++: 自增1
              -- : 自减1
        
                单独语句使用:++在前和++在后没有区别

例:
                        int a = 5;
                        int b = 5;
                        a++;   // a = a + 1;      // a = 6
                        ++b;   // b = b + 1;   // b = 6
                        printf("%d %d",a,b);  // 6,6            
            
                作为计算表达式的一部分:++在前先加后用,  ++ 在后先用后加

例:
                        int a = 5;
                        int b = 5;
                        int c = a++;  // 先用a当前的值作为(a++)表达式的结果,结果是5, c=5;
                        int d = ++b;  // b = b + 1 = 6    (++b)表达式的结果是6  d = 6;

                        printf("%d %d\r\n",c,d); // 5 6
                        printf("%d %d\r\n",a,b); // 6 6

        2、?:(三目运算符)

                格式:
                        表达式1 ? 表达式2 : 表达式3
                规则:
                        先计算表达式1的结果,如果为真,三目运算符的结果就是 表达式2的结果
                                                              如果为假,三目运算符的结果就是 表达式3的结果

        3、复合运算符:

                         格式:
                                算术+赋值
                                位运算+赋值

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

应用:

                        int  a = 3;
        
                        a += 2;                  // a = a + 2;
        
                        如果实现一个变量自增1操作:a = a + 1;   a++;   ++a;   a+=1;    

        4、逗号运算符:

             逗号运算符的规则:从左往右计算,最有一个表达式的结果作为,运算符的结果。

七、位运算符

        1、&:按位与
                格式:数据1 & 数据2
                规则:全1为1,有0则0

        2、|:按位或
                格式: 数据1 | 数据2
                规则:有1则1,全0为0

        3、<<:按位左移
        
                格式: 数据 << 移动的位数
                规则:
                         数据整体左移,低位补0,高位溢出舍弃

        4、>>:按位右移
        
                格式: 数据 << 移动的位数
                规则:
                         数据整体右移,高位补符号位的那个值,低位溢出舍弃

        5、~:按位取反:
        
                格式: ~数据
                规则: 所有位,0变1,1变0

             

标签:10,3456,入门,++,C语言,运算符,int,表达式
From: https://blog.csdn.net/nobgo/article/details/141069814

相关文章

  • 高德地图 JS API2.0(入门级使用教程)
    高德地图JSAPI2.0入门使用教程准备工作注册高德地图开发者账号进入高德开放平台首页使用手机号注册,然后完成身份认证。创建应用[应用管理]-->[创建新的应用]–>[填写应用名称以及应用类型]-->[添加],然后获取到安全密钥和key即可。过程如下图:阅读参考文档......
  • C++入门:C语言到C++的过渡
    前言:C++——为弥补C缺陷而生的语言        C++起源于1979年,当时BjarneStroustrup在贝尔实验室工作,面对复杂软件开发任务,他感到C语言在表达能力、可维护性和可扩展性方面存在不足。        1983年,BjarneStroustrup在C语言基础上添加面向对象编程......
  • Git和GitHub:开启你的开源之旅(入门级干货教程)
    Git及GitHub使用教程Git部分Git概述Git是一个免费的开源的分布式版本控制系统。版本控制系统版本控制系统是一种记录文件历史修改记录,以便将来查阅特定版本修订情况的系统。集中式版本控制工具VS分布式版本控制工具集中式版本控制工具:特点:所有文件版本和历史......
  • 大学新生的编程入门指南:选择语言、规划学习与避免陷阱
    在数字化时代的浪潮中,编程技能已经成为了大学生必备的素养之一。无论是计算机科学专业的学生,还是其他领域的求学者,掌握编程知识都能在未来的学习和工作中发挥重要作用。然而,面对琳琅满目的编程语言和海量的学习资源,许多大学新生往往感到困惑和迷茫。本文旨在为大学新生提供一份......
  • c++入门这一篇就够了!!!
    c++简介“c++”中的++来自于c语言中的递增运算符++,该运算符将变量加1。c++起初也叫”cwithclsss”.通过名称表明,c++是对C的扩展,因此c++是c语言的超集,这意味着任何有效的c程序都是有效的c++程序。c++程序可以使用已有的c程序库。     为什么c++不叫++c呢?因为它虽然对......
  • C语言动态内存管理超详解
    文章目录1.为什么要有动态内存分配2.malloc和free2.1malloc2.2free3.calloc和realloc3.1calloc3.2realloc4.常见动态内存错误4.1对NULL指针的解引用操作4.2对动态开辟空间的越界访问4.3对非动态开辟内存使用free释放4.4使用free释放一块动......
  • Java 入门练习:21 - 25
    JAVA21补全构造方法描述有父类Base,内部定义了x、y属性。有子类Sub,继承自父类Base。子类新增了一个z属性,并且定义了calculate方法,在此方法内计算了父类和子类中x、y、z属性三者的乘积。请补全子类构造方法的初始化逻辑,使得该计算逻辑能够正确执行。输入描述......
  • Java 入门练习:26 - 30
    JAVA26实现接口描述已知接口Comparator,内部定义了max函数,用于返回两个整数中的最大值。请定义该接口的实现类,使得main方法中的比较逻辑可以正确执行,要求实现类的名称为ComparatorImpl。输入描述两个整数输出描述两个整数中的最大值示例1输入:13输出:3解......
  • Java 入门练习:16 - 20
    JAVA16数组遍历描述将用户输入的六个数字填入数组并找出数组中最大值和最小值输入描述随机输入的6个整数输出描述输出数组中的最大值,最小值(最大值最小值之间用空格隔开。若有多个最大值或最小值,输出一次即可,如样例2所示)示例1输入:135246输出:61示例2......
  • 猫头虎 分享:Python库 Tornado 的简介、安装、用法详解入门教程
    ......