第一次测验总结

20171017日,我们进行了第一次测验,测验范围是指针之前的基础知识。在本次测验中我的成绩十分的不理想,这让我严重的意识到自己学习的问题,每次上课都感觉自己听懂了,都会了,课后就一点也不看,可是测验成绩告诉我这样做完全是在自欺欺人。在本次测验中,我错的最多的题是关于运算符的题,判断语句真假的题和宏的定义。下面是我对于测验错题的相关知识点的总结:

1.&&’逻辑与,两个表达式都为真,才为真。如果表达式1为假,表达式2不计算。

2.||’逻辑或,两个表达式只要有一个为真,便为真。如果表达式1为真,表达式2不计算。

3.位运算符,针对二进制,只能用整型数字:

 1)‘~’按位取反,0->1,1->0.例:13: 0000 1101  ~13: 1111 0010

 2)‘&’按位与,相同位都为1才为1,其他为0

        例:14:0000 1110     13&14: 0000 1100

 3)‘|’按位或,相同位只要有一个1就都为1.

        例: 13|14: 0000 1111

 4)‘^’按位异或,相同位不一样才为1,其他为0

        例: 13^14: 0000 0011

 5)‘<<’按位左移,右边补零

        例: 13<<1 -> 0001 1010   14<<2 -> 0011 1000

 6)‘>>’按位右移,左边补符号位

        例: 13>>1 -> 0000 0110   14>>2 -> 0000 0011

4.前置++(--)++(--)i,先自增(自减)1,再赋值

例:int a = 1; int b = ++a; int c = --a -> b = 2 , c = 0

5.后置++(--)i++(--),先赋值,再自增(自减)1

例:int a = 3; int b = a++; -> a = 2, b = 3

  int c = 2; int d = c--; -> c = 1,d = 2

6. 0为假,非0为真    ! :非,不是

    例:if(M)  return ‘Y’;else  return‘N’:如果M为真,返回Y否则返回N。等价于 return  (M == 0)?N:Y’假如M=2M为真,不等于0,返回‘Y

7.宏:定义宏,宏就是字符替换,一改全改,宏名建议大写

    例:#define M(x,y,z)  x*y+z

         void main()

         {  

int a = 1,b = 2,c = 3;

printf(“%d\n”,M(a+b,b+c,c+a));

}    // 12

            计算:x = a+b  y = b+c  z = c+a

                      x*y+z = a+b*b+c+c+a = 12 注:没有括号

8.  while循环语句的循环体至少执行0次,do-while循环语句的循环体至少可以执行1次。continuebreak语句可以出现在各种循环体中。

9.  break不能出现在if语句中

10.  switch语句不允许出现浮点型,字符串,但是字符可以。switch语句如果没有遇到break 就继续向下执行,知道语句结束。           

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值