资讯动态

【无标题】C语言变量,类型转换,运算符,输入和输出

发布时间:2026/9/16 12:05:57 来源:尧图企业网站定制
嵌入式学习Day3C语言变量、类型转换、运算符、输入输出完整的复盘嵌入式学习第三天今天系统啃完C语言变量定义、数据类型转换、全套运算符、输入输出函数都是写代码最基础、每天都会用到的基本功。一、变量的定义规范1.变量定义格式数据类型 变量名;- 数据类型分为基本数据类型、构造数据类型决定变量占用内存大小- 变量名命名规则1. 只能由字母、数字、下划线构成不能以数字开头2. 不能和C语言关键字重名int、if、for这类不能做变量名3. 尽量不和库函数重名4. 命名做到见名知意推荐驼峰法、下划线命名嵌入式Linux内核大量使用下划线命名2.各类变量定义写法1.整型short / unsigned short / int / unsigned int / long / unsigned long2.浮点型float4字节、double8字节高精度3.字符型char、unsigned char串口、字符处理高频4.布尔类型需要头文件 #include stdbool.h bool var;3.变量初始化1.初始化定义变量的时候直接给初值2.赋值定义完成之后再给变量写入数值⚠️重点提醒局部变量不初始化里面是随机垃圾值写代码一定要初始化变量严禁直接使用未初始化变量二、表达式与混合数据类型运算1.表达式运算符把常量、变量连接组成的式子表达式一定有类型、一定有结果值2.自动隐式类型转换规则低精度→高精度转换优先级从小到大char、short → int → long → unsigned → float → double- char、short运算时会强制转为int计算- float运算时会强制提升为double运算一句话运算的时候小类型自动向大类型看齐避免计算丢失精度3.强制类型转换显式转换格式 (目标类型)变量/表达式人为强制改变数据类型使用时要注意精度丢失问题。三、C语言全套运算符1.算数运算符 - * / % --- %取余运算符只能对整数使用浮点不能取余- 自增自减 i 先使用值再1 i 先1再使用值课堂练习题给定数字2389取出千、百、十、个位数字求和练习取余和除法运算。2.赋值运算符 - * / %- 左值等号左边只能放变量常量、表达式不能放左边- 右值等号右边变量、常量、表达式都可以混合赋值的坑点1.整型赋值给浮点自动扩展精度2.浮点赋值给整型直接舍弃小数点后面所有数据3.大数据放进小空间直接截断高位数据数值会出错char ch 355就是典型截断例子3.逗号运算符格式 (表达式1,表达式2,表达式3)从左向右依次执行最终结果取最后一个表达式的值4.sizeof运算符作用计算数据类型/变量占用内存空间大小单位是字节sizeof(int); sizeof(a);嵌入式超级重要写驱动、数组、内存拷贝经常要用sizeof计算长度。5.运算符优先级优先级排序括号 单目运算符 双目运算符 三目运算符 赋值 逗号记不住优先级直接多加小括号代码可读性更高不容易出错。四、输入输出函数stdio.h必须引入头文件 #include stdio.h1.单字符IO函数1. putchar() 输出单个字符到终端只能输出1个字符2. getchar() 从键盘读取单个字符回车才结束输入课堂练习小写字母转大写利用getchar接收putchar打印输出2.格式化IO- printf()格式化打印%d %c %f控制输出格式- scanf()格式化键盘输入注意变量前面必须带取地址符号3.字符串IOgets()、puts()专门用来读取、输出一整行字符串注意gets函数存在缓冲区溢出风险实际项目开发不推荐使用。今日学习感悟前两天熟悉Linux、gcc编译今天正式深耕C语言基础语法我刚开始写代码出莫名其妙bug根源就是变量忘记初始化、类型转换截断数据、运算符优先级搞错。嵌入式底层开发对数据类型极其敏感char、int、unsigned用错寄存器读取直接出错。基础语法看着简单但是每一条规则都要亲手敲代码验证多做课堂练习加深印象。明天继续C语言判断、循环语句。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价