C语言一共有34种运算符,包括了常见的加减乘除运算
一、运算符的分类
主要分为三类:算术运算符,关系运算符,逻辑运算符
运算符根据参与运算数分为:
单目运算:只有一个运算数参与运算;i++
双目运算:有两个运算数参与;a++,b++
三木运算:c中唯一的,问号表达式
1. 算数运算符
1> 加法运算 +
除开能做加法运算,还能表示正号:+5、+90
2> 减法运算 -
除开能做减法运算,还能表示符号:-10、-29
3> 乘法运算 *
注意符号,不是x,而是*
4> 除法运算 /
注意符号,不是÷,也不是\,而是/
整数除于整数,还是整数。1/2的值是0,这个并不是二分之一
5> 取余运算%
- 什么是取余:两个整数相除之后的余数
- %两侧只能是整数
- 正负性取决于%左侧的数值
6. 注意点
1> 自动类型转换
int a = 10.6;
int b = 10.5 + 1.7;
自动将大类型转换为了小类型,会丢失精度
2> 自动类型提升
int b = 10.5 + 10;
将右边的10提升为了double类型
double b = 1.0 / 2;
解决除法的精度问题
3> 强制类型转换
double a = (double)1 / 2;
double b = (double)(1 / 2);
4> 运算顺序
表达式:
结合性(结合方向):2+3+4
优先级:5+4*8-3
2.赋值运算符:
1> 简单赋值
int a = 10 + 5; // 先运算等号右边10+5=15,然后将15赋值给a;
a = b = 10; // 运算过程是 将10 赋值给 b,然后再讲b=10赋值给a
等号左边不能是常量,比如10 = 11;
2.>复合赋值
复加减乘除余:a += 4 + 5; // a = a + 4 + 5
3> 注意:
如果赋值运算符两边的数据类型不相同,系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。
总结如下:
- 实型赋予整型,舍去小数部分。
- 整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。
- 字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。整型赋予字符型,只把低八位赋予字符量。
3. 逻辑运算符:
1> &&逻辑与运算符
2> ||逻辑或运算符
3> !逻辑非运算符
测试运算结果为真,显示‘1’,为假,显示‘0‘
4. 关系运算符:
1. <小于运算符
2. >大与运算符
3. <=小于等于运算符
4. >=大于等于运算符
5. ==等于运算符
6. !=不等于运算符
二、 流程控制
顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
循环结构:在给定条件成立的情况下,反复执行某一段代码。
1. 选择结构
if的几种结构
1. if的第1种结构
if(条件)
{
语句1;
语句2;
......
}
2. if的第2种结构
if(条件1)
{
语句1;
语句2;
......
}
else
{
}
3. if的第3种结构
if(条件1)
{
语句1;
语句2;
......
}
else if(条件2)
{
}
else if(条件3)
{
}
else if(条件4)
{
}
else
{
}
4. if的第4种结构
if (条件)
语句1;
if语句举例: