C小白Jeff头秃的第四天:运算符、类型转换及流程控制语句

运算符、类型转换、流程控制语句

运算符

算术运算符:+ - * / %

/ %除数不能为0,否则程序会崩溃,浮点型除外。
关系运算符:< > >= <= == !=
10<n<100,结果永远为真(先把10和n比较,结果为1小于100 ,所以为真),运算规则与数学中不同。
0==a 常量放左边,变量放右边(防止出错)

关系运算符的结果是0或1,结果可以继续参与运算。

自变运算符:++/–

只有变量才能使用,功能是把变量自加或自减。
前++/–:先加减后运算
后++/–: 先运算在加减
一行代码中,不要过多使用(不同编译器对运算过程的解析是不同的)

逻辑运算符:&& | | !

运算前会把运算对象转换成逻辑值,0假,非零值真,负数也为真。
!A(单目运算符) 优先级最高
A || B
A && B 与或优先级同等
||和&&具有短路特性,当左边的值已经可以确定运算结果时,右边可以不再计算。但利用短路特性可以写出经典的分支结构。
当 n=100时,n赋值为0,

赋值运算符: = += -= /= …

N += 1 等价于n = n+1

三目运算符: a? b: c;

判断a的值,真执行b处代码,假执行c处理代码
类似于if ,else 语句,不同点是?:是运算符,而if,else是语句。三目运算符一定要有一个运算结果不能使用break,contine,return。(可以赋值)

字节运算符: sizeof

计算变量常量,数组的字节数和长度都可用。
只推算表达式结果类型,所需要的字节数,

位运算符: & | ^ << >>(我总是会把为运算符的与,或,非和逻辑运算符搞混)

类型转换

只有相同类型的数据才能在一起转换,当不同类型的数据在一条表达式中,编译器会先把数据进行转换,这叫做自动类型转换。转换规则:以不丢失数据为基础,适当浪费存储空间1.字节少的向多的转换,2.整型向浮点型转换。3.有符号向无符号转换
强制类型转换:(类型)数据,
注意:这种转换方式可能会造成数据丢失。

流程控制语句

分支结构

If语句

If(表达式)
{
表达式为真时执行此处代码
}

If(表达式)
{
表达式为真时执行此处代码

}
Else
{
表达式为假时执行此处代码

}

If(表达式1)
{
表达式1为真时执行此处代码
}
Else if(表达式2)
{
表达式为假时执行此处代码
}

开关语句(switch)

Switch(n)开关结构,括号中的n必须为整数,
{
Case 1:内容;break;
Case a … b:内容;break;判断一个范围(这是gnu编译器独有的)
Default:内容;break;
小括号中的数据会与 case后面的数据进行比较,break可以关闭执行开关。
}
如果每个case后面都加break,就形成了分支结构。
Default:当所有的case都没有匹配成功则打开执行开关; 无论写在什么位置,都最后匹配。
注意:每个case后都写一个break就形成分支结构。不能与continue搭配

for循环

当需要反复执行代码来解决问题时,这种结构叫循环结构
For([1];[2];[3])
{
[4];
}
1循环初始化,只执行一次
2判断条件,为真时执行4
3负责解决问题的代码,也叫循环体
4改变循环条件,防止变量四循环
For循环执行过程:1 2 4 3 2 4 3 2 4 3…2
For循环各种格式
For(;;])
{
死循环
}
For([1],[2],[3])
{
[4];
}

注意:for循环是一种功能强大的循环体,因此相比,所以使用一个循环变量来引导它运行; index->i,j,k,l
1.定义并初始化循环量
2.检查循环变量是否达到边界,如果为假则结束for循环。
3.循环变量自增或自减
4.解决问题
大括号问题
1、建议上下对齐
2、循环体如果只有一样代码,大括号可以省略,但不利于拓展,一般商业代码要求。
循环嵌套:循环语句中包含循环语句,外层循环只执行一次。
条件为真时执行循环体,假时结束,相当于for的精简版;
While(条件)
{
循环体;
}
For(;😉
{

}
注意:for负责解决明确知道循环次数问题,而while负责解决只知道结束条件的问题

Do while

Do{

  }while(条件);

特点:先执行循环体,在判断循环条件,循环体至少执行一次,
Int num=0;
Do{
Scanf(“%d”,&num);
}while(num!=1);

跳转

**Goto:**可以跳转到函数的任意位置,非常灵活,但可能会打破程序设计好的分支循环结构,很多公司禁止使用。
Loop1:
。。。。。。。。

               Goto loop2;

Loop2:
。。。。。。。。
Loop后加冒号。

在驱动编程时,goto语句用的非常多,经常用来处理异常情况,这也是c语言为什么适合硬件的编程。
Break:
1在switch语句中用于关闭执行开关;
2.再循环语句中用于跳出循环,也可用于解决死循环,
3.只能跳出一层循环。
Continue:
1.只能用在循环语句中
2.结束本次循环,进入下次循环
Return
结束函数的执行,跳转到函数的执行位置
返回一个结果给调用值。

总结

目前来说,没有遇到比较大的困难,学习的都是c语言打基础的东西,多看多做练习应该没有什么太大问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值