C 语言 - 分支、跳转和循环语句

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;
}

运行结果

原文地址:https://www.cnblogs.com/sch01ar/p/9697142.html

时间: 2024-10-11 02:34:43

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

C语言入门(九)循环语句和循环控制

循环语句和循环控制 前言: Turbo C 2.0提供三种基本的循环语句: for语句.while语句和do-while语句. 一.循环语句 (一).for循环 for(<初始化>;<条件表过式>;<增量>) 语句; 初始化总是一个赋值语句,它用来给循环控制变量赋初值:条件表达式是一个关系表达式,它决定什么时候退出循环:增量定义循环控制变量每循环一次后按什么方式变化.这三个部分之间用;分开. 例如: for(i=1;i<=10;i++) 语句; 上例中先给i赋初值

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

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

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

× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文介绍可以改变语句默认执行顺序的条件语句.循环语句和跳转语句 条件语句 脚本的威力体现在它们可以根据人们给出的各种条件做出决策,javascript使用条件语句来做判断 条件语句(conditianal statement)通过判断表达式的值来决定执行还是跳过某些语句,包括if语句和switch语句

JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)

Java流程控制语句 本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析. 1.顺序语句 顺序结构中的语句可分为:表达式语句.空语句和复合语句三大类. 注: (1).空语句主要用来作为空循环体,其语法格式如下: : //其实就是一个分号 执行一个空语句,就是将控制转到该语句的结束点.这样,如果空语句是可以到达的,则空语句的结束点也是可以到达的. (2).复合语句又称为语句块,若语句块是空的,则控制转到语句块的结束点. 2.if条件语句 J

循环语句(for、while)(一)

2016-12-18 while循环结构; while语句是Python语言中最通用的迭代结构. while语句最完整的书写格式是:首行以及测试表达式,有一列或多列缩进语句的主体以及一个可选的else部分(控制 权离开循环而又没有碰到Break语句时会执行).Python会一直计算开头的测试,然后执行循环主体内的语句,直到测试返回值为假. 1 while <test>: #Loop test 2 <statements1> #Loop body 3 else: #Optional

C# FOR 循环语句——打印五角星和菱形

for循环.for 然后 tab键 自动生成下面的 for (int i = 0/*初始条件*/; i < length/*循环条件*/; i++/*状态改变*/){        //循环体,执行代码:(break 跳出循环体)} 给出初始条件,先判断是否满足循环条件,如果不满足则跳过for循环语句,如果满足,则进入for循环语句执行,for语句内的代码执行完毕后,将按照状态改变,改变变量,然后判断是否符合循环条件,符合则继续执行for语句内的代码,直到变量i不符合循环条件则终止循环,或者碰到

lua学习笔记---选择,循环语句

选择语句 形式: 1> if 条件 then 分支 end 注:括号可以去掉 2> if 条件 then 分支1 else 分支2 end 3> if 条件1 then 分支1 elseif 条件2 then 分支2 end 2. 循环语句 1> while循环 注:没有自减,自加了 2> for循环 形式:for 初始值,最终值,步进 do 分支 end 步进可选:若没有步进,默认的情况下为1: 注解:i从0开始,每次加1 ,直到 i = 4,执行print 5次:for循

分支语句和循环语句(1)

Part 1 一.判断这3条线段组成的三角形属于什么类型 ①if循环 /*<C语言程序设计教程学习指导>p122 实验内容(1):判断三角形类型:一般三角形.等腰三角形.等边三角形 这是一个使用多分支if语句编程解决非数值类问题示例 运行程序,输入不同边长数据进行测试,观察输出结果是否正确,理解和巩固if语句功能和用法*/ #include <stdio.h> int main() { double a, b, c; scanf_s("%lf %lf %lf",

黑马程序员 C语言:循环语句

什么是循环? 当条件满足的时候,重复执行某一段代码 条件不满足的时候,跳出循环 --->执行循环的后面的语句 循环的三个要素: 循环控制条件:循环结束的条件 循环体:执行循环做的事情 能够保证让循环正常结束的(自增.自减.真.假) C语言中的三种循环 while循环(当条件满足的时候,执行循环体) 使用:while(条件表达式) ; while(条件表达式) sum+=1; while(条件表达式){ 循环体 } 注意: while(1)  死循环 while(条件表达式) int num=1;