嵌入式第三天

发布时间:2026/7/23 6:24:41
嵌入式第三天 今日学习内容C语言变量规范、表达式与类型转换、全套运算符、优先级规则以及字符IO、scanf/printf格式化输入输出同时弄懂了左值右值、内存赋值规则并且可以用getchar/putchar完成字符处理的实操。一、变量的定义、命名与初始化规则变量本质在内存中开辟一块对应数据类型的存储空间通过变量名访问这块内存。使用原则先定义后使用。命名规范只能由字母、数字、下划线组成不能以数字开头禁止使用C语言关键字尽量见名知意推荐驼峰命名法或者下划线命名不要和库函数重名。初始化与赋值定义变量的时候赋初值叫做初始化定义完成之后再用修改数值叫做赋值。严禁使用未初始化的变量它里面存放的是内存随机垃圾值。各类变量写法short/int/long整型、float/double浮点型、char字符型、bool布尔型各自的定义格式。二、表达式、隐式/强制类型转换表达式运算符把常量、变量拼接而成任何表达式都具备对应的数据类型和结果值。混合运算的转换规则低精度自动向高精度转换优先级从高到低double float 无符号长整型 long int char/short• char、short参与运算时会自动提升为int• float运算时自动提升成double计算• 整型赋值给浮点型扩展精度浮点赋值给整型直接舍弃小数部分。强制类型转换(类型)变量可以人为改变数据类型但是不会修改变量本身内存的值。特殊赋值规则大小空间互相赋值时小数据放进大空间会进行符号扩展大数据存入小空间会直接截断低位极易出现正负颠倒的问题。三、各类运算符详解算术运算符 - * / % –• %取余运算符只允许整型使用浮点不能取模• 前置先自增再取值后置先取值再自增二者只能操作变量不能作用于常量。赋值运算符、、-、*、/、%分清左值和右值只有变量可以放在等号左边左值常量、表达式只能做右值。逗号运算符从左往右依次执行所有式子最终结果取最右侧表达式的值。sizeof运算符用来计算变量/数据类型占用的内存字节数编译阶段完成计算不会运行代码。运算符优先级口诀括号 单目运算符 双目运算符 三目运算符 赋值运算符 逗号运算符双目内部优先级算术 移位 关系 位运算 逻辑运算。四、字符IO与格式化输入输出函数头文件统一使用 #include stdio.h字符专用函数• putchar(字符)向终端输出单个字符• getchar()从键盘读取一个字符返回值为该字符的ASCII码利用这两个函数可以实现小写字母转大写、字符打印等功能。格式化IOscanf() 和 printf()• printf按照格式符输出内容%d整型、%lf双精度浮点、%f单精度float、%c字符• scanf接收键盘输入变量前必须加取地址符格式串内不要随意添加\n、空格极易造成输入阻塞之前踩过全角百分号导致读取失败的坑后续全部使用英文半角符号。字符串IOgets()、puts()了解其用法以及gets存在的缓冲区安全隐患