C语句基础学习(三)——运算符和表达式(总结于创智播客讲义)

三、运算符和表达式

1常用运算符分类

运算符类型 作用
算术运算符 用于处理四则运算
赋值运算符 用于将表达式的值赋给变量
比较运算符 用于表达式的比较,并返回一个真值或假值
逻辑运算符 用于根据表达式的值返回真值或假值
位运算符 用于处理数据的位运算
sizeof运算符 用于求字节数长度

2、算术运算符

  • 0 不能作为除数

  • %取余只能对整型操作

  • 前++ ,后++ 前++是先自增,后表达式,而后++ 是先表达式后自增

  • 前自增是在表达式之前进行++在进行表达式计算

  • 后自增先进行表达式计算在进行++ 操作

    运算符 术语 示例 结果
    + 正号 +3 3
    - 负号 -3 -3
    + 10 + 5 15
    - 10 - 5 5
    * 10 * 5 50
    / 10 / 5 2
    % 取模(取余) 10 % 3 1
    ++ 前自增 a=2; b=++a; a=3; b=3;
    ++ 后自增 a=2; b=a++; a=3; b=2;
    前自减 a=2; b=–a; a=1; b=1;
    后自减 a=2; b=a–; a=1; b=2;

3、赋值运算符

运算符 术语 示例 结果
= 赋值 a=2; b=3; a=2; b=3;
+= 加等于 a=0; a+=2; a=2;
-= 减等于 a=5; a-=3; a=2;
*= 乘等于 a=2; a*=2; a=4;
/= 除等于 a=4; a/=2; a=2;
%= 模等于 a=3; a%2; a=1;

4、比较运算符

  • C语言中的比较运算中,“真”用数字“1”来表示,“假”用数字“0”来表示

    运算符 术语 示例 结果
    == 相等于 4 == 3 0
    != 不等于 4 != 3 1
    < 小于 4 < 3 0
    > 大于 4 > 3 1
    <= 小于等于 4 <= 3 0
    >= 大于等于 4 >= 1 1

5、逻辑运算符

运算符 术语 示例 结果
! !a 如果a为假,则!a为真; 如果a为真,则!a为假。
&& a && b 如果a和b都为真,则结果为真,否则为假。
|| a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

6、运算符优先级

1、()
2、++、–、!、sizeof、(数据类型) 结合性从右到左 单目运算符
3、、/、%
4、+、-
6、>、>=、<、<=
7、==、 !=
11、&&
12、||
14、=、+=、-=、
=、/=

7、类型转换

  • 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。

  • 转换的方法有两种:

    • 自动转换(隐式转换):遵循一定的规则,由编译系统自动完成。
    • 强制类型转换:把表达式的运算结果强制转换成所需的数据类型。
  • 类型转换的原则:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。

2016-06-02_202741

7.1、隐式转换

#include <stdio.h>
int main()
{
	int num = 5;
	printf("s1=%d\n", num / 2);
	printf("s2=%lf\n", num / 2.0);
	return 0;
}

7.2、强制转换

  • 强制类型转换指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型

  • #include <stdio.h>
    
    int main()
    {
    	float x = 0;
    	int i = 0;
    	x = 3.6f;
    
    	i = x;			//x为实型, i为整型,直接赋值会有警告
    	i = (int)x;		//使用强制类型转换
    
    	printf("x=%f, i=%d\n", x, i);
    
    	return 0;
    }
    
    

猜你喜欢

转载自blog.csdn.net/Momorey/article/details/86627247