文章目录前言一、C 语言变量核心知识点1. 变量定义概念2. 变量命名规范3. 不同类型变量定义格式4. 初始化与赋值区别二、表达式与数据类型转换1. 表达式基础定义2. 混合运算自动转换规则3. 两种类型转换方式4. 赋值时数据截断 / 扩展规则三、C 语言全部常用运算符详解1. 算术运算符2. 赋值运算符3. 逗号运算符4. sizeof 运算符5. 运算符优先级从高到低四、标准输入输出函数stdio.h1. 必备头文件2. 字符IO函数putchar /getchar3. 格式化 IO 与字符串 IO总结1. 今日掌握核心内容2. 学习难点梳理前言前两日学习了 Linux 基础操作、gcc 编译流程与 C 语言基础数据类型今天从变量知识点开始完整学习变量规范、表达式运算、隐式 / 强制类型转换、全部常用运算符以及 stdio 库下字符输入输出函数本篇整理全部学习内容与个人学习总结。一、C 语言变量核心知识点1. 变量定义概念变量是程序运行过程中值可以发生改变的量程序运行时会在内存中开辟专属存储空间通过变量名读写内部数据变量必须先定义后使用。2. 变量命名规范1)变量名仅支持字母、数字、下划线存在硬性约束不能以数字开头2)禁止和 C 语言关键字重名尽量不与库函数重名如printf不建议作为变量名3)推荐见名知意两种主流命名风格驼峰命名TempVal、MaxNumLinux 下划线命名temp_val、avg_score3. 不同类型变量定义格式// 整型变量 short var;unsigned short var;int var;unsigned int var;long var;unsigned long var;// 浮点型变量 float var;double var;// 字符型变量 char var;unsigned char var;// 布尔变量需引入头文件stdbool.h#include stdbool.hbool var;4. 初始化与赋值区别1)初始化定义变量时直接赋予初始值推荐所有变量初始化避免随机垃圾值intnum10;2)赋值变量定义完成后通过修改存储空间内数据intnum;num10;重要注意未初始化的变量内存中是随机值业务代码严禁直接使用。二、表达式与数据类型转换1. 表达式基础定义由常量、变量通过运算符连接组成的式子所有表达式同时具备值和数据类型两个属性。2. 混合运算自动转换规则运算时两端数据类型不一致低精度类型会自动转为高精度统一运算1char/short参与运算自动提升为int2float参与运算自动提升为double3精度优先级从高到低doublefloatunsigned longlongunsigned intintchar/short4同字节长度下无符号类型精度高于有符号类型。3. 两种类型转换方式1隐式转换混合运算、赋值时系统自动完成无需手动书写2强制显式转换手动指定目标类型格式(数据类型)变量/表达式inta20;doubleb(double)a;4. 赋值时数据截断 / 扩展规则1整型赋值浮点扩展精度小数位补 02浮点赋值整型直接舍弃小数点后所有数据3有符号、无符号互赋直接拷贝内存二进制不做数值换算4小数存入大空间有符号数扩展符号位无符号数补 05大数存入小空间仅保留二进制低位可能出现正负翻转。三、C 语言全部常用运算符详解1. 算术运算符符号 - * / % --核心关键点%取余运算符仅支持整数浮点数不能使用后置自增i先使用原值运算结束后自增 1前置自增i变量先自增 1再使用新值/--只能作用于变量常量不支持。2. 赋值运算符基础赋值复合赋值 - * / %左值等号左侧只能是变量可修改内存常量、表达式不能作为左值右值变量、常量、运算表达式均可放在等号右侧。3. 逗号运算符语法(表达式1,表达式2,表达式3)执行逻辑从左到右依次执行所有表达式整个逗号表达式最终结果等于最后一个表达式的值。4. sizeof 运算符作用计算变量 / 数据类型在内存中占用的字节数inta0;sizeof(int);// 获取int类型字节大小sizeof(a);// 获取变量a字节大小5. 运算符优先级从高到低括号 单目运算符 双目运算符 三目运算符 赋值运算符 逗号运算符双目内部细分优先级算数 移位 关系 位运算 逻辑四、标准输入输出函数stdio.h1. 必备头文件所有输入输出函数必须引入标准 头文件#includestdio.h2. 字符IO函数putchar /getcharputchar()功能终端输出单个字符参数字符常量、字符变量、ASCII 数字均可返回值输出字符对应的 ASCII 码int 类型限制单次只能输出一个字符。getchar()功能从键盘读取单个输入字符。3. 格式化 IO 与字符串 IO格式化printf()格式化输出、scanf()格式化输入字符串gets()读取一行字符串、puts()输出字符串并自动换行。总结1. 今日掌握核心内容1吃透 C 语言变量完整规范命名、定义、初始化理解未初始化变量的风险2掌握混合运算隐式转换、强制类型转换两种转换方式与精度升降规则3熟练区分算术、赋值、逗号、sizeof 运算符用法分清前置 / 后置自增差异4熟记运算符优先级能判断复杂表达式执行顺序5掌握putchar、getchar底层字符输入输出理解基础字符交互逻辑。2. 学习难点梳理1自增、自减运算符极易出错前置i和后置i执行顺序完全不同在复合表达式、循环里混用很容易算错结果。二者核心区别是 “先计算再使用” 还是 “先使用再计算”如果不单独拆分代码测试很容易混淆逻辑写出不符合预期的代码。2putchar 的使用逻辑初期难以理解刚开始学习时产生疑惑putchar 定义是输出字符但直接传入数字ASCII 码也能在终端打印出对应文字。一开始没有把字符和 ASCII 码绑定理解不清楚计算机底层存储字符本质是数字导致无法理解为什么数字参数能输出字符经过多次实操才理清底层原理。