if 条件判断语句

if 语句结构

格式:

if (表达式)
{
语句;
}

如果表达式成立,就执行大括号中的语句;否则跳过该 if 语句

#include <stdio.h>

int main()
{
int num; printf("请输入一个数字:");
scanf("%d", &num); if (num > 10)
{
printf("该数字大于 10\n");
} return 0;
}

运行结果

12 符合 if 语句的条件,所以执行大括号中的语句

6 不符合 if 语句的条件,所以跳过该 if 语句

if - else 结构

格式:

if (条件)
{
语句 1;
}
else
{
语句 2;
}

如果 if 语句的条件成立执行语句 1,否则执行语句 2

#include <stdio.h>

int main()
{
int num; printf("请输入一个数字:");
scanf("%d", &num); if (num > 10)
{
printf("%d 大于 10\n", num);
}
else
{
printf("%d 不大于 10\n", num);
} return 0;
}

运行结果

if - else if - else 语句结构

格式:

if (条件 1)
{
语句 1;
}
else if (条件 2)
{
语句 2;
}
else if (条件 3)
{
语句 3;
}
else
{
语句 4;
}

如果条件 1 成立,则执行语句 1;如果条件 2 成立,则执行语句 2;如果条件 3 成立,则执行语句 3;条件 1,2,3 都不成立,执行语句 4

#include <stdio.h>

int main()
{
int num; printf("请输入成绩:");
scanf("%d", &num); if (num >= 85)
{
printf("你的成绩为A\n");
}
else if (num < 85 && num >= 75)
{
printf("你的成绩为B\n");
}
else if (num < 75 && num >= 60)
{
printf("你的成绩为C\n");
}
else
{
printf("你的成绩为D\n");
} return 0;
}

运行结果

switch 语句

格式:

switch (表达式)
{
case 常量表达式 1 : 语句 1;
case 常量表达式 2 : 语句 2;
case 常量表达式 3 : 语句 3;
case 常量表达式 4 : 语句 4;
default : 语句 5;
}

程序会执行表达式的值相对应的常量表达式的语句,如果全没有的话,会执行 default 的语句 5

#include <stdio.h>

int main()
{
int a, b; printf("请输入两个数字 1 或 2:");
scanf("%d %d", &a, &b); switch (a + b)
{
case 2: printf("结果为 2\n");
case 3: printf("结果为 3\n");
case 4: printf("结果为 4\n");
default: printf("结果未知\n");
} return 0;
}

运行结果

程序执行表达式的值相对应的常量表达式的语句之后,继续执行了之后的语句,这并不是我们想要的结果

这需要用到 break 来改进

#include <stdio.h>

int main()
{
int a, b; printf("请输入两个数字 1 或 2:");
scanf("%d %d", &a, &b); switch (a + b)
{
case 2: printf("结果为 2\n");break;
case 3: printf("结果为 3\n");break;
case 4: printf("结果为 4\n");break;
default: printf("结果未知\n");break;
} return 0;
}

运行结果

while 语句

格式:

while (条件)
{
语句;
}

如果条件成立,则会一直执行大括号中的语句

#include <stdio.h>

int main()
{
int i = 0, count = 0; while (i <= 100)
{
count = count + i;
i ++;
} printf("结果为 %d \n", count); return 0;
}

运行结果

#include <stdio.h>

int main()
{
int count = 0; printf("请输入一行英文字符:"); while (getchar() != '\n')
{
count++;
} printf("该行英文字符有 %d 个字符\n", count); return 0;
}

运行结果

do - while 语句

格式:

do
{
语句
}
while (条件);

执行大括号中的语句,直到条件不成立,while 语句后有个分号

大括号中的语句至少会被执行一次

#include <stdio.h>

int main()
{
int i = 0, sum = 0; do
{
sum = sum + i;
i ++;
}
while (i <= 100); printf("结果的值为 %d\n", sum); return 0;
}

运行结果

for 语句

格式:

for (表达式 1; 表达式 2; 表达式 3)
{
循环体
}

表达式 1 为循环初始化表达式,表达式 2 为循环条件表达式,表达式 3 为循环调整表达式

#include <stdio.h>

int main()
{
int i; for (i = 0; i < 10; i++)
{
printf("Hello World!\n");
} return 0;
}

运行结果

表达式 1、表达式 2、表达式 3 可以安装需要进行省略,但是分号不能省略

#include <stdio.h>

int main()
{
int i = 0; for (;i < 10;)
{
printf("Hello World!\n");
i++;
} return 0;
}

运行结果

表达式 1、2、3 都省略的话:for (;;) 就和 while (1) 一样

表达式 1、3 可以是用逗号分隔的多个表达式

for (i = 0, j = 10; i < j; i++)

C99 运行在表达式 1 中定义变量,定义的变量的作用域只在循环中

for (int i = 0; i < 10; i++)

使用 for 循环嵌套实现九九乘法表

#include <stdio.h>

int main()
{
int i, j;
for (i = 1; i <=9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d * %d = %-2d", i, j, i * j);
}
putchar('\n');
} return 0;
}

运行结果

break 语句

结束当前循环

#include <stdio.h>

