cicijiuyingxin 发表于 2025-2-9 07:47:18

Day4c语言基础

主要内容涵盖C语言在USBCDC串口场景下`printf`函数的运用、数制转换、数据类型及常用运算符。
1. C语言USBCDC串口之`printf`函数的实现
   开启宏定义:通过打开USB库中的`PRINTF_HID`宏定义(去掉`//`),实现`printf`函数重定向到USB HID接口输出 。
   理解函数原型:`printf`函数原型为`int printf_hid(const char *fmt, ...)`,`fmt`是格式控制字符串,包含普通字符和转换说明。普通字符原样输出,转换说明以`%`开头,控制参数的转换和打印 。
   转换说明要点
         类型:附加参数可为变量或常量,依据`fmt`字符串确定。
         位置:普通字符和转换说明在双引号内,附加参数在双引号外,以逗号分隔。
         数量:附加参数与转换说明符一一对应,若参数不足,可能输出内存任意值。
   常见格式字符与标志:介绍`%d`、`%f`等格式字符的输出形式,以及`n.m`、`%d`等标志的作用,还有`\n`、`\t`等转义字符的含义 。
   ASCII字符代码表:展示ASCII字符代码表,包括非打印控制字符和打印字符,便于理解字符与代码的对应关系。
2. 数的进制:介绍二进制、八进制、十六进制与十进制的表示方法及相互转换。二进制如`1011`转十进制通过位权展开计算;八进制`0123`、十六进制`0x34A`同理,分别以8、16为基数进行位权运算。
3. 数据的基本类型:C251编译器支持标准C数据类型和特定于该平台的数据类型。如`bit`型占1位,取值0或1;`signed char`占8位,范围是128到+127 。使用64位变量(`double`)需添加`#pragma float64`申明,还可通过`#define`自定义数据类型别名。
4. C语言常用运算符
   算术运算符:包括加(`+`)、减(``)、乘(`*`)、除(`/`)、取模(`%`)、自加(`++`)、自减(``)运算符,用于数值运算。
   关系运算符:如等于(`==`)、不等于(`!=`)、大于(`>`)等,用于比较操作数,结果为真(非0)或假(0),常用于`if`等判断语句。
   逻辑运算符:逻辑与(`&&`)、逻辑或(`||`)、逻辑非(`!`),根据操作数的真假组合得出相应结果。
   赋值运算符:基本赋值(`=`)及复合赋值运算符(`+=`、`=`等),用于给变量赋值或进行运算后赋值。
   位运算符:按位与(`&`)、按位或(`|`)、按位异或(`^`)、取反(`~`)、左移(`<<`)、右移(`>>`),对二进制位进行操作。
   其他运算符:条件运算符(`? :`)根据条件选择不同值;成员运算符(`.`和`>`)用于引用类、结构体和共用体成员;取地址运算符(`&`)获取变量地址;指针运算符(`*`)指向变量;逗号运算符顺序执行运算,以最后一个表达式的值为整个表达式的值。

神农鼎 发表于 2025-2-9 08:31:05

在自己的同一个帖子中发表学习心得{:baoquan:}
页: [1]
查看完整版本: Day4c语言基础