|数据类型、变量与输入输出全面精讲|VS2022 专属)
大家好我是网工小星球。上一篇我们完成了 VS2022 环境搭建并成功写出第一个 C 语言程序。很多同学说内容太基础那这一篇我们直接上硬核、系统、面试级的知识点把数据类型、变量本质、输入输出、内存存储一次性讲透适合零基础也能直接吃透。目录一、本章学习目标二、什么是变量为什么要用变量变量定义格式命名规则必须遵守三、C 语言基本数据类型全1. 整型整数2. 浮点型小数3. 字符型四、printf 格式化输出完整用法常用占位符必须背示例代码五、scanf 输入函数重点 避坑基本格式完整示例VS2022 下的常见问题六、字符类型与 ASCII 码底层视角七、综合小案例计算子网掩码位数八、本章重点总结九、下一篇预告一、本章学习目标学完本文你将掌握变量的本质与定义规则C 语言所有常用基本数据类型及占用字节大小printf格式化输出的完整用法scanf安全输入与常见坑整型、浮点型、字符型的实际使用网工视角数据类型与网络字节、报文的关系二、什么是变量为什么要用变量变量本质是内存中一段命名的存储空间用来存放程序运行过程中会变化的数据。比如记录 IP 段192.168.1.1计算端口号80、443统计丢包数保存用户输入的数字没有变量程序就无法存储和处理动态数据。变量定义格式数据类型 变量名; 数据类型 变量名 初始值;命名规则必须遵守只能由字母、数字、下划线组成不能以数字开头区分大小写不能使用关键字int、char、return、main 等见名知意推荐port、count、ip、length三、C 语言基本数据类型全1. 整型整数类型说明字节 (32/64 位)取值范围大概char字符型 / 小整型1-128 ~ 127short短整型2-32768 ~ 32767int整型最常用4-21 亿21 亿long长整型4 / 8更大范围long long超长整型8极大范围网工小知识网络报文里的协议号、端口号、长度大多用int或unsigned int存储。2. 浮点型小数类型说明字节精度float单精度浮点数46~7 位有效位double双精度浮点数815~16 位有效位3. 字符型char本质是1 字节整数用来存储 ASCII 字符例如A、5、\n字符必须用单引号包裹四、printf 格式化输出完整用法printf不只是打印字符串它是格式化输出不同数据类型必须对应不同占位符。常用占位符必须背%d→ int 整型%c→ char 字符%f→ float /double 浮点%lf→ double 双精度%u→ 无符号整数%x→ 十六进制网工非常常用%s→ 字符串示例代码#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int port 80; char ch A; double speed 100.5; printf(端口号%d\n, port); printf(字符%c\n, ch); printf(速率%.2f Mbps\n, speed); return 0; }%.2f表示保留两位小数网络测速、计算延迟时非常实用。五、scanf 输入函数重点 避坑scanf用于从键盘读取数据存入变量。基本格式scanf(占位符, 变量名);注意必须加 取地址符否则程序崩溃。完整示例#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int a, b; printf(请输入两个整数); scanf(%d %d, a, b); printf(相加结果%d\n, a b); return 0; }VS2022 下的常见问题提示scanf unsafe→ 必须在第一行加#define _CRT_SECURE_NO_WARNINGS 1输入闪退→ 使用Ctrl F5运行输入无效导致程序异常→ 输入类型必须与占位符匹配六、字符类型与 ASCII 码底层视角char不只是字符它是数字。计算机内部存储的永远是数字通过 ASCII 表映射成字符。char ch A; printf(字符%c\n, ch); printf(ASCII码%d\n, ch); // 输出 65网工关联以太网帧、TCP 报文里的字符数据、标志位本质都是 ASCII 或十六进制数字。七、综合小案例计算子网掩码位数用刚学的知识写一个实用小代码#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int mask; printf(请输入子网掩码前缀位数); scanf(%d, mask); printf(您配置的子网掩码前缀/%d\n, mask); printf(可用主机数约为2^%d - 2\n, 32 - mask); return 0; }八、本章重点总结变量 内存空间必须先定义再使用数据类型决定占多少字节、能存什么值printf占位符必须与类型匹配scanf必须加且注意安全警告char本质是整数对应 ASCII 码网工编程中常用int、unsigned int、%x十六进制九、下一篇预告C 语言从 0 入门三运算符与表达式算术、关系、逻辑条件判断if/else if/else网络场景实战判断端口是否为知名端口多层条件与嵌套写法