int main()
{
int i, j; for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (j == 3)
{
break;
}
}
} printf("i = %d, j = %d\n" ,i, j); return 0;
}

运行结果

当 j 等于 3 时,j 的循环就因为 break 结束了,只剩下 i 的循环

continue 语句

跳过当前循环,继续下一次循环

#include <stdio.h>

int main()
{
int ch; printf("请输入一个字符串:"); while ((ch = getchar()) != '\n')
{
if (ch == 'w')
{
continue;
}
putchar(ch);
}
putchar('\n'); return 0;
}

运行结果

C 语言 - 分支、跳转和循环语句的更多相关文章

  1. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  2. C语言分支结构之if else语句

    前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条.第三条……一直到最后一条语句,这称为顺序结构. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用, ...

  3. Oracle笔记 八、PL/SQL跳转/判断/循环语句块

    --goto跳转语句 --在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句 begin dbms_output.put_line('goto开始了'); goto c; --不被执行 d ...

  4. R语言(自定义函数、循环语句、管道函数)

    学习R语言半年多了,以前比较注重统计方法上的学习,但是最近感觉一些基础知识也很重要.去年的参考资料是<R语言实战>,今年主要是看视频.推荐网易云课堂里的教程,很多资料都是很良心的~ 目前学 ...

  5. javascript语句——条件语句、循环语句和跳转语句

    × 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...

  6. 洗礼灵魂,修炼python(10)--有趣的判断分支+从实例中掌握循环语句

    所有的编程语言里都有判断语句和循环语句. 判断语句则是用来分支程序流程的 循环语句则是为了实现一个效果,让程序的规律性的重复操作 不用说,分支和循环自然在python里也是有的 一,条件判断:if,i ...

  7. 新手入门C语言第八章:C循环

    一.C 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推.编程语言提供了更为复杂执行路径的多种控制结构.循环语句允许 ...

  8. 【Java】流程控制 - 顺序结构、 选择(分支)结构(单分支、双分支、多分支、嵌套)、循环结构(for、while、do...while)、跳转语句(break、continue)

    流程控制语句结构 文章目录 流程控制语句结构 一. 顺序结构 1. 输出语句 2. 输入语句 3.code 二.复合语句 三. 分支结构 1. 条件判断 1.单分支结构 2.双分支结构 3.多分支结构 ...

  9. 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等

    [源码下载] 不可或缺 Windows Native (3) - C 语言: 运算符,表达式,条件语句,循环语句,转向语句,空语句等 作者:webabcd 介绍不可或缺 Windows Native  ...

随机推荐

  1. 创建Azure scheduler完成日常任务

    Azure Scheduler 1. 登录portal,创建azure scheduler2. 选择任务类型.azure scheduler支持两种类型的任务.http :定时给一个url发请求sto ...

  2. SpreadJS 在 Angular2 中支持绑定哪些属性?

    SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,提供了完备的公式引擎.排序.过滤.输入控件.数据可视化.Excel 导入/导出等功能,适用于 .N ...

  3. 使用HslCommunication实现PLC数据的远程客户端监视,以及web端实时监视,远程操作设备示例

    前言 本文主要是演示一个例子,服务器后台程序从PLC采集数据,并推送给在线客户端显示,以及推送给web端进行实时的显示,还支持远程操作,支持安卓端的同步监视和远程操作,关于HslCommunicati ...

  4. SVN 安装配置详解,包含服务器和客户端,外带一个项目演示,提交,更改,下载历史版本,撤销

    本次要介绍的是svn版本管理工具包含2个: 服务器端:visualsvn server 下载地址为:https://www.visualsvn.com/server/download/   此处演示的 ...

  5. 一个简单的程序,统计文本文档中的单词和汉字数,逆序排列(出现频率高的排在最前面)。python实现。

    仅简单统计英文. from collections import Counter f = open('1') c = Counter() for line in f: g = (x for x in ...

  6. 每次都要重新编译?太慢!让跨平台的 MSBuild/dotnet build 的 Target 支持差量编译

    如果你干预到了项目的编译过程,可能就需要考虑到差量编译了.不然--当你的项目大起来的时候,就会感受到每次都重新编译时,每次重复调试的过程都要进行漫长等待时的绝望和无奈. 如果你正遭遇差量编译失效,每次 ...

  7. GitHub项目为己所用

    1.下载 2.cmd  进入文件夹 3.mvn clean package 4.mvn install

  8. [Scala函数特性系列]——按名称传递参数

    通常情况下,函数的参数是传值参数:即参数的值在它被传递给函数之前被确定.但是,如果我们需要编写一个接收参数不希望马上计算,直到调用函数内的表达式才进行真正的计算的函数.对于这种情况,Scala提供按名 ...

  9. python学习-序列排序

    python的排序中,可以使用内置的sort()来对序列进行排序,也可以使用内置的sorted()函数对序列进行排序,区别是,当使用sort()时,是对原序列进行排序,而sorted()则是生成一个新 ...

  10. Appium+python (3) 异常处理

    有时候定位时会发现无法定位到具体的元素,右侧元素定位处只告诉你这是一个网页视图: 点击里面的具体元素是无法选中的,船长的做法是回到App里点一下元素,再返回要定位的页面,重新点一下Device Scr ...