笔记: C语言中的骚操作 (带参宏定义及三目运算实例)

C语言中带参宏定义 #include /* 1.带参宏定义中,宏名和形参表之间不能有空格出现 2.宏定义中不存在值传递,它只是一个符号的替换过程 3.带参宏定义中,形参不分配内存空间,因此不必做类型定义 */ /* #define MAX(a,b) (a>b)?a:b void main(void) { int x,y,max; printf("Plasy input two numbers :"); 阅读详情

示例1: 带参宏定义及三目运算实例

带参宏定义 就是带参数的宏定义, 类似函数。

三目运算 : A?B:C 即: A为真, 则输出B, 为假则输出C。



//n=1输出高电平

#define CON1_1_PC12(n)          (n?HAL_GPIO_WritePin(GPIOC,GPIO_PIN_12,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOC,GPIO_PIN_12,GPIO_PIN_RESET))    

#ifdef  CON1_USE_OUTPIN
#define CON1_1_ON        CON1_1_PC12(1)
#define CON1_1_OFF       CON1_1_PC12(0)
#endif

使用n来选择 , 非常方便的进行管脚设置,而且代码也好看,可读性高。

示例2: 巧用return实现斐波那契数列递归 

/*由三目运算可知*/
return i ==0?0:1;  //等价于
if(i==0)
{
return 0;
}else
{
return 1;
}

因此:


int fbi(int i)
{
if(i<2)
return i ==0?0:1;
return fbi(i-1)+fbi(i-2);
}

int main()
{
int i ;
for(i=0;i<40;i++)
printf("%d",fbi(i));
retunr 0;
}

GmSSL国密双证书实战:从生成到Nginx配置全流程 本文详细介绍了使用GmSSL工具生成国密双证书(签名证书与加密证书)并配置Nginx支持国密HTTPS(TLCP协议)的全流程。内容涵盖环境准备、自签CA创建、服务器双证书生成、Nginx单向/双向认证配置以及兼容性处理,为部署符合国密标准的HTTPS服务提供实战指南。 阅读详情

相关推荐

【低空经济】无人机充电站设计方案

随着无人机技术的快速发展和广泛应用,其在物流、农业、巡检、救援等领域的应用日益普及。然而,无人机的续航能力一直是限制其大规模应用的关键因素之一。为了解决这一问题,无人机充电站的设计与建设显得尤为重要。本项目旨在设计一套高效、智能、可扩展的无人机充电站系统,以满足不同场景下无人机的充电需求,提升其作业效率和应用范围。无人机充电站的设计将围绕以下几个核心目标展开:首先,充电站应具备快速充电能力,以减少无人机的停机时间,提高作业效率;

2960

三目运算的宏定义

三目运算的宏定义

现从事游戏开发领域 | 团队项目be_with开发进行中 web方向感兴趣者私 ——We can do all things. 1436

Web3前沿技术的智能合约安全审计

随着Web3技术的快速发展,智能合约作为区块链应用的核心组件,其安全性问题日益突出。本文旨在系统性地介绍智能合约安全审计的技术体系,帮助开发者理解智能合约安全风险,掌握安全审计的方法论和工具链。智能合约安全的基本概念常见漏洞类型及其原理安全审计的技术方法实际审计案例分析安全审计工具和资源首先介绍基本概念和背景然后分析常见漏洞和安全风险接着详细讲解安全审计技术提供实际案例和代码示例最后讨论工具资源和未来趋势智能合约:运行在区块链上的自执行程序,代码即法律安全审计。

AI天才研究院 1547

1.结合宏定义三目运算符实现两个数求最大值

结合宏定义和三目运算符实现两个数求最大值

m0_47672680的博客 881

Swift Package Manager (SPM) 创建并集成本地库

Swift Package Manager (SPM) 在macOS 项目中创建并集成的完整步骤

征战无悔人生 1423

如何用 Claude Code 做代码重构,而不是重写

摘要: 在使用Claude Code进行代码优化时,AI容易“重写”而非“重构”,导致改动过大、review困难。本文提出3个关键约束方法:1)限制修改范围(如仅修改指定函数);2)明确不改变代码行为;3)要求最小必要修改。通过分步骤重构、先获取重构建议再修改、使用标准模板(保持函数签名/输入输出/结构不变)等方式,可使AI输出更符合工程需求的小范围安全重构。对于彻底混乱的代码,才建议直接重写。核心在于通过提示词精准约束AI的修改行为,将其转化为高效的代码重构助手。

sg_knight的专栏 981

宏定义三目运算符

//第一版本 #define MAXValue(A,B) A > B ? A : B //第二版本 #define MAXValue1(A,B) (A) > (B) ? (A) : (B) //第三个版本 #define MAXValue2(A,B) ((A) > (B) ? (A) : (B)) //第四个版本 #define MAXValue4(A,B) ({int __a =

