大家好我是网域小星球。前两篇我们顺利完成了C语言环境搭建、变量与数据类型、基础输入输出算是正式踏入了C语言的大门。但想要让程序不再是单纯的顺序执行、具备判断与决策能力就必须掌握运算符与分支结构这也是编程逻辑的核心起点。本篇全程无废话、知识点层层递进搭配高频经典例题吃透之后就能写出具备简单逻辑的实用程序新手也能跟着一步步吃透、上手实操。目录一、本章学习目标二、C语言运算符全面精讲1. 算术运算符数学计算核心2. 关系运算符判断核心3. 逻辑运算符多条件判断三、分支语句程序的逻辑判断核心1. if 单分支语句2. if-else 双分支语句3. if-else if-else 多分支语句4. switch 分支语句四、VS2022新手常见报错排查五、本章核心知识点总结六、下期预告一、本章学习目标学完本篇你将彻底掌握各类运算符用法、优先级与易错点if单分支、if-else双分支、多分支语句完整写法switch分支语句适用场景与语法规范分支嵌套逻辑与实操注意事项VS2022编译调试、常见报错排查经典入门案例完整编写与思路拆解二、C语言运算符全面精讲运算符是程序执行运算的符号用来处理数据、完成判断。C语言中运算符分为多个类别日常编程高频使用的几类我们逐一拆解。1. 算术运算符数学计算核心用于基础数学运算也是最常用的一类运算符新手重点区分整数除法与取余。运算符作用示例易错提示加法a b无特殊坑点-减法a - b无特殊坑点*乘法a * b不可省略书写不可写成×/除法10 / 3 3整数相除只保留整数部分舍弃小数%取余取模10 % 3 1只能用于整数运算结果符号同被除数补充自增自减运算符变量自身1--变量自身-1分为前置与后置执行顺序完全不同前置a先自增再参与运算后置a先参与运算再自增2. 关系运算符判断核心用来判断两个数据的大小、相等关系结果只有真非0和假0两种是分支语句的判断基础。常用运算符等于、!不等于、大于、小于、大于等于、小于等于新手致命坑把判断相等的写成赋值符号 导致程序逻辑完全错误一定要多加留意3. 逻辑运算符多条件判断用于组合多个判断条件实现复杂逻辑逻辑与两边条件都为真整体结果才为真逻辑与两边条件都为真整体结果才为真||逻辑或任意一边条件为真整体结果即为真!逻辑非对原有条件结果取反真变假、假变真运算符优先级小贴士算术运算 关系运算 逻辑运算复杂运算建议加括号明确执行顺序避免逻辑出错也能让代码可读性更高。三、分支语句程序的逻辑判断核心顺序执行的代码只能完成固定逻辑想要让程序根据不同条件执行不同代码就需要用到分支语句也叫选择结构。C语言中常用分支语句为 if 语句与 switch 语句适用场景不同语法规范也有明确要求。1. if 单分支语句适用于单一条件判断条件成立则执行对应代码不成立则跳过该段代码。语法格式#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { // 条件判断 if (判断条件) { // 条件为真执行此处代码 执行语句; } return 0; }经典案例判断正数#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int num; printf(请输入一个整数); scanf(%d, num); // 判断数字是否大于0 if (num 0) { printf(%d 是一个正数\n, num); } return 0; }2. if-else 双分支语句适用于二选一的场景条件成立执行if代码块不成立则执行else代码块无中间情况。语法格式if (判断条件) { 条件为真执行语句; } else { 条件为假执行语句; }经典案例判断奇偶数#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int num; printf(请输入一个整数); scanf(%d, num); // 对2取余结果为0则是偶数 if (num % 2 0) { printf(%d 是偶数\n, num); } else { printf(%d 是奇数\n, num); } return 0; }3. if-else if-else 多分支语句适用于多种条件、多层判断的场景从上至下依次判断条件满足哪一个条件就执行对应代码块所有条件都不满足则执行else语句。经典案例学生成绩等级判定#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int score; printf(请输入考试成绩0-100); scanf(%d, score); // 多条件分级判断 if (score 90 score 100) { printf(成绩等级优秀\n); } else if (score 80 score 90) { printf(成绩等级良好\n); } else if (score 70 score 80) { printf(成绩等级中等\n); } else if (score 60 score 70) { printf(成绩等级及格\n); } else if (score 0 score 60) { printf(成绩等级不及格\n); } else { // 处理无效成绩 printf(输入成绩无效请输入0-100之间的数字\n); } return 0; }4. switch 分支语句适用于固定值匹配的判断场景相比多分支if语句结构更清晰、执行效率更高常用于数值、字符等值匹配判断。语法格式与注意事项switch后跟随变量case后匹配固定数值不可跟区间每个case结尾必须加break否则会出现case穿透default用于处理所有case都不匹配的情况非必需但建议书写经典案例数字星期转换#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int week; printf(请输入数字1-7); scanf(%d, week); switch (week) { case 1: printf(星期一\n); break; case 2: printf(星期二\n); break; case 3: printf(星期三\n); break; case 4: printf(星期四\n); break; case 5: printf(星期五\n); break; case 6: printf(星期六\n); break; case 7: printf(星期日\n); break; default: printf(输入数字无效请输入1-7之间的数\n); } return 0; }四、VS2022新手常见报错排查scanf函数安全报错代码首行必须加#define _CRT_SECURE_NO_WARNINGS 1判断相等写成属于逻辑错误编译器不报错但结果错误切记判断用分支语句未加大括号单条语句可省略多条语句必须加{}否则逻辑混乱switch语句漏写break导致case穿透执行后续所有case代码程序运行闪退使用快捷键CtrlF5不调试运行避免闪退五、本章核心知识点总结1. 运算符是程序运算与判断的基础需分清优先级、牢记易错点尤其是整数除法、自增自减、相等判断 2. if分支适用于区间判断switch分支适用于固定值匹配按需选用 3. 代码书写要规范分支语句加括号、格式缩进便于后期调试 4. 编写代码前先梳理逻辑再动手写代码减少无效报错六、下期预告C语言从0入门四循环语句三大精讲while/do-while/for 本篇我们掌握了程序的判断逻辑下一篇将攻克循环结构实现代码重复执行告别重复写代码搭配打印图形、数字累加等经典案例手把手带大家写出更精简、更高效的C语言程序全程依旧适配VS2022零基础也能轻松上手。
C语言从0入门(三)|运算符全解 + 分支语句精讲|VS2022零基础实战
大家好我是网域小星球。前两篇我们顺利完成了C语言环境搭建、变量与数据类型、基础输入输出算是正式踏入了C语言的大门。但想要让程序不再是单纯的顺序执行、具备判断与决策能力就必须掌握运算符与分支结构这也是编程逻辑的核心起点。本篇全程无废话、知识点层层递进搭配高频经典例题吃透之后就能写出具备简单逻辑的实用程序新手也能跟着一步步吃透、上手实操。目录一、本章学习目标二、C语言运算符全面精讲1. 算术运算符数学计算核心2. 关系运算符判断核心3. 逻辑运算符多条件判断三、分支语句程序的逻辑判断核心1. if 单分支语句2. if-else 双分支语句3. if-else if-else 多分支语句4. switch 分支语句四、VS2022新手常见报错排查五、本章核心知识点总结六、下期预告一、本章学习目标学完本篇你将彻底掌握各类运算符用法、优先级与易错点if单分支、if-else双分支、多分支语句完整写法switch分支语句适用场景与语法规范分支嵌套逻辑与实操注意事项VS2022编译调试、常见报错排查经典入门案例完整编写与思路拆解二、C语言运算符全面精讲运算符是程序执行运算的符号用来处理数据、完成判断。C语言中运算符分为多个类别日常编程高频使用的几类我们逐一拆解。1. 算术运算符数学计算核心用于基础数学运算也是最常用的一类运算符新手重点区分整数除法与取余。运算符作用示例易错提示加法a b无特殊坑点-减法a - b无特殊坑点*乘法a * b不可省略书写不可写成×/除法10 / 3 3整数相除只保留整数部分舍弃小数%取余取模10 % 3 1只能用于整数运算结果符号同被除数补充自增自减运算符变量自身1--变量自身-1分为前置与后置执行顺序完全不同前置a先自增再参与运算后置a先参与运算再自增2. 关系运算符判断核心用来判断两个数据的大小、相等关系结果只有真非0和假0两种是分支语句的判断基础。常用运算符等于、!不等于、大于、小于、大于等于、小于等于新手致命坑把判断相等的写成赋值符号 导致程序逻辑完全错误一定要多加留意3. 逻辑运算符多条件判断用于组合多个判断条件实现复杂逻辑逻辑与两边条件都为真整体结果才为真逻辑与两边条件都为真整体结果才为真||逻辑或任意一边条件为真整体结果即为真!逻辑非对原有条件结果取反真变假、假变真运算符优先级小贴士算术运算 关系运算 逻辑运算复杂运算建议加括号明确执行顺序避免逻辑出错也能让代码可读性更高。三、分支语句程序的逻辑判断核心顺序执行的代码只能完成固定逻辑想要让程序根据不同条件执行不同代码就需要用到分支语句也叫选择结构。C语言中常用分支语句为 if 语句与 switch 语句适用场景不同语法规范也有明确要求。1. if 单分支语句适用于单一条件判断条件成立则执行对应代码不成立则跳过该段代码。语法格式#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { // 条件判断 if (判断条件) { // 条件为真执行此处代码 执行语句; } return 0; }经典案例判断正数#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int num; printf(请输入一个整数); scanf(%d, num); // 判断数字是否大于0 if (num 0) { printf(%d 是一个正数\n, num); } return 0; }2. if-else 双分支语句适用于二选一的场景条件成立执行if代码块不成立则执行else代码块无中间情况。语法格式if (判断条件) { 条件为真执行语句; } else { 条件为假执行语句; }经典案例判断奇偶数#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int num; printf(请输入一个整数); scanf(%d, num); // 对2取余结果为0则是偶数 if (num % 2 0) { printf(%d 是偶数\n, num); } else { printf(%d 是奇数\n, num); } return 0; }3. if-else if-else 多分支语句适用于多种条件、多层判断的场景从上至下依次判断条件满足哪一个条件就执行对应代码块所有条件都不满足则执行else语句。经典案例学生成绩等级判定#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int score; printf(请输入考试成绩0-100); scanf(%d, score); // 多条件分级判断 if (score 90 score 100) { printf(成绩等级优秀\n); } else if (score 80 score 90) { printf(成绩等级良好\n); } else if (score 70 score 80) { printf(成绩等级中等\n); } else if (score 60 score 70) { printf(成绩等级及格\n); } else if (score 0 score 60) { printf(成绩等级不及格\n); } else { // 处理无效成绩 printf(输入成绩无效请输入0-100之间的数字\n); } return 0; }4. switch 分支语句适用于固定值匹配的判断场景相比多分支if语句结构更清晰、执行效率更高常用于数值、字符等值匹配判断。语法格式与注意事项switch后跟随变量case后匹配固定数值不可跟区间每个case结尾必须加break否则会出现case穿透default用于处理所有case都不匹配的情况非必需但建议书写经典案例数字星期转换#define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h int main() { int week; printf(请输入数字1-7); scanf(%d, week); switch (week) { case 1: printf(星期一\n); break; case 2: printf(星期二\n); break; case 3: printf(星期三\n); break; case 4: printf(星期四\n); break; case 5: printf(星期五\n); break; case 6: printf(星期六\n); break; case 7: printf(星期日\n); break; default: printf(输入数字无效请输入1-7之间的数\n); } return 0; }四、VS2022新手常见报错排查scanf函数安全报错代码首行必须加#define _CRT_SECURE_NO_WARNINGS 1判断相等写成属于逻辑错误编译器不报错但结果错误切记判断用分支语句未加大括号单条语句可省略多条语句必须加{}否则逻辑混乱switch语句漏写break导致case穿透执行后续所有case代码程序运行闪退使用快捷键CtrlF5不调试运行避免闪退五、本章核心知识点总结1. 运算符是程序运算与判断的基础需分清优先级、牢记易错点尤其是整数除法、自增自减、相等判断 2. if分支适用于区间判断switch分支适用于固定值匹配按需选用 3. 代码书写要规范分支语句加括号、格式缩进便于后期调试 4. 编写代码前先梳理逻辑再动手写代码减少无效报错六、下期预告C语言从0入门四循环语句三大精讲while/do-while/for 本篇我们掌握了程序的判断逻辑下一篇将攻克循环结构实现代码重复执行告别重复写代码搭配打印图形、数字累加等经典案例手把手带大家写出更精简、更高效的C语言程序全程依旧适配VS2022零基础也能轻松上手。