C语言笔记 12

news/2024/10/14 21:12:36 标签: c语言, 笔记, 算法

逻辑类型


bool:在“#include <stdbool.h>”之后就可以使用bool和true、false

并没有真正的bool量的类型

逻辑运算


  • 逻辑运算是对逻辑量进行的运算,结果只有0或1
  • 逻辑量是关系运算或逻辑运算的结果
运算符描述示例结果
!逻辑非!a如果a是true结果就是false;如果a是false结果就是true
&&逻辑与a&&b如果a和b都是true,结果就是true;否则就是false
||逻辑或a||b如果a和b有一个是true,结果为true;两个都是false,结果为false

如果要表达数学中的区间,如:x\epsilon(4,6)或x\epsilon[4,6],用C如何写?

像4<x<6这样的式子,不是C能正确计算的式子,因为4<x的结果是一个逻辑值(0或1)

正确表达式:x>4&&x<6

判断一个字符是否是大写字母

c>='A'&&c<='Z' 

*  !age<20 \Rightarrow 先!与age结合,在与<20判断;而不是age>=20

优先级

! > && > ||  (括号可以提高优先级)

优先级运算符结合性
1()从左到右
2! + - ++ --从右到左(单目的+和-)
3* / %从左到右
4+ -从左到右
5< <= > >=从左到右
6== !=从左到右
7&&从左到右
8||从左到右
9= += -= *= /= %=从右到左

短路

逻辑运算是自左向右进行的,如果左边的结果已经能够决定结果了,就不会做右边的计算

  • 对于&&,左边是false时就不做右边了
  • 对于||,左边是true时就不做右边了

不要把赋值,包括复合赋值组合进表达式!

条件运算和逗号运算


条件运算符

eg,  count = (count > 20)?count - 10 : count + 10;

?前是条件,后是条件满足时的值,:后是条件不满足时的值

相当于

if ( count > 20 )

  count = count - 10;

else

  count = count +10;

条件运算符是自右向左结合的

程序太复杂,可读性差

逗号运算符

逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果。

eg,        i = 3+4 , 5+6

        3+4赋给了i,而5+6没有赋给任何变量

逗号表达式主要在for中使用

eg,   for( i=0, j=10; i++, j-- )……


http://www.niftyadmin.cn/n/5705112.html

相关文章

Mac 窗口切换技巧:大幅提高效率的必备指南

在日常使用 Mac 电脑的过程中&#xff0c;高效地切换窗口可以极大地提升工作效率。无论是在多个文档之间快速切换&#xff0c;还是在不同的应用程序之间自如跳转&#xff0c;掌握一些实用的窗口切换技巧能让你的操作如鱼得水。下面就为大家详细介绍一些 Mac 窗口切换的技巧。 …

AtCoder Beginner Contest 374 A-E

本期封面 画师Li Flag AtCoder Beginner Contest 374 A - Takahashi san 2 题意 字符串是否已san结尾 代码 #include <bits/stdc.h> #define mod 998244353 using namespace std; typedef long long ll; typedef double db; typedef pair<int,int> pii; typed…

pytorh学习笔记——波士顿房价预测

机器学习的“hello world”&#xff1a;波士顿房价预测 波士顿房价预测的背景不用提了&#xff0c;简单了解一下数据集的结构。 波士顿房价的数据集&#xff0c;共有506组数据&#xff0c;每组数据共14项&#xff0c;前13项是影响房价的各种因素&#xff0c;比如&…

架构设计笔记-13-层次式架构设计理论与实践

目录 知识要点 综合知识 案例分析 1.SSM框架 2.MVC模式&#xff0c;XML 3.MVC架构脆弱性 4.容器技术的优势 5.对象关系映射ORM技术 知识要点 一般来说&#xff0c;架构可以分为表现层、中间层和持久层三个层次。 表现层&#xff1a;表现层主要负责接收用户的请求&…

QT通过QLocalSocket和QSharedMemory实现进程间通信

文章目录 QLocalSocket和QLocalServer客户端服务端QSharedMemory加载数据到共享内存从共享内存中读取数据进程间通信(Inter-Process Communication, IPC)是指在不同进程之间进行数据交换和消息传递的机制。由于不同进程之间在内存和资源使用上的隔离,IPC 是操作系统提供的一种…

YOLO11 实例分割 | 自动标注 | 预标注 | 标签格式转换 | 手动校正标签

本文分享使用YOLO11进行实例分割时&#xff0c;实现模型推理预标注、自动标注、标签格式转换、以及使用Labelme手动校正标签等功能。 目录 1、预训练权重 2、生成预标注 3、生成json标注文件 4、手动校正标签 5、Labelme的json转为YOLO的txt 6、迭代优化模型&#xff08…

模板的路由的配置

1.安装路由 pnpm install vue-router 2.配置相应的路由 routes.ts //对外暴露这些配置的路由(常量路由)export const constantRoutes [{path: /login,name: login,//命名路由 权限用到component: () > import(/views/login/LoginPage.vue)},{path: /,name: layout,compo…