• C语言——基本运算


     

    基本运算分为:算术运算,赋值运算,自增自减运算,关系运算,逻辑运算,三目运算。

    一、 算术运算

          1、加法运算:用“+”号表示,还可以表示正数

          2、减法运算:用“—”号表示,还可以表示负数

          3、乘法运算:  用“*”而不是“x”表示

          4、除法运算:  用“/”而不是“÷”表示(整数除以正数,结果仍然是整数)

          5、取余运算: 用“%”号表示,两侧都是整数,并且最后的正负号由%左侧的整数决定。

          6、类型转换:

             ①   自动类型转换

                    int a = 10.6;

                    int b = 10.5 + 1.7;

                  自动将大类型转换为了小类型,会丢失精度

             ② 自动类型提升

                 int b = 10.5 + 10;

                  将右边的10提升为了double类型

                  double b = 1.0 / 2;

                  解决除法的精度问题

            ③  强制类型转换

                double a = (double)1 / 2;

                double b = (double)(1 / 2);

    算术运算代码举例如下:

               

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     //1.算数运算符的基本使用
     6     int a = 10 + 1 + 2 - 3 + 5;
     7     
     8     int b = -10;
     9     
    10     int c = 10 * b;
    11     
    12     int d = 10 / 2;
    13     
    14     // 取余运算(模运算)
    15     // %两边都是整数
    16     // %取余结果的正负性只跟%左边的数值有关
    17     int e = 10 % -3;
    18     printf("%d
    ", a);
    19     printf("%d
    ", b);
    20     printf("%d
    ", c);
    21     printf("%d
    ", d);
    22     printf("%d
    ", e);
    23     
    24     // 自动类型转换(double->int)
    25     int m = 10.8;
    26     
    27     // 强制类型转换(double->int)
    28     int n  = (int) 10.5;
    29     printf("%d
    ",m );
    30      
    31     
    32     // 自动类型提升(int->double)
    33     double x = 10.6 + 6;
    34 
    35     double y = 1 / 3;
    36     
    37     double z = (double)3/2;
    38     
    39     printf("e的值是%f
    ", z);
    40     
    41     
    42     return 0;
    43 }

    运行的结果为:

    二、赋值运算

         1、 简单赋值

                 

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     //简单赋值
     6     int a = 10 7     
     8     int b;
     9      b= 610     return 011 }

         2、 复合赋值

             

    1     // 复合赋值运算
    2     a += 5; // a = a + 5;
    3     
    4     a *= 5; // a = a * 5;
    5     
    6     a += 5 + 6 + 4; // a = a + (5 + 6 + 4);

    三、 自增自减运算

      自增运算符++,例如(a++,++a);自减运算符--,例如(a--,--a)    

     1     int a = 10;
     2     
     3     a = a + 1; // 11
     4     
     5     a += 1; // 12
     6     
     7     a++; // 13
     8     
     9     ++a; // 14
    10     
    11     a--; // a -= 1;  a = a - 1;   13

    四、 关系运算

        1、 真假性。在C语言中,条件成立为“真”,条件不成立为“假”,并且规定“0”表示假,任何其他非零值都表示真。

        2、 关系运算的运算结果:关系运算的结果只有两种,即真假。条件成立,为真,默认值为1;不成立,为假,默认值为0

        3、 特别注意:

           ①  关系运算符的优先级低于算术运算符

           ②  关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者

           ③  关系运算符的结合顺序是从左到右。

    关系运算代码如下:

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5   
     6     int a = 10;
     7     
     8     int b = 11;
     9     
    10     // 条件成立就返回1,真
    11     // 条件不成立就返回0,假
    12     int result = b >= a;
    13     
    14     printf("%d
    ", result);
    15      
    16    
    17 }

    五、逻辑运算

         1、 逻辑与(表示符号&&)

              “条件A&&条件BB”

                当条件A和条件B都成立时,结果为真,即值为1,否则为假

               例如

    1     逻辑与 条件1 && 条件2
    2     
    3      int a  =  10>3 && 7<6;
    4     
    5     int a = 0 && 10;
    6     
    7     printf("a=%d
    ", a);

         2、 逻辑或(表示符号||)

               “条件A||条件B”

                当条件A和条件B只要一个成立时,结果为真,即值为1,否则为假

                例如

     1 // 逻辑或 条件1 || 条件2
     2     
     3     
     4     int a = 10;
     5     int b = 10;
     6     
     7     int c = (a<5) || (b++ - 10);
     8     
     9     // a = 10
    10     // b = 11
    11     // c = 0
    12     printf("a=%d, b=%d, c=%d
    ", a, b, c);

          3、 逻辑非(表示符号 !)

             “!条件A”

            对条件A进行取反:若条件A成立,结果就为假,即值为0,否则为真。

     1  // 逻辑非 !条件
     2     // 如果条件成立,就返回0;如果条件不成立,就返回1
     3     
     4     
     5     
     6    
     7     int a = !!10;
     8     
     9     printf("a=%d
    ", a);
    10   
    11     

    六、三目运算符

          三目运算符,运算格式: 条件 ? 数值1 : 数值2

    1 // 三目运算符  条件 ? 数值1 : 数值2
    2 
    3 int a = !100 ? 9 : 89;
    4 
    5 printf("a=%d
    ", a);
  • 相关阅读:
    [QT_QML]qml假如调试信息 qDebug console.debug
    [QT_FFMPEG]学习问题: 刚开始移植ffmpeg,测试时出现 undefined reference to `avcodec_configuration()'
    [QT_OPENCV] qt下opencv配置以及首个opencv工程
    [QT][SQLITE]学习记录二 日期查询
    [QT][DEMO] QTableWidget 设置某一列禁止编辑
    [QT][SQLITE]学习记录一 querry 查询
    [QT]QPixmap图片缩放和QLabel 的图片自适应效果对比
    [QT]问题记录-QPixmap::scaled 缩放不成功
    利用php给图片添加文字水印--面向对象与面向过程俩种方法的实现
    利用javascript实现文本的自动输出
  • 原文地址:https://www.cnblogs.com/gaizuojia/p/4356166.html
Copyright © 2020-2023  润新知