您的位置:首页 > 编程语言 > C语言/C++

C语言初步知识与基本数据类型(下)

2017-08-02 17:59 183 查看
    四、运算符和表达式

     (一)算术运算符和算术表达式

            1.算术运算符

              (1)+     加法

              (2)-      减法

              (3)*      乘法

              (4)/      除法

                注意:双目均为整型,则"/"的结果是整型(取商的整数部分)。

              (5)%     求余

                注意:双目必须均为整型,且结果余数的符号与被除数符号

           2.算术表达式

              例   数的分离:设有一个3位正整数x,则其各位数字分别为多少?

                     个位:    x%10

                     十位:    (x/10)%10

                     百位:    x/100

     (二) 赋值运算符和赋值表达式

        1.基本赋值运算符

             (1)形式:变量名=常量(或变量或表达式)。

             (2)功能:将右边的常量(变量或表达式)的值赋给左边的变量

             (3)结合性:自右向左

             (4)说明:"="左边必须是变量名,且右边必须具有常量值。

           2.算术复合赋值运算符

             (1)符号: += , -= ,*= ,/= , %=  

             (2)用法与功能与"="一致

                例: a+=3     a=a+3      x%=y+3          x=x%(y+3)

           3.赋值表达式

              例  特殊用法 

                  a=b=c=d=5   /*连续赋值*/

                  a=5+(c=6)

                  a+=a-=a*a  /*若a初值为12,则表达式值为-264*/

     (三)自增,自减运算符

           1.符号: ++(自增)    -- (自减)

           2.作用:使单个变量的值增1或减1

           3.用法(单目运算符)

             (1)前缀形式         ++变量名    --变量名

             (2)后缀形式         变量名++    变量名--

                例     前缀与后缀形式的区别

                    设有定义    int m=4, n;

                   (A)m++;      /*m=m+1;   m=5*/

                   (B)++m;      /*m=m+1;   m=5*/

                   (C)n=m++;  /*n=m;m=m+1;  先操作,后自增,m=5,n=4*/

                   (D)n=++m;  /*m=m+1;n=m;  先自增,在操作,m=5,n=5*/

                练习  设有 int  m=4 ; 则以下片段输出结果分别是:

                   (A)printf("%d",m++);   /*输出4,m值为5*/

                   (B)printf("%d",++m);   /*输出5,m值为5*/       

           4.说明

             (1)"++"和"--"只能用于变量

             (2)结合性:右结合性

     (四)关系运算符和关系表达式

            1.关系运算符

               <   小于,  >  大于,   <= 小于等于 ,   >=  大于等于,  == 等于,  !=   不等于

            2.关系表达式

            (1)运算结果     逻辑真用"1"表示,逻辑假用"0"表示

                 例  设有  int a=3, b=2, c=1; 则下列表达式值为:

                      c>b     0

                      c<a<b        1

            (2)常用代数逻辑的c语言表达式

                 例  代数式:   x是偶数(奇数)

                       c语言       x%2==0(x%2==1或x%2!=0)

                 例  代数式:   a是3的倍数

                       c语言        a%3==0

                 例  代数式:   b的个位不是7

                       c语言        b%10!=7

     (五)逻辑运算符和逻辑表达式

            1.逻辑运算符

            (1)     !     逻辑非(单目运算符) 

            (2)   &&   逻辑与

            (3)    ||     逻辑或

            2.逻辑表达式

            (1)运算结果:逻辑真用"1"表示,逻辑假用"0"表示

            (2)运算对象   非0即真,0即假

            (3)逻辑表达式一般与关系表达式混合使用

                例  代数式        2<=x<5

                      c语言          x>=2&&x<5

            (4)短路现象

                 例  若有 int  a=2,b=1,c=3,d=4,t=9; 分别计算:

                         (a<b)&&(t=c<d) 后t的值为9

                         (a>b)||(t=c<d) 后t的值为9

            (5)常见代数逻辑的c语言表达式

                 例  代数式  x整除7且其个位不是偶数

                       c语言   (x%7==0)&&(x%10%2!=0)

     (六)条件运算符即条件表达式(三目运算符)

           1.形式:   表达式1? 表达式2 :表达式3

           2.计算方法

                求表达式1的值,判断非0:求表达式2的值(结果),0:求表达式3的值(结果)

           3.结合性:右结合性

               例  若有 int a=1,b=2,c=3,d=4,t=9,计算:

                     (a>b)? t=0 : (c<d)? t=1 :t=2  后t的值为1,表达式值为1

                     (a>b)是表达式1,t=0 是表达式2, (c<d)? t=1 : t=2 是表达式3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: