C语言讲义——结构化编程(分支、循环)
- 顺序结构(从上到下)
- 分支结构(也叫选择结构)
- 循环结构

分支结构
if...else
最基本的分支结构是if(){}else{}。
为了代码的安全,同时也是出于代码规范的考虑,if()后面一定要加花括号,else后面也要加花括号。
如果不加花括号,if,else只能管一条语句,降低了代码的可扩展性和可读性。
下面的例子是【输入两个整数,判断并输出其较大值】
int main(int argc, char** argv) {
int x;
int y;
printf("请输入x:");
scanf("%d",&x);
printf("请输入y:");
scanf("%d",&y);
if(x>y) {
printf("%d较大\n", x);
} else {
printf("%d较大\n", y);
}
return 0;
}
三目运算符【 ? : 】
可以简化if…else…语句。形式如【判断条件?条件成立时的结果: 不成立时返回的结果】
上例可改为下面的样子:
int main(int argc, char** argv) {
int x;
int y;
printf("请输入x:");
scanf("%d",&x);
printf("请输入y:");
scanf("%d",&y);
int max = x>y?x:y;
printf("%d较大\n", max);
return 0;
}
switch...case...
不要漏了break,以及default。

循环结构
while(判断条件)
int main(int argc, char** argv) {
int a = 1;
while(a <= 100){
printf("a≤100时执行。a=%d\n", a);
a++;
}
return 0;
}
C语言里死循环的写法是:while( 1 )。1表示满足条件(0表示不满足条件)。
为了代码安全,while()后面也必须加上花括号{}。
do{}while();循环
无论while()中的条件是否满足,先执行一次再来判断。简单地说:
while循环先判断;do…while循环后判断。记得最后加个分号。
for循环
for循环用于简化while循环的变量管理,非常实用,在数组、字符串中用得非常多。
for(int a = 1; a<=100; a++ ) {
printf("a≤100时执行。a=%d\n", a);
}
退出循环
- break:结束循环。
- continue:结束本次循环,进入下一次循环。
- return:直接退出函数,尽量不用。
- goto:跳来跳去,是bug和复杂度的根源之一,不建议使用。
C语言讲义——结构化编程(分支、循环)的更多相关文章
- C 语言运算符与分支循环小记
1. 前导内容 · 使用sizeof()统计各种数据类型占用字节数 · 进制转换问题 · if语句基本语法 · switch语句基本语法 2. 运算符 · 基本概念 · 左值 右值 · 优先级结合性 ...
- python_分支循环
什么是分支+循环? --不同条件进行不同逻辑处理 -- 分支 --满足条件进行反复相同逻辑处理 -- 循环 分支的形式? -- if 条件: 执行体 else: 执 ...
- 第十九节:Java基本数据类型,循环结构与分支循环
基本数据类型 Java中的基本数据类型,有8种,在Java中有四种类型,8种基本数据类型. 字节 boolean 布尔型为1/8 byte 字节类型为1 short 短整型为2 char 字符型为2 ...
- 第三次实验计算分段函数 第四次计算分段函数和循环NEW 第五次分支+循环加强版 实验报告
一.实验题目,设计思路,实现方法 第四次分支+循环 加强版 (2-2计算个人所得税,2-7 装睡,2-8计算天数) 设计思路:2-2 用if-else的语句,与计算分段函数的题类似的做法:2-7 运用 ...
- java基础二 分支循环
分支循环: if... if...else... if...else if... if...else if...else... switch...case...defau ...
- Vue 分支循环
分支循环 在Vue中,分支循环也是使用标签属性指令完成的,这一点与后端模板语法不太相同. v-for 下面是通过v-for进行循环,不光可以拿到元素本身,也可以拿到索引值. 如果数据是对象类型,则可以 ...
- C语言风格的 for 循环(SHELL的循环写法 已验证20200517)
C语言风格的 for 循环 C语言风格的 for 循环的用法如下: for((exp1; exp2; exp3))do statementsdone 几点说明: exp1.exp2.exp3 是 ...
- Swift学习(三)类型推导&基本运算&分支&循环
一.Swift中类型推导&基本运算 Swift中类型推导 如果一个标识符在定义时有直接赋值,那么可以根据后面赋值的类型,来推导出前面标识符的类型,这样前面标识符的(:类型)可以省略 查看标识符 ...
- python 分支 循环
一 python 知识点 1.变量(标签): a(变量名) = '字符串'or 数字 (整形和浮点型) a相当于变量名的标签 如: a = ...
随机推荐
- CodeForces 1408G Clusterization Counting
题意 给定 \(n\) 个点的无向带权完全图,边权为 \(1\sim\frac{n(n-1)}{2}\).对于满足 \(1\leq k\leq n\) 的每个 \(k\) 求出将原图划分成 \(k\) ...
- net core webapi多版本控制与nswag 交互
前言 首先希望webapi 支持多版本,swagger针对不同的版本可进行交互.netcore 基于Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer 包, ...
- python机器学习的开发流程
标准机器学习的开发编程流程 关注公众号"轻松学编程"了解更多. 一.流程 标准机器学习的开发编程流程: 1.获取数据(爬虫.数据加载.业务部门获取) 2.数据建模(摘选样本数据(特 ...
- python实现有趣的数学逻辑程序
1.无重复数字的三位数 题目:有1.2.3.4个数字, 能组成多少个互不相同且无重复数字的三位数? 都是多少? for i in range(1,5): for j in range(1,5): fo ...
- Miller-Rabin 素数检验算法
算法简介 Miller-Rabin算法,这是一个很高效的判断质数的方法,可以在用\(O(logn)\) 的复杂度快速判断一个数是否是质数.它运用了费马小定理和二次探测定理这两个筛质数效率极高的方法. ...
- uniapp分享功能-系统分享
uni-app分享 uniapp官网地址:https://uniapp.dcloud.io/api/plugins/share?id=sharewithsystem 调用系统分享组件发送分享消息,不需 ...
- 线上Java程序占用 CPU 过高,请说一下排查方法?
我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...
- input 与 button 的问题 (空隙/不等高/对不齐)及 解决办法
1. input 与 button 为什么有空隙? - 要明白为什么,需要了解一下几点基础知识(耐心看完,你会发现竟如此简单) 1. input 与 button 都属于行级块元素,都具有文本 ...
- 像用excel一样用pandas
1 说明 预计需要15min阅读此教材: 本教材仅讲述如何查看excel数据,筛选,排序,查找替换数据,不涉及excel中复杂的图形绘制及样式修改. 2 假设 假设,已经存在一个test.xlsx文件 ...
- Java swing实现酒店管理系统
今天给大家提供一个由今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用sqlserver,我会贴上部分代码,完整的代码请看文章最下方下载,下面看代码: 1.主框架代码: packa ...