找回密码
 立即注册
查看: 201|回复: 1

Day4c语言基础

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-02-12 22:28:08
已绑定手机

7

主题

-1

回帖

52

积分

注册会员

积分
52
发表于 2025-2-9 07:47:18 | 显示全部楼层 |阅读模式
主要内容涵盖C语言在USB  CDC串口场景下`printf`函数的运用、数制转换、数据类型及常用运算符。
1. C语言USB  CDC串口之`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`等判断语句。
     逻辑运算符:逻辑与(`&&`)、逻辑或(`||`)、逻辑非(`!`),根据操作数的真假组合得出相应结果。
     赋值运算符:基本赋值(`=`)及复合赋值运算符(`+=`、`=`等),用于给变量赋值或进行运算后赋值。
     位运算符:按位与(`&`)、按位或(`|`)、按位异或(`^`)、取反(`~`)、左移(`<<`)、右移(`>>`),对二进制位进行操作。
     其他运算符:条件运算符(`? :`)根据条件选择不同值;成员运算符(`.`和`>`)用于引用类、结构体和共用体成员;取地址运算符(`&`)获取变量地址;指针运算符(`*`)指向变量;逗号运算符顺序执行运算,以最后一个表达式的值为整个表达式的值。

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15648
发表于 2025-2-9 08:31:05 | 显示全部楼层
在自己的同一个帖子中发表学习心得
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 01:20 , Processed in 0.106543 second(s), 55 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表