C语言学习(四)--操作符

  • 算数操作符
+
-
*
/
% 取模
  • 移位操作符
>> 右移
<< 左移
  • 位操作符
& 按位与操作,只有两个位都是1,才是1,否则是0
| 按位或操作,只有两个位都是0,才是0,否则是1
^ 按位异或操作,如果两个位不一样结果为1,如果相同,结果为0
  • 复合赋值符
+= -= *= /= %=
<<= >>= &= ^= |=

比如a += b 就是a = a+b,其它的复合赋值符操作相似。

  • 单目操作符
逻辑取反 ++
c=++a:表示将a自增,再赋值给c

c=a++:表示将a赋值给c,a再自增

~ 求补操作,1位变成0,0位变成1 -- 同上,只是减法
- 负数 + 正数
& 取地址符 * 与指针一起用,用于访问指针所指向的值
sizeof 获取类型长度,以字节表示 (类型) 强制类型转换
  • 关系操作符
> 大于 >= 大于等于
< 小于 <= 小于等于
!= 不等于 == 相等
  • 逻辑操作符
&& expression1 && expression2,只有两边的表达式值都是真,结果才是真,如果其中有一个为假,结果就是假
|| expression1 || expression2,只有两边的表达式值都是假,结果才是假,如果其中有一个为真,结果就是真
  • 条件操作符
expression1 ?expression2 :expression3
如果expression1的值为真,整个表达式的值就是expression2的值,否则执行expression3获得的值
  • 逗号操作符
expression1, expression2, expression3
这些表达式从左往右逐个求值,整个逗号表达式的值就是最后那个表达式的值

原文地址:https://www.cnblogs.com/mujiujiu/p/9291102.html

时间: 2024-08-05 08:43:05

C语言学习(四)--操作符的相关文章

Go语言学习(四)常用类型介绍

1.布尔类型 var v1 bool v1 = true; v2 := (1==2) // v2也会被推导为bool类型 2.整型 类 型 长度(字节) 值 范 围 int8 1 ? 128 ~ 127 uint8(即byte)1 0 ~ 255 int16 2 ? 32 768 ~ 32 767 uint16 2 0 ~ 65 535 int32 4 ? 2 147 483 648 ~ 2 147 483 647 uint32 4 0 ~ 4 294 967 295 int64 8 ? 9 2

Go语言学习(四)经常使用类型介绍

1.布尔类型 var v1 bool v1 = true; v2 := (1==2) // v2也会被推导为bool类型 2.整型 类 型 长度(字节) 值 范 围 int8 1 ? 128 ~ 127 uint8(即byte)1 0 ~ 255 int16 2 ? 32 768 ~ 32 767 uint16 2 0 ~ 65 535 int32 4 ? 2 147 483 648 ~ 2 147 483 647 uint32 4 0 ~ 4 294 967 295 int64 8 ? 9 2

go语言学习四 - 复合类型字面量声明

package main import ( "encoding/json" "fmt" ) func main() { //go语言的复合大括号文面量声明非常强大和灵活 //只要在最外层声明完整的复合类型在大括号内部就不需要再声明类型而直接用大括号了 a := [][]int{ {1, 2, 3, 4}, //这里不必再用 []int{1,2,3,4} 声明,如果用的话编译器提示冗余的类型声明(Redundant type declaration) {5, 6, 7

OC语言学习 (四) SEL对象,用于日志输出的宏

SEL 对象即一个selector对象,保存一个方法的地址. Person.h #ifndef oc_Person_h #define oc_Person_h @interface Person : NSObject { int age; @protected float height; } @property int age; //编译器自动解释成 int age的get/set方法 - (void) say; - (void) testSEL; @end #endif Person.m #i

脚本语言学习(四)

time库的使用 time库是python中处理时间的标准库 使用import time和time.<b>()调用的格式即可使用 作用:计算机时间的表达:提供获取系统时间并格式化输出的功能:提供系统级精确计时功能,可用于程序性能分析 time库包含三类函数: 时间获取:time(),ctime(),gmtime() 时间格式化:strftime(),strptime() 程序计时:sleep(),perf_counter() 时间获取 时间戳:时间戳就是指当前系统中表示时间的一个浮点数,是计算

C++语言学习(四)——类与对象

C++语言学习(四)--类与对象 一.构造函数(constructor) 1.构造函数简介 C++语言中,构造函数是与类名相同的特殊成员函数.在类对象创建时,自动调用构造函数,完成类对象的初始化.类对象本身是变量,在栈.堆上创建的对象,对象的成员初始化为随机值:在静态存储区创建的对象,对象的成员初始化为0. 2.构造函数的定义 构造函数声明的语法如下:classname(parameters);没有参数的构造函数称为无参构造函数.当类中没有定义构造函数(包括拷贝构造函数)时,编译器默认提供一个无

C++语言学习(十四)——C++类成员函数调用分析

C++语言学习(十四)--C++类成员函数调用分析 一.C++成员函数 1.C++成员函数的编译 C++中的函数在编译时会根据命名空间.类.参数签名等信息进行重新命名,形成新的函数名.函数重命名的过程通过一个特殊的Name Mangling(名字编码)算法来实现.Name Mangling算法是一种可逆的算法,既可以通过现有函数名计算出新函数名,也可以通过新函数名逆向推导出原有函数名.Name Mangling算法可以确保新函数名的唯一性,只要命名空间.所属的类.参数签名等有一个不同,那么产生的

IOS学习笔记---C语言第四天

1 //?生成2个数组,每个数组都有10个元素,元素取值范围20-40之间,数组对应元素相 加,放到另外?一个数组中 2 #import <Foundation/Foundation.h> 3 4 int main(int argc, const char * argv[]) 5 { 6 7 int num1[10]={0},num2[10]={0},num3[10]={0}; 8 for (int i = 0; i<10; i++) { 9 num1[i]=arc4random()%2

iOS学习笔记---oc语言第四天

字符串 数组 一.使用苹果帮助文档 学会使?用苹果帮助?文档是开发者的?一项技能 Inherits from 继承?自 Conforms to 遵循什么协议 Framework 属于哪个框架 Availability 什么时候可?用的 Declared in 声明在什么头文件?里 Related documents 相关文档 Sample code ?示例代码 快速打开帮助文档 在代码中,将?鼠标停留在 类名或者?法名上,option+?鼠标左键,点击 Reference的超链接进?入帮助?文档