A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Chasel 中级黑马   /  2015-6-19 13:59  /  1215 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,总结一下:结合性的用法,比如有哪些是左结合(自左向右),哪些是右结合(自右向左)
2,求余的注意事项
  1>: m和n都不能是小数
  2>: m< 0  余数是负数
         n < 0  正负性取决m

3,自增自减运算法的掌握技巧

  i++ 先看到的是变量,表达式的值就是变量的值
  ++i 先看到的的是++,先让i的值+1
4,sizeof运算法
  作用:计算常量,变量,数据类型 在内存中占用的字节数
  1>计算常量
  2>计算变量
  注意事项:
    1)sizeif用在常量和变量的时候,括号可以省略
    2)char类型的常量在内存中占用的字节数是按常量对应的ASC码值存储的(int类型),而变量则是按char类型在内存中的占用的字节数存储的。

  3>sizeof用于计算某一种数据类型在内存中占用的字节数
5,逗号表达式
  逗号表达式:用逗号连接的表达式
  逗号表达式的求值:对逗号连接的每个表达式逐个求值,用最后一个逗号表达式的值作为最后整个逗号表达式的值
  例:int a=4,b=5,result=0;
       result = (a+4,b+3,a+b);
       printf(“result = %d\n”,result);
  使用注意事项:
  1)逗号表达式可以嵌套求值
   
  2)有时候不太注重逗号表达式的值
   a++,b++; //这是一个逗号表达式
  3)并不是所有出现逗号的地方都能组成表达式  
   比如:定义变量
6,关系运算符
  关系运算符:比较两个数或者表达式之间的关系
  关系表达式:用关系运算符连接的式子
     >   <  ==  !=(不等于)  >=  <=
  1)C语言的真假性  非零即真,只有0为假

7,逻辑运算符:
C语言中提供了三种:)
    && (与运算):(多个条件同时成立   "并且","且","同时")口诀:同真为真,异假为假
     ||  (或运算):(多个条件当中一个条件成立   "或者")   口诀:异真为真,同假为真
      !    (非运算):(取反)    口诀:真为假    注意:非0既真
  结合性:
  &&,||    双目运算符,左结合性   逻辑与的优先级>逻辑或
   !   单目运算符 ,右结合性

Example:

int main(int argc, const char * argv[]) {
   
    int x,y,z;
    x=y=z=0;
   
    int RESULT= (++x) || ++y && z++;
    printf("RESULT = %d\n",RESULT);
    printf("x = %d,y = %d,z = %d",x,y,z);
    return 0;
    //为啥x=1,y,z=0 呢?  答:短路了      
}

3 个回复

倒序浏览
最后一个例题我觉得有错误:
RESULT= (++x) || ++y && z++;   (应该考虑一个优先级的问题,&&要高于||)
  所以先执行     ++y&&z++      ++y(1)&&z++(0)=0
然后(++x)||0
最后:x=1,y=1,z=0              
回复 使用道具 举报
DemonPeter 发表于 2015-6-19 17:48
最后一个例题我觉得有错误:
RESULT= (++x) || ++y && z++;   (应该考虑一个优先级的问题,&&要高于||)
  ...

恩,谢谢提醒
回复 使用道具 举报
果断收藏了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马