1. 顺序结构(从上到下)
  2. 分支结构(也叫选择结构)
  3. 循环结构

分支结构

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语言讲义——结构化编程(分支、循环)的更多相关文章

  1. C 语言运算符与分支循环小记

    1. 前导内容 · 使用sizeof()统计各种数据类型占用字节数 · 进制转换问题 · if语句基本语法 · switch语句基本语法 2. 运算符 · 基本概念 · 左值 右值 · 优先级结合性 ...

  2. python_分支循环

    什么是分支+循环? --不同条件进行不同逻辑处理            -- 分支 --满足条件进行反复相同逻辑处理     -- 循环 分支的形式? -- if 条件:  执行体   else: 执 ...

  3. 第十九节:Java基本数据类型,循环结构与分支循环

    基本数据类型 Java中的基本数据类型,有8种,在Java中有四种类型,8种基本数据类型. 字节 boolean 布尔型为1/8 byte 字节类型为1 short 短整型为2 char 字符型为2 ...

  4. 第三次实验计算分段函数 第四次计算分段函数和循环NEW 第五次分支+循环加强版 实验报告

    一.实验题目,设计思路,实现方法 第四次分支+循环 加强版 (2-2计算个人所得税,2-7 装睡,2-8计算天数) 设计思路:2-2 用if-else的语句,与计算分段函数的题类似的做法:2-7 运用 ...

  5. java基础二 分支循环

    分支循环:    if...    if...else...    if...else if...    if...else if...else...    switch...case...defau ...

  6. Vue 分支循环

    分支循环 在Vue中,分支循环也是使用标签属性指令完成的,这一点与后端模板语法不太相同. v-for 下面是通过v-for进行循环,不光可以拿到元素本身,也可以拿到索引值. 如果数据是对象类型,则可以 ...

  7. C语言风格的 for 循环(SHELL的循环写法 已验证20200517)

    C语言风格的 for 循环 C语言风格的 for 循环的用法如下: for((exp1; exp2; exp3))do    statementsdone 几点说明: exp1.exp2.exp3 是 ...

  8. Swift学习(三)类型推导&基本运算&分支&循环

    一.Swift中类型推导&基本运算 Swift中类型推导 如果一个标识符在定义时有直接赋值,那么可以根据后面赋值的类型,来推导出前面标识符的类型,这样前面标识符的(:类型)可以省略 查看标识符 ...

  9. python 分支 循环

    一  python 知识点      1.变量(标签):           a(变量名) = '字符串'or 数字 (整形和浮点型)     a相当于变量名的标签           如: a = ...

随机推荐

  1. Day12 HTML知识

    1.html初识 超文本标记语言(Hypertext Markup Language,HTML)通过标签语言来标记要显示的网页中的各个部分.一套规则,浏览器认识的规则 浏览器按顺序渲染网页文件,然后根 ...

  2. 如何快速在windows上创建你的第一个odoo项目

    一.什么是Odoo Odoo 是一系列开源商业应用程序套装(ERP企业管理系统),此套装可满足贵公司的一切应用需求,例如,企业基本的进销存.采购.销售.MRP生产制造.品保质量保障.企业招聘.员工合同 ...

  3. python使用matplotlib画图,jieba分词、词云、selenuium、图片、音频、视频、文字识别、人脸识别

    一.使用matplotlib画图 关注公众号"轻松学编程"了解更多. 使用matplotlib画柱形图 import matplotlib from matplotlib impo ...

  4. 微信小程序-TodoList

    TodoList 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE2020 作业要求 https://edu.cnblogs.com/campus/zjcsx ...

  5. iptables基础原理和使用简介

    概念简介 名称 Netfilter/iptables模块有两部分组成: Netfilter框架以及iptables,iptables又分为iptables(内核空间)和iptables命令行工具(用户 ...

  6. 别走!这里有个笔记:图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

    前言 AbstractQueuedSynchronizer 抽象队列同步器,简称 AQS .是在 JUC 包下面一个非常重要的基础组件,JUC 包下面的并发锁 ReentrantLock CountD ...

  7. 【Kata Daily 190912】Alphabetical Addition(字母相加)

    题目: Your task is to add up letters to one letter. The function will be given a variable amount of ar ...

  8. 重磅解读:K8s Cluster Autoscaler模块及对应华为云插件Deep Dive

    摘要:本文将解密K8s Cluster Autoscaler模块的架构和代码的Deep Dive,及K8s Cluster Autoscaler 华为云插件. 背景信息 基于业务团队(Cloud BU ...

  9. 第一行代码中RecyclerView添加依赖库问题

    现在更新到 implementation 'com.android.support:recyclerview-v7:29.2.1' 记得点Sync Now来进行同步.

  10. ES6 小记

    1.let & const let:相当于var,不同的是没有变量提升,且只在声明的作用域内有效(新增了块级作用域). Const: 声明一个静态场量,一旦声明,常量的值就不能改变. for. ...