SoundsGood的博客 6990

字符编码——简体中文编码中区位码、国标码、内码、外码、字形码的区别及关系

目录区位码国标码(交换码)内码(机内码)区位码、国际码、内码的转换为什么要加上20H为什么加上80H 本文以GB2312为例,讲述区位码、国标码、内码、外码、字形码 区位码 整个GB2312字符集分成94个区,每区有94个位,每个区位上只有一个字符,即每区含有94个汉字或符号,用所在的区和位来对字符进行编码(实际上就是字符编号、码点编号),因此称为区位码。 换言之,GB2312将包括汉字在内的所有字符编入一个94 * 94的二维表,行就是“区”、列就是“位”,每个字符由区、位唯一定位,其对应的区、位编号合并

路人coder 5341

求职复盘 - 三目运算符与宏定义(如何使用宏定义与三目运算符实现如下功能?)

三目运算符可以用于各种编程语言中,如 C、C++、Java、Python、JavaScript、PHP 等。但是,也要注意不要滥用三目运算符,避免造成代码的可读性和维护性降低。双目运算符是一种需要两个操作数来进行运算的运算符,例如加法、减法、乘法、除法、赋值、比较等。这个语句的意思是,如果 x 大于 y,则把 x 的值赋给 a,否则把 y 的值赋给 a。三目运算符是一种简化 if-else 语句的运算符,它可以根据一个条件表达式的真假来返回两个不同的值。如果条件表达式为真,则返回值1,否则返回值2。

yizhitooz的博客 385

第133章 PCL OrientedBoundingBox 有向包围盒

中文叫有向包围盒,是一种旋转过的包围盒。特点:不像AABB那样固定朝向坐标轴能更紧密地包裹物体适用于复杂姿态的物体,比如倾斜、旋转的物体通常通过PCA、惯性矩等算法确定方向。

yumeiguo的博客 264

基于SC、SCL、BP、SCAN和SSC的译码算法及Matlab代码

本文将介绍几种常见的译码算法,包括SC(Successive Cancellation)、SCL(Successive Cancellation List)、BP(Belief Propagation)、SCAN(Soft-Input Soft-Output Successive Cancellation)、SSC(Stacked Successive Cancellation)的原理,并提供相应的Matlab代码实现。以上是基于SC、SCL、BP、SCAN和SSC的译码算法的Matlab代码示例。

ByteWhisper的博客 946

C语言三目运算符

1、三目运算符 三目运算符也叫条件运算符、三元运算符,是由一个问号和一个冒号组成。 语法: 表达式1?表达式2:表达式3; 语义: 先执行表达式1,如果表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果;如果表达式1的结果如果为假,执行表达式3,运算式的结果是表达式3的结果。 int a,b,c; a=7; b=6; c=(a>b)?a...

C语言技术网-码农有道 3万+

FastGPT智能体开发:FastGPT OpenAPI 知识库接口

FastGPT OpenAPI 知识库接口

王国平的博客 323

05c语言——宏定义、带参宏、带参宏函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录一、宏定义1.使用规则2.注意二、带参宏2.读入数据总结 一、宏定义 1.使用规则 #define 标识符 字符串 #define PI 3.1415926 本质:字符串的替换 运行阶段:在程序的预处理阶段 2.注意 注意: (1)宏名一般要大写(书写习惯,也可以用小写),将系统中本来存在的一些变量名区分开 (2)使用宏名代替字符串串,可以减少书写重复字符串的工作量 (3)宏定义不是c语句,不必在行末加分号,如果加分号会将分号也进

mindDJX的博客 8479

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C语言-三目运算

当我看到正点原子关于STM32F103的第十八章的软件设计的lcd.c文件中的某个函数代码如下: //在指定位置显示一个字符 //x,y:起始坐标 //num:要显示的字符:" “—>”~" //size:字体大小 12/16/24 //mode:叠加方式(1)还是非叠加方式(0) void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode) { u8 temp,t1,t; u16 y0=y; u8 csize=(size/8+((si

weixin_44403365的博客 3176

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C语言三目运算符 - C语言零基础入门教程

