自学c语言笔记:运算符

运算符

1. 优先级: 算数 > 关系 > 逻辑 > 赋值

算数:+ - * / %

关系:>, >=, <, <=, !=, ==

逻辑:
!(非)

 &&(与)     左边的表达式为0时,右边的表达式不执行 
 
 ||(或)     左边的表达式为1时,右边的表达式不执行 
 
赋值:=  +=  -=  *=  /=    a+=3 →a=a+3
 
特殊:自增自减  三目运算符  逗号表达式 

 自增【自减】
     分类:
         前自增    ++i 
         后自增    i++ 
    异同:
        相同:
            最终都使i的值加1
        不同:
            前自增整体表达式的值是i加一后的值
            后自增整体表达式的值是i加一前的值 
1.编程应该尽量屏蔽掉前自增和后自增的差别 
2.自增表达式最好单独成一个语句,不要把它作为一个完整复合语句的一部分来使用 

三目运算符   A ? B : C 等价于 if(A) B;else C;

逗号表达式 A,B,C,D 从左到右执行
    最终表达式的值是最右的值 

2.除(/)及取余(%)的用法
 
除的运算结果和运算对象的数据类型有关
两个int就是int,有一个浮点就是浮点。

取余的运算对象必须是整数,结果是整除后的余数,符号与被除数相同
e.g. -13%3=-1  -13%-3=-1
 

 

 取余 例子 
 

#include <stdio.h>
int main ()
{
    printf( "%d %d %d %d %d %d\n", 3%3, 13%-3, -13%3, -13%-3, -13%23, 3%5 );
    return 0;
    
 } 


 
//结果:0 1 -1 -1 -13 3 

 


逻辑运算 
 

#include <stdio.h>

int main()
{
    int i, k, m, n, j, l, o;
    i = 10;
    k = 20;
    l = 20;
    o = 20;
    
    m = ( 3>2 )&&( k = 8 );
    n = ( 1>2 )&&( l = 8 );
    j = ( 1>2 )||( o = 8 );
    
    printf("m=%d n=%d j=%d\nk=%d l=%d o=%d", m, n, j, k, l ,o);
    
    
    return 0;
}


//结果:m=1 n=0 j=1 k=8 l=20 o=8 

前自增和后自增的比较

#include <stdio.h>

int main()
{
    int i, j, k, m;
    
    i = j = 3;
    k = i++;
    m = ++j;
    
    printf(" %d %d %d %d ",i,j,k,m);
    //结果: 4 4 3 4 
    
    return 0;
 } 

 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值