(操作符详解p1)C语言从入门到入土(入门篇)(一)

简介: 1. 操作符分类: 2. 算术操作符 3. 移位操作符 3.1 左移操作符 3.2 右移操作符 4. 位操作符 5. 赋值操作符 6. 单目操作符 6.1 单目操作符介绍 6.2 sizeof 和 数组

//操作符还没有讲完哈!


1. 操作符分类:

算术操作符

移位操作符

位操作符

赋值操作符

单目操作符

关系操作符

逻辑操作符

条件操作符

逗号表达式

下标引用、函数调用和结构成员


2. 算术操作符


+    -   *   /   %


61.png


1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。

2. 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。

3. % 操作符的两个操作数必须为整数。返回的是整除之后的余数。


3. 移位操作符


<< 左移操作符

>> 右移操作符


62.png63.png


注:1.移位操作符的操作数只能是整数。

       2.移动的都是二进制的补码(计算机存储的是补码)。


3.1 左移操作符


移位规则:

左边抛弃、右边补0


64.png

3.2 右移操作符


移位规则:

首先右移运算分两种:

1. 逻辑移位

左边用0填充,右边丢弃

2. 算术移位

左边用原该值的符号位填充,右边丢弃


65.png66.png67.png69.png70.png


ps:

1.我们常见的编译器是算是右移

2.对于移位运算符,不要移动负数位,这个是标准未定义的。

例如:

int num = 10;

num>>-1;//error


4. 位操作符


位操作符有:

& //按位与                

| //按位或

^ //按位异或

注:他们的操作数必须是整数。


71.png72.png73.png


一道变态的面试题:

不能创建临时变量(第三个变量),实现两个数的交换。

#include <stdio.h>
int main()
{
 int a = 10;
 int b = 20;
 a = a^b;
 b = a^b;
 a = a^b;
 printf("a = %d b = %d\n", a, b);
 return 0; }

74.png

相关文章
|
14天前
|
存储 编译器 C语言
爱上C语言:操作符详解(下)
爱上C语言:操作符详解(下)
|
26天前
|
算法 测试技术 C语言
【C语言】异或(^)操作符
【C语言】异或(^)操作符
16 0
|
1月前
|
C语言
王桂林C语言从放弃到入门课程
课程目标16天,每天6节课,每节40分钟课堂实录,带你征服C语言,让所有学过和没有学过C语言的人,或是正准备学习C语言的人,找到学习C语言的不二法门。适用人群所有学过和没有学过C语言的人,或是正准备学习C语言的人!
25 2
王桂林C语言从放弃到入门课程
|
4天前
|
存储 自然语言处理 编译器
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
|
30天前
|
存储 编译器 程序员
C语言第十六弹---操作符(下)
C语言第十六弹---操作符(下)
|
1天前
|
C语言
条件操作符和逻辑操作符(C语言零基础教程)
条件操作符和逻辑操作符(C语言零基础教程)
|
28天前
|
编译器 C语言 索引
C语言操作符详解(上)
C语言操作符详解(上)
46 0
|
28天前
|
Java C语言 C++
C语言由入门到精通(1)介绍与数据类型
C语言由入门到精通(1)介绍与数据类型
|
1月前
|
存储 安全 编译器
【 c 语言 】赋值操作符详解
【 c 语言 】赋值操作符详解
85 0
|
存储 C语言
如何深入掌握C语言操作符及表达式求值(详解)(三)
本文章主要讲解点: ​​​​​​​各种操作符的介绍 表达式求值
如何深入掌握C语言操作符及表达式求值(详解)(三)