目录一、C语言流程控制整体概述二、选择语句if 2.1.单分支 if 语句语法和规则练习1游戏血量上限限制2.2 双分支 if-else 语句语法练习座位相邻判断2.3 多分支 if-else if-else语法练习VIP等级判断2.4 if 嵌套语句练习成绩分级判断三、选择语句switch 3.1 语法和规则3.2 穿透特性练习月份判断季节四、循环语句for4.1 语法练习11~100偶数和练习2统计区间内能被6和8整除的数字个数五、循环语句while5.1 语法练习1判断是否是2的幂练习2纸张对折问题练习3算术平方根 回文数判断练习4减法实现两数相除六、循环语句(do-while )6.1 语法练习七、各个语句的应用场景一、C语言流程控制整体概述C语言三大执行结构顺序结构默认从上往下逐行执行分支结构选择结构满足条件才执行对应代码if / if-else / if-else ifswitch循环结构条件成立重复执行代码forwhiledo-while二、选择语句if 2.1.单分支 if 语句语法和规则if(条件表达式){语句体;}C语言非0为真0为假if 后面不能加分号练习1游戏血量上限限制题目初始血量200受伤80、回血100血量超过200强制封顶#includestdio.hintmain(){intblood200;intdamage80;intrestore100;bloodblood-damagerestore;if(blood200){blood200;}printf(%d\n,blood);return0;}运行结果2002.2 双分支 if-else 语句语法if(条件){成立执行;}else{不成立执行;}练习座位相邻判断题目两人同行且座位相邻 → 看电影否则打游戏#includestdio.hintmain(){introwA5;intnumA6;introwB5;intnumB7;if((rowArowB)(numA-numB1||numA-numB-1)){printf(看电影);}else{printf(打游戏);}return0;}运行结果看电影2.3 多分支 if-else if-else语法if(条件1){}elseif(条件2){}else{}练习VIP等级判断题目输入充值金额判断VIP等级#includestdio.hintmain(){intmoney;printf(请输入您的氪金总额\n);scanf(%d,money);if(money0){printf(零充玩家);}elseif(money1money99){printf(VIP1);}elseif(money100money499){printf(VIP2);}elseif(money500money999){printf(VIP3);}elseif(money1000money2000){printf(VIP4);}else{printf(高级VIP);}return0;}2.4 if 嵌套语句练习成绩分级判断#includestdio.hintmain(){intscore;printf(请输入成绩\n);scanf(%d,score);if(score0score100){if(score95score100){printf(奖励自行车);}elseif(score90score94){printf(游乐场玩一天);}else{printf(胖揍一顿);}}else{printf(该分数超出正常范围);}return0;}三、选择语句switch 3.1 语法和规则switch(整型/字符型变量){case常量1:语句;break;case常量2:语句;break;default:都不匹配执行;break;}只能是整型、char不能是浮点case 只能是常量不能写范围、变量不加 break 会穿透3.2 穿透特性没有 break会一直往下执行可以用来合并多个条件练习月份判断季节#includestdio.hintmain(){intmonth;printf(请输入月份\n);scanf(%d,month);switch(month){case1:case2:case3:printf(春季);break;case4:case5:case6:printf(夏季);break;case7:case8:case9:printf(秋季);break;case10:case11:case12:printf(冬季);break;default:printf(没有这个月份);}return0;}四、循环语句for4.1 语法语法for(初始化;判断条件;自增/自减){循环体;}练习11~100偶数和#includestdio.hintmain(){intc0;for(inti1;i100;i){if(i%20){ci;}}printf(%d\n,c);return0;}输出2550练习2统计区间内能被6和8整除的数字个数#includestdio.hintmain(){intnum1,num2;printf(输入一个数字\n);scanf(%d,num1);printf(输入另一个数字\n);scanf(%d,num2);intminnum1num2?num1:num2;intmaxnum1num2?num1:num2;intcount0;for(intimin;imax;i){if(i%60i%80){count;}}printf(一共有%d个\n,count);return0;}五、循环语句while5.1 语法初始化;while(条件){循环体;迭代;}练习1判断是否是2的幂#includestdio.hintmain(){intn128;while(n1n%20){nn/2;}if(n1)printf(yes\n);elseprintf(no\n);return0;}练习2纸张对折问题#includestdio.hintmain(){doublem0.1;intheight8844430;intcount0;while(mheight){m*2;count;}printf(次数: %d\n,count);return0;}练习3算术平方根 回文数判断算术平方根#includestdio.hintmain(){intx10;inta0;while(a*ax)a;printf(%d,a-1);return0;}回文数#includestdio.hintmain(){inti123;intf0;intorii;while(i!0){intnum1i%10;i/10;ff*10num1;}printf(%d\n,f);if(orif)printf(是回文数\n);elseprintf(不是回文数);return0;}练习4减法实现两数相除#includestdio.hintmain(){intdividend11;intdivisor3;intshang0;if(divisor0){printf(除数不能为0\n);return0;}inttempdividend;while(tempdivisor){temp-divisor;shang;}printf(余数:%d\n,temp);printf(商:%d\n,shang);return0;}六、循环语句(do-while )6.1 语法do{循环体;}while(条件);特点先执行、后判断至少执行一次练习#includestdio.hintmain(){intselect;do{printf(1.开始游戏 0.退出\n);scanf(%d,select);}while(select!0);return0;}七、各个语句的应用场景按键检测、传感器阈值判断 → 靠if设备状态机、档位选择 → 靠switch数据遍历、定时采集、循环处理 → 靠for/while本篇覆盖 C 语言全部基础流程控制知识点所有代码均可直接复制编译运行。如果你正在学习C 语言建议把所有例题手动敲一遍加深理解代码运行报错、知识点有疑惑欢迎评论区提问有空都会逐一回复。后续持续更新C 语言函数、数组、指针、STM32 基础实战教程感兴趣可以持续关注
郑州网站建设
网页设计
企业官网