运算符及流程控制

运算符

算术 + - * / %

	/ % 除数不能为零,会出现浮点数例外。
关系 > < >= <= == !=
	与数学的运算规则不同 
		1 < a < 9 C语言中永远为真
		先运算 1 < a 结果是 0或1 < 9 
	== 右值放在左边,防止少写=
		a == 100
		a = 100 不报错,但程序运算不正确
		100 == a
		100 = a 会立即报错

自变 ++/–

	对变量的值进行加1或减1操作,只有变量才能使用。
	前自变:立即有效
	后自变:下一行代码才有效
	前自变要比后自变的运行效率高,但是编译器会对后自变量进行优化,如果单独使用后自变后优化成前自变。
	不要一条语句过多使用自变运算符,不同的编译器对自变运算符的解释顺序不同。
逻辑 && || !
	注意&&、||知道特性,当运算符左边的值可以确定运算结构,则右边的表达式不再计算,也可以利用这短路特性写出精简的分支结构。
三目 [1] ? [2] : [3];
	根据1中的值,为真计算2,否则计算3,相当于精简的if/else结构。
	注意不能使用流程控制语句。
位 & | ~ ^ << >>
	^ 按位异或,对应的二进制位,相同行0,不同得1。
	m << n m二进制位整体左移n位,后面补0
	m >> n m二进制位整体右移n位,前面补0(无符号)或符号位(有符号)。

类型转换

自动类型转换

	C语言规定只有相同类型的数据才能在一起运算,由不同类型的数据组成的表达式要先转换成同一种类型再运算,以不丢失数据为基准。
	整型 转 浮点
	字节少 转 字节多
	有符号 转 无符号

强制类型转换

	(目标类型)数据 ,这种转换可能会造成数据丢失,因此慎重使用。

流程控制

分支

	if else
	大括号可以省略,但这样安全差,不利于扩展,因此不建议。
	大多数公司要求,杜绝省略大括号。
	
switch 是一种开关语句,小括号中的数据必须是整型数据或表达式。
 case 后的数据只能常量或枚举,不能使用变量。
 break 关闭执行开关
	default 所有case都不能匹配时,打开执行开关,无论写在任何位置都最后判断。
循环
	for([1];[2];[3])
	{
		[4]
		1234模块都可以缺少,只要保证格式正确即可。
		1模块只有C99以上的标准中才能定义变量。
	}
	是一种非常灵活的循环,非常容易出错,一般使用一个整型变量(循环变量)来引导for循环的执行,index->i,j
		
while 相当于for循环的精简版本,for(;[];)与while功能一致,但是代码不优雅,while负责循环次不确定的情况,for负责循环次数确定的情况。
	
do while 先执行循环休,再判断循环条件的循环,循环体至少执行一次。 
	注意:do while小括号后必须要有分号,if、for、while括号后不能有分号(不是语法错,而是逻辑错误)。
跳转goto 
	可以在函数内的任意位置跳转,它可能破坏原有分支、循环结构,因此危险性很高,一般公司都禁止使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值