目录 一.C 语言三目运算符简介 二.C 语言三目运算符实战 1.使用三目运算符 2.使用 if / else 条件判断 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.C 语言三目运算符简介 三目运算符,又称条件运算符,是计算机语言([C](https://www.codersrc.com/c%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80),C++,Java等)的重要组成部分。它是唯一有 3 个操作数

猿说编程 6万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

解释 C 语言中的三目运算符?

C 语言中的三目运算符 在 C 语言中,三目运算符(也称为条件运算符)是一种简洁的条件判断和赋值操作的结合。它提供了一种在一行代码中根据条件执行不同赋值操作的便捷方式。 **三目运算符的语法** 三目运算符的语法如下: ```c condition? expression1 : expression2 ``` 其中,`condition` 是一个条件表达式,其结果为布尔值(真或假)。如果 `condition` 为真(非零值),则整个表达式的值为 `expression1` 的值;如果 `cond

发现生活,分享智慧,一起成长! 4603

C语言:三目运算符 “?”号

三目运算符的表示一般为“?:”,该运算符连接3个对象,是C语言中唯一一个三目运算符,又称条件运算符。它的一般形式如下:表达式a?表达式b:表达式c 其执行步骤如下: (1)计算表达式a的值。 (2)如果表达式a的值为1,则执行表达式b。 (3)如果表达式b的值为0,则执行表达式c。 注意:当有多个三目运算符时,按从右至左的顺序运算。 例如,下面两个表达式是等价的:a<b...

Yummy的博客 1万+

C语言中的宏定义:无参宏与带参宏的详细解析

无参宏定义是最基础的宏定义形式,通常用于定义常量或简单代码片段。它在代码预处理阶段被直接替换为定义的内容。解释:在预处理阶段,代码中的PI会被替换为3.14159,类似于文本替换,但无类型约束。return 0;return 0;解释:这里是一个无参宏,调用时会直接被替换为\n")。带参宏定义可以接受参数,从而增强其功能。它常被用于定义小型的代码逻辑片段。

HG的博客 1454

【C语言】宏定义和带参宏定义

宏定义是在编程中经常使用的一个模块,其优点在于当写的代码量比较大的时候方便修改检查,可以做到改一变“百”。 一.宏定义** 宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如果有错误,只能在编译已被宏展开后的源程序时发现。 宏定义不是说明或语句,在行末不必加分号,如果加上分号则连分号也一起置换。 宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用可使用.

m0_52586550的博客 4628

C语言中的自增/自减和三目运算符:灵活但易混淆的语法

本文深入浅出地讲解了C语言中自增(++)、自减(--)运算符以及三目运算符的使用方法和注意事项。自增和自减运算符分为前缀和后缀形式,主要区别在于操作顺序,实际应用中需根据需求选择合适的形式。三目运算符则是一种简洁的条件表达式,用于快速判断并返回结果。文章通过生活实例和代码示例,帮助读者更好地理解这些语法的特点,并提醒注意常见错误和逻辑清晰性。最后,通过流程图总结了自增/自减和三目运算符的执行流程,为C语言学习者提供了实用的参考。

NAN的博客 1168

三目运算符

文章目录1 C语言中的三目运算符1.1 三目运算符的规则2 C++中的三目运算符 1 C语言中的三目运算符 1.1 三目运算符的规则 三目运算符(a?b:c)可以作为逻辑运算的载体。 三目运算符的规则: 当a的值为真时,返回b的值;否则返回c的值。 三目运算符的返回类型: 通过隐式类型转换规则返回b和c中的较高类型。 当b和c不能隐式转换到同一类型时将编译出错。 返回值不能作为左值,尤其注意...

木子皿--啥都不会的菜鸟 1万+

C语言中的双目操作符、单目操作符和三目操作符

双目操作符、单目操作符、三目操作符

weixin_71853810的博客 3199

在c语言中 三目,c语言中三目运算符的使用方法

c语言中三目运算符的使用方法发布时间:2020-06-28 19:14:10来源:亿速云阅读:96作者:元一这篇文章将为大家详细讲解有关c语言中三目运算符的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,有时又称为三元运算符。一般来...

weixin_33215370的博客 6749

C语言中的嵌套三目运算符:实际场景中的应用与实践

三目运算符是一种简洁的条件表达式工具,允许开发者在一行代码中完成条件判断和赋值操作,提升代码可读性和效率。嵌套三目运算符进一步简化代码,但可能降低可读性。本文探讨了嵌套三目运算符的定义、语法、典型场景(如数值比较、字符串处理、数组操作)、优缺点及使用建议。优点包括代码简洁和执行效率高,缺点是嵌套过深时难以阅读和调试。建议避免过度嵌套,使用括号明确逻辑,保持表达式类型一致。实际案例展示了嵌套三目运算符在成绩等级判断中的应用,并强调复杂逻辑应优先使用if-else语句或函数封装,以提高代码可维护性。

NAN的博客 862

C语言知识点——三目运算符

三元运算符,是由一个问号和一个冒号组成。(? :),是 C语言中惟一的一个三目运算符,由条件运算符可以构成条件表达式,它的格式为。这是一个嵌套的条件表达式,先算内层的条件表达式,再算外层的条件表达式。条件操作符属于三目操作符。

qq_43003456的博客 2万+
上一篇: 再谈51单片机的printf串口输出问题
下一篇: STM32 HAL 库 串口 函数HAL_UART_Transmit的BUG问题 及解决方法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值