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 = ...
随机推荐
- 文件中pe到内存中pe
前言 学pe的时候被困扰了很久,终于在某处给我找到了,打算打出来读一读代码 这边我们是从文件中的pe转到运行中的pe,然后再缩小存储到文件的pe 这边我们需要知道内存中对齐是0x1000,文件对齐是0 ...
- Docker学习—DockerFile
前言: 上一篇文章简单使用了docker 拉取镜像.启动容器.编译镜像:其中编译镜像时,使用到了Dockerfile,那么接下来我们就详细的来说说Dockerfile DockerFile是什么: D ...
- 4G DTU模块和串口设备连接的方式
首先说下解决思路: 由于考虑到串口开发很麻烦,所以后来买了一个4g模块的dtu. 所以最后的解决方案是,plc串口设备与dtu相连,由于dtu是透传模式,使用java与4g模块进行通信就完事了. 虽然 ...
- [Luogu P4215] 踩气球 (线段树)
题面 传送门:https://www.luogu.org/problemnew/show/P4215 Solution 这题十分有意思. 首先,我们可以先想想离线做法,因为在线做法可以从离线做法推出. ...
- JS中使用for-each遍历数组
1 let array = [1, 3, 6, 8, 9, 0, 5]; 2 /* 3 index是数组索引 4 value代表数组的值 5 arr是指整个数组 6 */ 7 array.forEac ...
- (一)http协议介绍
HTTP协议详解 (一) 介绍 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本 ...
- Docker 运行 SQL Server 容器映像
随着.Net Core迭代,大家也都用上了Linux用上了Docker.跟.Net经常配套使用的SQL SERVER以前一直是windows only,但是从SQL Server 2017开始已经支持 ...
- Boltzmann Machine 玻尔兹曼机入门
Generative Models 生成模型帮助我们生成新的item,而不只是存储和提取之前的item.Boltzmann Machine就是Generative Models的一种. Boltzma ...
- Numpy_01
# 引子: # ndarray 是一个 numpy库提供的 同构数据多维模型 import numpy as np list=[1,2,3,4,5,6] myndarray=np.array(list ...
- StringUtil字符串工具-功能扩展
对java的String类的一些小补充. public class StringUtil { /** 将一个字符串的首字母大写然后返回. @param str 要处理的目标字符串. @return S ...