C语言操作符简单介绍
来源:互联网 发布:宁夏干部网络培训学校, 编辑:程序博客网 时间:2024/05/22 03:23
在C语言中,操作符主要包括算数操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。
以下为各操作符简单介绍:
1.算术操作符:
+ — * / %
例:
定义整型变量 a = 4,b = 2.
运算符
含义
运算操作
结果
+
加法运算符
a + b
a和b的和 6
-
减法运算符
a - b
a和b的差 2
*
乘法运算符
a*b
a和b的乘积 8
/
除法运算符
a/b
a除以b的商 2
%
求余运算符
a%b
a除以b的余数 0
+
正号运算符(单目运算符)
+a
a 4
-
负号运算符(单目运算符)
-b
-b的值 -2
注:
<1>.除了%操作符之外,其他的几个操作符可以作用于整数和浮点数;
<2>.对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法;
<3>.%操作符的两个操作数必须为整数。返回的是整除之后的余数。
2.移位操作符
<< 左移操作符
>> 右移操作符
<1>.左移操作符 <<
移位规则:
左边抛弃,右边补零
注:实际上变量(a)在没有被赋值的情况下,自身的值不会变化。
<2>.右移操作符 >>
右移运算分为逻辑右移和算数右移两种
其移位规则为:
逻辑右移: 左边用0补充,右边丢弃
算数右移: 左边用原该值的符号位填充,右边丢弃
例:
int num = -1;
则在内存中存储的补码为(32个1):
11111111111111111111111111111111
(注:整型在内存中的存储为原数值的补码。其中正数的原码、反码、补码都相同,都为其原码;负数的补码为反码 + 1 .
例:int a =1;
原码:00000000000000000000000000000001
反码:00000000000000000000000000000001
补码:00000000000000000000000000000001
int b = -1;
原码:10000000000000000000000000000001
反码:11111111111111111111111111111110 <符号位不变>
补码:11111111111111111111111111111111 <反码+1>
)
逻辑右移:
左边补零
01111111111111111111111111111111
(最右边的1丢弃)
算数右移:
左边用该原值的符号位填充
11111111111111111111111111111111
(最右边的1丢弃)
注:
对于移位运算符,不要移动负数位,是标准为定义的。
3.位操作符
& 按位与
| 按位或
^ 按位异或 (不同为真)
例: int a =13;
int b = 5;
a 00000000000000000000000000001101
b 00000000000000000000000000000101
a&b 00000000000000000000000000000101
a|b 00000000000000000000000000001101
a^b 00000000000000000000000000001000
注:
操作数必须为整数
4.赋值操作符
= += -= *= /= %= >>= <<= &= |= ^=
例:
int x = 8;
x = x + 10;
x += 10; //复合赋值,x +=10; 与 x = x + 10;得到的解果是相同的。其余运算符用法相似。
5.单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置--;后置--
++ 前置++;后置++
* 简介访问操作符(解引用操作符)
(类型) 强制转换类型
注:后置++ (--) 的用法为先引用、后运算;前置++(--) 的用法为先运算,后引用。
例:
#include<stdio.h>
int main()
{
int i = 2;
int j = 5;
int x = i++;
int y = --j;
printf("i = %d x = %d j = %d y = %d\n ",i,x,j,y); //输出结果为i =3 x = 2 j = 4 y = 4
return 0;
}
6.关系操作符
> >= < <= != ==
(大于)(大于等于)(小于)(小于等于)(不相等)(相等)
注:
!= 用于测试“不相等”;
== 用于测试“相等”;
不要将 == 和 = 用混了,== 为比较是否相等,= 用于赋值。
7.逻辑操作符
&& 逻辑与
|| 逻辑或
注:
这里注意区分逻辑与和按位与 以及 逻辑或和按位或;
例:
1 & 2 ————> 0 按位与
1 && 2————>1 逻辑与
1|2————>3 按位或
1||2————>1 逻辑或
8.条件操作符
exp1 ? exp2 : exp3
判断exp1是否为真,若为真,则exp2;若为假,则exp3
9.逗号表达式
用逗号隔开的多个表达式
例:
exp1 , exp2 ,exp3,…… expn
注:逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
例:
#include<stdio.h>
int main()
{
int i,j;
for(i = 0 , j = 0; i < 2 , j < 5; i++ , j++)
{
printf("c\n"); //共输出5个c
}
}
10.下标引用、函数调用和结构成员
(1)[ ]
操作数:一个数组名 + 一个索引值
例:
int arr[20]; //创建数组
arr[10] = 10; //使用下标引用操作符
[ ]的两个操作数是arr和9。
(2) ()
函数调用操作符
接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数是传递给函数的参数。
(3)访问一个结构体的成员
.结构体.成员名
->结构体指针->成员名
- C语言操作符简单介绍
- C语言操作符简单介绍
- #C语言.操作符和表达式简单介绍
- C语言各种操作符介绍
- c语言有关操作符(运算符)的简单介绍
- C语言中 数组的运算及sizeof()和strlen()操作符的简单介绍
- 7_21|C语言|操作符注意事项|sizeof使用讲解|结构体简单介绍
- c语言操作符简单总结
- c语言数组简单介绍
- 简单c语言程序介绍
- C语言的简单介绍
- C 语言知识点简单介绍
- C语言简单文件操作
- C语言位运算符异或^的简单介绍
- C**语言特性介绍(1) --- 自乘操作符
- C语言操作符的介绍及总结
- 简单介绍Linux中C语言妙用
- c语言基本数据类型简单介绍
- 指针的基本用法
- 浅谈define与inline的区别及程序说明
- python读取csv文件是报错_csv.Error: iterator should return strings, not bytes (did you open the file in text
- 5.11 开-闭原子(略)
- 【SpringMVC】适配器
- C语言操作符简单介绍
- 7.0新特性新1
- 小算法-快速幂
- 5.12 应用举例(略)
- QT android开发中QMainWindow的背景图片设置
- 空格替换 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一
- pat b 1033 旧键盘打字
- java中的栈和堆以及常量池(一)
- sqlite学习笔记(4)使用TCL测试脚本