当前位置: 首页 > news >正文

续操作符详解

int main()
{
int a = 0;
//~ 是按二进制位取反
//00000000000000000000000000000000 - 补码
//00000000000000000000000000000000 - 补码
//11111111111111111111111111111111 -> ~a
//11111111111111111111111111111110
//10000000000000000000000000000001
//-1
printf("%d\n", ~a);//-1

return 0;
}
运行结果为-1

int main()
{
int a = 3;
//int b = ++a;//前置++, 先++, 后使用
//a=a+1,b=a;
int b = a++;//后置++, 先使用, 再++
//b=a, a=a+1
printf("%d\n", a);//
printf("%d\n", b);//
return 0;
}
运行结果为4
3

int a = 10;
printf("%d\n", a--);//?
printf("%d\n", a);//?
return 0;
}
运行结果为10
9

int main()
{
int a = 10;
int* p = &a;
*p = 20;
printf("%d\n", a);
return 0;
}
运行结果为20


int main()
{
int a = 0;
printf("%d\n", sizeof(a));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof a);//ok

//printf("%d\n", sizeof int);//err
return 0;
}
//sizeof是操作符, 不是函数
//strlen是库函数, 是用来求字符串长度

6.关系操作符
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”


int main()
{
if (3 == 5)
{
}
//err
if ("abc" == "abcdef")//这样写是在比较2个字符串的首字符的地址
{
}
//两个字符串比较相等应该使用strcmp
return 0;
}

7.逻辑操作符
&& 逻辑与
|| 逻辑或

区分逻辑与和按位与
区分逻辑或和按位或

1&2----->0
1&&2----->1
1|2----->3
1||2----->1


int main()
{
int a = 3;
int b = 5;
int c = a && b;
printf("%d\n", c);
//if (a && b)
//{

//}
return 0;
}

例题://1. 能被4整除,并且不能被100整除
//2. 能被400整除是闰年
int is_leap_year(int y)
{
if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
{
return 1;
}
else
{
return 0;
}
}

int main()
{
return 0;
}


#include <stdio.h>
int main()
{
int i = 0, a = 0, b = 2, c = 3, d = 4;
i = a++ && ++b && d++;

//i = a++||++b||d++;
printf("a = %d\nb = %d\nc = %d\nd = %d\n", a, b, c, d);
return 0;
}
a = 1
b = 2
c = 3
d = 4


8.条件操作符(三目操作符)
表达式1?表达式2:表达式3
真 ✓ ×
假 × ✓

int main()
{
int a = 3;
int b = 0;

int max = (a > b ? a : b);

if (a > 5)
b = 3;
else
b = -3;

(a > 5) ? (b = 3) : (b = -3);

b = (a > 5 ? 3 : -3);

return 0;
}
9. 逗号表达式
exp1, exp2, exp3, ...expN

逗号表达式,就是用逗号隔开的多个表达式
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果
int main()
{
int a = 1;
int b = 2;
int c = (a > b, a = b + 10, a, b = a + 1);
printf("c=%d\n", c);
return 0;
}
运行结果为c=13
10.下标引用、函数调用和结构成员
(1) [] 下标引用操作符
操作数: 一个数组名 + 一个索引值

(2)( ) 函数调用操作符
接受一个或者多个操作数: 第一个操作数是函数名, 剩余的操作数就是传递给函数的参数。

(3)访问一个结构的成员
. 结构体.成员名
-> 结构体指针->成员名

// 下标引用相关代码
int main()
{
int arr[10] = { 0 };
// arr[7] --> *(arr+7) --> *(7+arr) --> 7[arr]
// arr是数组首元素的地址
// arr+7就是跳过7个元素, 指向了第8个元素
// *(arr+7) 就是第8个元素
//
arr[7] = 8;
7[arr] = 9;

//[] arr 7
//3 + 5;
//5 + 3;
return 0;
}

// 函数调用相关代码
//函数定义
int Add(int x, int y)
{
return x + y;
}

int main()
{
int a = 10;
int b = 20;
//函数调用
int c = Add(a, b);//() 就是函数调用操作符,操作数: Add,a,b
//
//sizeof a;
return 0;
}


// 结构成员相关代码
include <string.h>
struct Stu
{
char name[20];
int age;
double score;
};

void set_stu(struct Stu* ps)
{
strcpy((*ps).name, "zhangsan");
(*ps).age = 20;
(*ps).score = 100.0;
}

void print_stu(struct Stu ss)
{
printf("%s %d %lf\n", ss.name, ss.age, ss.score);
}

int main()
{
struct Stu s = {0};
set_stu(&s);
print_stu(s);
return 0;
}

http://www.cnnetsun.cn/news/140011.html

相关文章:

  • vue和springboot框架开发的协同过滤算法的电影推荐系统 电影评价管理系统_ 影评解说系统z9p6gctw
  • vscode 连接失败
  • 【Linux系统】初探虚拟地址空间
  • vue和springboot框架开发的小程序 健身服务与轻食间平台系统健身减肥系统_xj840td0
  • vue和springboot框架开发的小程序儿童疫苗接种预约医疗提醒系统_5dq9226p
  • 【记录】Rust|Rust开发相关的7个VSCode插件的介绍和推荐指数(2025年)
  • C++小程序编写系列(2)
  • python-flask-django公司企业员工出差报销管理系统_04446nsn
  • Glyph2D 同一个图形根据点云的输入产生不同位置的输出
  • Lombok 注解:简化 Java 代码
  • 别让大数据“全表扫描”掏空你:数据分区策略与分区裁剪的实战心经
  • (转载)真正的缘分,“推背感”都跟强
  • Hadoop生态下的数据预处理:MapReduce实战案例解析
  • 2025 年 CTF 零基础入门全攻略!新手必藏!这种实战网络对抗机会千万别错过!
  • 新手也能轻松建站!VanBlog+cpolar让博客创作和分享更简单
  • vue导出excel文件
  • 基于STM32的自动售货机控制系统设计
  • 液压挖掘机回转能量回收系统设计与仿真
  • android 媒体之 MediaSession
  • 校园网络规划
  • 护眼灯已足够优秀,为何仍需眼调节训练灯?答案藏在近视防控里
  • Visual Studio中的多态
  • MindSpore硬核实战:彻底搞懂自动混合精度(AMP)与函数式训练
  • Java异常处理详解。零基础小白到精通,收藏这篇就够了
  • 基于深度学习YOLOv12的犬种识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 基于深度学习YOLOv11的犬种识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • [插电式混合动力车辆][交替方向乘子法(ADMM)结合CVX]插电式混合动力车辆的能源管理:基于凸优化算法用于模型预测控制MPC研究附Matlab代码
  • 【别花冤枉钱】学生党专享!2025年把AI率90%降到10%的“低成本”组合拳(含免费/付费工具避坑指南)
  • 前端Vue制作日历插件FullCalendar,零基础入门到精通,收藏这篇就够了
  • 基于MPC算法的P2构型混合动力汽车能量管理优化策略