黑马训练营--IOS基础学习总结--C语言总结2

C语言复习总结:

这个文件是在学习完C语言的基本用法后,回顾C语言的一些语法和易错,不易理解的一下内容,可能会存在内容不连续的情况.


本文内容,有参考自 M了个J的博客 根据自身的学习进行了部分的摘抄和扩写

原文请参考:http://www.cnblogs.com/mjios/tag/objective-c/default.html?page=1



算术运算:

模运算符 或称 取余运算符

使用这个%有个原则:%两侧必须都为整数。

负数取余

1 int a = -5 % 2;

2 int b = 5 % -2;

3 int c = -5 % -2

利用%求出来的余数是正数还是负数,由%左边的被除数决定,被除数是正数,余数就是正数,反之则反。因此变量abc的值分别是-11-1



自加运算:

再来看一个比较刁钻的例子

1 int a = 10;

2 

3 a = a++;

很多人一眼看上去,觉得最后a的值应该是11,其实最后a的值是10。前面已经说过a++的作用了,这里也是一样的。先将a的值拷贝出来一份,然后对a执行+1操作,于是a变成了11,但是拷贝出来的值还是10a++运算完毕后,再将拷贝出来的值10赋值给了a,所以最后变量a的值是10


sizeof可以用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。


C语言中各类运算符的优先级:

小括号() > 负号 - > ! > 算术运算符 > 关系运算符 > && > ||


位运算:

& 按位与

整数ab各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现

可以通过与运算判断 二进制形式的某一个数的某一位是1 还是0  


| 按位或

整数ab各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1,否则为0

^ 按位异或

整数ab各对应的二进位相异或。当对应的二进位相异(不相同)时,结果为1,否则为0

~ 取反

对整数a的各二进位进行取反(0110

<< 左移

把整数a的各二进位全部左移n位,高位丢弃,低位补0。左移n位其实就是乘以2n次方。

>> 右移

把整数a的各二进位全部右移n位,保持符号位不变


if 条件语句使用注意

1、千万不要在if的小括号后面添加分号

2、a==0这样的表达式,最好写成0==a,若你误写成0=a,编译器会直接报错的

switch语句使用注意:

1、如果某个case后面没有break,意味着执行完这个case中的语句后,会按顺序执行后面所有casedefault中的语句,直到遇到break为止

2、在某些时候,我们确实没有必要在每一个case后面添加break。下面举一个例子:判断分数的优良中差等级(100分满分)。

 1 int score = 77;

 2 

 3 switch (score/10) {

 4     case 10:

 5     case 9:

 6         printf("优秀");

 7         break;

 8         

 9     case 8:

10         printf("良好");

11         break;

12         

13     case 7:

14     case 6:

15         printf("中等");

16         break;

17         

18     default:

19         printf("差劲");

20         break;

21 }

 

3有时候,我们可能会想在case中定义一些变量,这个时候,就必须用大括号{}括住case中的所有语句。(作用域 要明确  if语句也有此要求)


breakcontinue

break 跳出此次循环,只会影响它所在的那个循环。双重循环,不会影响外面的循环

continue跳过这一次循环,直接进入下一次循环,只会影响它所在的那个循环



函数:

1.任何一个函数在使用之前都必须进行定义

2、调用函数时传递的实参个数 必须和 函数的形参个数必须保持一致

3.当使用基本数据类型(charintfloat等)作为实参时,实参和形参之间只是值传递,修改形参的值并不影响到实参

4.函数可以没有形参

5.返回值就是函数调用完后,返回给函数调用者的结果,用return关键字进行返回。定义函数时,要指明函数的返回值类型

6、一个函数可以没有返回值,如果没有返回值,应该用void表示返回值类型

7、如果一个函数没有返回值,最后面的return语句可以省略

8、如果一个函数没有明确写出返回值类型,那么代表这个函数的返回值类型是int

9return语句可以在函数内部返回一个值给函数调用者

10、一个函数内部可以多次使用return语句,使用了return语句后,函数就会马上停止执行,return语句后面的代码就不再被执行


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值