• 《手把手教你学C语言》学习笔记(8)--- 运算符和表达式


      C语言编程的核心是指针和库,而库的核心就是函数,函数的基本组成部分就是语句。

      C语言合法表达式加上分号(语句结束符)构成C函数的基本部分语句。如果只有分号没有表达式就构成空语句,空语句常常用来形成占位之用。

      一、C语言的符号与运算符的连接构成表达式,根据运算符的不同,主要分为:

      1、算术表达式:用算术运算符连接起来的表达式;

      2、关系表达式:用关系运算符连接起来的表达式;

      3、逻辑表达式:用逻辑运算符连接起来的表达式;

      4、赋值表达式:用赋值运算符连接起来的表达式;

      二、常见的运算符主要分为:

      1、算术运算符:能够完成基本数学运算的符号,主要包括:

        (1)、+:加         var1 + var2算术表达式的结果就是变量var1和变量var2相加的结果

        (2)、-:减          var1 - var2算术表达式的结果就是变量var1和变量var2相减的结果

        (3)、*:乘          var1 * var2算术表达式的结果就是变量var1和变量var2相乘的结果

        (4)、/:除          var1 / var2算术表达式的结果就是变量var1和变量var2相除的结果,牵涉到变量的自动类型转化

        (5)、%:余          var1 % var2算术表达式的结果就是变量var1和变量var2相除的余数

        (6)、++:自增        var++和++var两种形式,是var = var + 1的等效形式,两种形式的运算时机不同,常用在循环中

        (7)、--:自减          var--和--var两种形式,是var = var - 1的等效形式,两种形式的运算时机不同,常用在循环中

        (8)、&:位与          var1 & var2算术表达式的结果就是变量var1和变量var2位与的结果

        (9)、|:位或           var1 * var2算术表达式的结果就是变量var1和变量var2位或的结果

     

      2、关系运算符:能够完成变量特性的条件判别,大小及是否相等,表达式成立结果为真,否则为假,若var1为12,var2为9,则有:

        (1)、>:大于          var1 > var2关系表达式的结果就是真

        (2)、<:小于          var1 < var2关系表达式的结果就是假

        (3)、>=:大于等于      var1 >= var2关系表达式的结果就是真

        (4)、<=:小于等于      var1 <= var2关系表达式的结果就是假

        (5)、!=:不等于        var1 != var2关系表达式的结果就是真

        (6)、==:等于        var1 == var2关系表达式的结果就是假

        注:关系运算符又可称为条件运算符,关系表达式主要用于条件判断语句中。

      3、逻辑运算符:完成多条件的逻辑运算,表达式的结果为逻辑状态,若sel1为真,sel2为假,则有:

        (1)、&&:逻辑与        sel1 && sel2关系表达式的结果就是假,在逻辑与运算中,只要有一个条件为假,结果必然为假

        (2)、||:逻辑或         sel1 < sel2关系表达式的结果就是真,在逻辑与运算中,只要有一个条件为真,结果必然为真

        (3)、!:逻辑非          !sel1 关系表达式的结果就是假

      

      4、赋值运算符:完成变量的赋值运算,若var1为2,var2为9,则有:

        (1)、=:赋值         var1 = var2赋值表达式的结果将var2的内容9与变量var1关联起来(赋值),运算顺序为从右至左

        (2)、+=:加赋值         var1 += var2赋值表达式的结果将var1的值2与变量var2的值9相加的结果11重新赋值给var1

        (3)、-=:加赋值          var1 -= var2赋值表达式的结果将var1的值2与变量var2的值9相减的结果-7重新赋值给var1

        (4)、*=:加赋值          var1 *= var2赋值表达式的结果将var1的值2与变量var2的值9相乘的结果18重新赋值给var1

        (5)、/=:加赋值          var1 /= var2赋值表达式的结果将var1的值2与变量var2的值9相除的结果0重新赋值给var1

        (6)、%=:加赋值        var1 %= var2赋值表达式的结果将var1的值2与变量var2的值9相与的结果2重新赋值给var1

      下面代码的运行结果为:

    Please input two numbers use space split: 9 2
    You input two numbers is: 9 and 2
    下面演示+=赋值运算符:
    var1 = 11 var2 = 2 var1 += var2 : 11
    Please input two numbers use space split: 9 2
    You input two numbers is: 9 and 2
    下面演示-=赋值运算符:
    var1 = 7 var2 = 2 var1 -= var2 : 7
    Please input two numbers use space split: 9 2
    You input two numbers is: 9 and 2
    下面演示*=赋值运算符:
    var1 = 18 var2 = 2 var1 *= var2 : 18
    Please input two numbers use space split: 9 2
    You input two numbers is: 9 and 2
    下面演示/=赋值运算符:
    var1 = 4 var2 = 2 var1 /= var2 : 4
    Please input two numbers use space split: 9 2
    You input two numbers is: 9 and 2
    下面演示%=赋值运算符:
    var1 = 1 var2 = 2 var1 %= var2 : 1

      代码为:  

     1 #include <stdio.h>
     2 
     3 int main(int argc, char **argv)
     4 {
     5     int var1;                                                                                                                                        
     6     int var2;
     7 
     8     printf("Please input two numbers use space split: ");
     9     scanf("%d %d", &var1, &var2);
    10     printf("You input two numbers is: %d and %d
    ", var1, var2);
    11     printf("下面演示+=赋值运算符:
    ");
    12     printf("var1 = %d var2 = %d var1 += var2 : %d
    ", var1, var2, var1 += var2);
    13 
    14     printf("Please input two numbers use space split: ");
    15     scanf("%d %d", &var1, &var2);
    16     printf("You input two numbers is: %d and %d
    ", var1, var2);
    17     printf("下面演示-=赋值运算符:
    ");
    18     printf("var1 = %d var2 = %d var1 -= var2 : %d
    ", var1, var2, var1 -= var2);
    19 
    20     printf("Please input two numbers use space split: ");
    21     scanf("%d %d", &var1, &var2);
    22     printf("You input two numbers is: %d and %d
    ", var1, var2);
    23     printf("下面演示*=赋值运算符:
    ");
    24     printf("var1 = %d var2 = %d var1 *= var2 : %d
    ", var1, var2, var1 *= var2);
    25 
    26     printf("Please input two numbers use space split: ");
    27     scanf("%d %d", &var1, &var2);
    28     printf("You input two numbers is: %d and %d
    ", var1, var2);
    29     printf("下面演示/=赋值运算符:
    ");
    30     printf("var1 = %d var2 = %d var1 /= var2 : %d
    ", var1, var2, var1 /= var2);
    31 
    32     printf("Please input two numbers use space split: ");
    33     scanf("%d %d", &var1, &var2);
    34     printf("You input two numbers is: %d and %d
    ", var1, var2);
    35     printf("下面演示%=赋值运算符:
    ");
    36     printf("var1 = %d var2 = %d var1 %= var2 : %d
    ", var1, var2, var1 %= var2);
    37 
    38     return 0;
    39 }

      其他的代码都很简单,就不浪费页面了。



     

  • 相关阅读:
    一篇图看清Java中的各种Queue
    使用尾递归计算阶乘
    使用 Sonar 检测代码质量
    jsessionid 导致重定向404的问题
    Java8之——简洁优雅的Lambda表达式
    支付宝手机网站支付开发指引
    Intellij Idea 编辑器使用之 安装、破解 版本15.0.1
    虚拟机启动linux系统报错,此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
    META-INF文件夹是干啥的,META-INF文件夹的作用, META-INF文件夹能删吗
    一道Integer面试题引发的对Integer的探究
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/6890833.html
Copyright © 2020-2023  润新知