C语言第七节流程控制
-
流程控制
-
顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
-
选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
-
循环结构:在给定条件成立的情况下,反复执行某一段代码。
-
选择结构-if
-
简单使用#
-
if (表达式) 语句1;
-
if(count>50) 开班; 上课;
-
if(表达式) 语句1; else 语句2;
-
f(count>50) 开班; else 不开班;
-
if(表达式) { }
-
if(count>50) {开班; 布置课室;} else {}
-
{ }的作用域
-
if -else if-else
-
if(a==0) else if (a>0) else
-
特点:只有一个括号会被执行
-
复合条件
-
上课时间的取值范围(9~12 || 14 ~17)
-
陷阱
-
if(a!=0) { a不是0;} else {a是0;}
-
if (a); { }
-
if (a=0)
-
a == 0;
-
if (10) int a = 9;
-
习题#
-
输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出"星期一"
-
输入一个整数month代表月份,根据月份输出对应的季节。
春季:3、4、5
夏季:6、7、8
秋季:9、10、11
冬季:12、1、2
-
输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)
A:90~100
B:80~89
C:70~79
D:60~69
E:0~60
-
选择结构-switch
-
简单使用#
-
switch(表达式) { case 数值1: break; … default: break;}
-
举例
int a = 10;
switch (a) {
case 0:
printf("这是一个0");
break;
case 5:
printf("这是一个5");
break;
case 10:
printf("这是一个10");
break;
default:
printf("什么也不是");
break;
}
-
简述break的作用
-
在case中定义变量
-
if和switch的对比#
-
很多情况可以互换
-
if用得比较多,比较灵活,switch只能某个单值
-
习题#
用switch替代if实现if中的习题
-
循环结构-while
-
简单使用#
-
连续printf("俯卧撑")20次;
-
while(表达式) { }
-
continue:输出5次休息一下
-
break的使用:某次的时候停止循环
-
特点#
只有条件成立才会执行循环体
-
习题#
-
提示用户输入一个正整数n,计算1+2+3+…+n的和
-
提示用户输入一个正整数n,计算1-2+3-4+5-6+…+n的和
-
陷阱#
-
while(条件);
-
循环结构-do while
-
特点:一定会执行一次循环体
-
while和do while循环对比
int i=0;
while(i<0){
i++;
}
int i=0;
do{
i++;
} while(i<0);
-
循环结构-for
-
简单实用 #
-
运行过程
-
初始化语句等可以是多句(把printf放到for的括号中)
-
for循环嵌套 #
好友列表1
好友1
好友2
好友列表2
好友1
好友2
好友列表3
好友1
好友2
-
陷阱 #
-
死循环 for(;;);
-
for循环体内部变量的作用域
-
作用域混淆
for (int i = 0; i<5; i++) int a = 10;
-
while循环和for循环的比较 #
-
可以互换
-
for循环的变量可以及时回收
-
习题 #
-
提示用户输入一个正整数n,如果n5,就输出下列图形,其他n值以此类推
-
-
输出九九乘法表
-
break和continue
-
break #
-
使用场合:switch\循环结构
-
循环嵌套下的break
-
continue #
-
使用场合:循环结构
-
循环嵌套下的continue
内容来源:传智播客
作者: 全栈编程
出处:https://www.cnblogs.com/codersay/p/4302648.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源,全栈编程@博客园
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具