运算

作者: labi3285 | 来源:发表于2017-09-14 21:48 被阅读6次

    程序最主要的工作就是完成运算,下面主要学习c语言基本运算符号及使用,先从最基本的加减乘除开始。

    1、基本运算

    首先定义几个变量:

    int a=10,b=12;  
    

    在进行基本的数据计算之前,我们首先要了解,C语言的算数和我们的数学还是有些区别的,首先,c语言中的基本运算有5种,分别为加(+)、减(-)、乘(*)、除(/)、取余(%);其次,由于变量在内存中存储的时候不像我们的草稿本那样随意,算出的结果为了能放到存储单元中,必须进行必要的取舍,这些一会讨论,先看看经过下面的运算得到的结果:

    printf("a+b=%d\n",a+b);//+  
    printf("a-b=%d\n",a-b);//-  
    printf("a*b=%d\n",a*b);//×  
    printf("a/b=%d\n",a/b);//÷  
    printf("a%%b=%d\n",a%b);//取余运算,%%为转意字符  
    

    结果为:

    a+b=22  
    a-b=-2  
    a*b=120  
    a/b=0  
    a%b=10  
    

    不出所料,当进行除法运算时,结果只取了整数的部分,那要是我们不想这样呢?方法有很多种,最常见的是将其中至少一个变量定义为float或者double类型,或者进行类型转换:

    double a=10;  
    int b=3;  
    printf("a/b=%f\n",a/b);//÷  
    

    这样就能输出正确的数值

    a/b=3.333333  
    

    2、自增减运算

    也就是常见的++/--运算,该运算对变量进行+1或者-1操作,需要注意的是++/--是放在变量前面还是后面,请看下面的两个例子:
    例1:

    int k = 1;  
    int m=k++;  
    printf("m= %d \n", m);  
    

    例2:

    int k = 1;  
    int m=++k;  
    printf("m = %d \n", m); 
    

    这两段代码的区别仅仅是++的位置,但是输出结果完全不同,例1输出m = 1;例2输出m = 2;请大家注意。

    3、关系运算

    c语言中关系运算符有>,>=,<,<=,==,!=六种,用于判断两个变量的大小关系,判断的结果为0或者1,0表示假,1表示真,这是一种布尔运算,在c语言中默认非零的数字都是真。

    int a = 1, b = 2;  
      
    printf("a > b  : %d\n", a > b);  
    printf("a >= b : %d\n", a >= b);  
    printf("a < b  : %d\n", a < b);  
    printf("a <= b : %d\n", a <= b);  
    printf("a == b : %d\n", a == b);  
    printf("a != b : %d\n", a != b);  
    

    结果:

    a > b  : 0  
    a >= b : 0  
    a < b  : 1  
    a <= b : 1  
    a == b : 0  
    a != b : 1  
    

    注意:两个非数值之间比较,将按照数值(将该内存空间当成一个数字,说白了,就是01的逐位比较)的方式进行比较。

    4、逻辑运算

    逻辑运算用于将两个表达式进行逻辑结合,其结果也为真假,逻辑运算包括与、或、非。

    int a = 1, b = 0;  
      
    printf("a && b =  %d  [与]\n", a&&b);     //逻辑 与  
    printf("a || b =  %d  [或]\n", a||b);     //逻辑 或  
    printf(" !  a  =  %d  [非]\n", !a);       //逻辑 非 
    

    输出:

    a && b =  0  [与]  
    a || b =  1  [或]  
     !  a  =  0  [非] 
    

    5、三目运算

    三目运算的基本格式为: 表达式?值1:值2
    当表达式为真时,三目运算返回值1,否则,返回值2.

    int a = 1, b = 2;  
    int max = a>b ? a : b;  
    printf("max is %d\n", max);  
    

    该代码将得到a,b中的最大值,输出为:

    max is 2  
    

    (完)

    相关文章

      网友评论

          本文标题:运算

          本文链接:https://www.haomeiwen.com/subject/rsudsxtx.html