c程序控制语言,05-C语言-程序控制流程

本文详细介绍了C语言中的三种基本程序结构:顺序结构、选择结构和循环结构。顺序结构按照代码顺序执行;选择结构通过if、if...else和三目运算符实现条件判断;循环结构包括while、do...while和for循环,以及如何使用break和continue来控制循环流程。此外,还提及了goto语句的无条件跳转功能。这些基础知识是C语言编程的核心。
摘要由CSDN通过智能技术生成

一、概述

C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。

顺序结构:程序按顺序执行,不发生跳转。

选择结构:依据是否满足条件,有选择的执行相应功能。

循环结构:依据条件是否满足,循环多次执行某段代码。

二、顺序结构

我们之前编写的代码都是顺序结构的程序,即代码在执行过程中从上到下依次执行,不发生改变。

示例

#include

int main(){

int a = 123;

int b = 0123; // 八进制

int c = 0xabc; // 十六进制

int d;

printf("十进制a = %d\t 八进制a = %o\t 十六进制a = %x\n", a, a, a);

printf("十进制b = %d\t 八进制b = %o\t 十六进制b = %X\n", b, b, b);

printf("十进制c = %d\t 八进制c = %o\t 十六进制c = %x\n", c, c, c);

printf("十六进制c = %X\n", c);

return 0;

}

三、选择结构

在选择结构程序中要大量使用之前学到的比较运算符和逻辑运算符

3.1 if语句

if关键字:判断条件成立,执行的语句。

流程图:

f5b82298effc

if语句流程图

语法结构示例

#include

int main()

{

int a = 1;

int b = 2;

if (a > b)

{

printf("%d\n", a);

}

return 0;

}

3.2 if…else…语句

else关键字:if条件不成立时要执行的语句

流程图

f5b82298effc

语法结构示例

#include

int main()

{

int a = 1;

int b = 2;

if (a > b)

{

printf("%d\n", a);

}

else

{

printf("%d\n", b);

}

return 0;

}

三目运算符

标识符 = 条件?表达式1:表达式2

条件成立,返回表达式1的值

条件不成立,返回表达式2的值

语法结构示例

#include

int main()

{

int a;

int b;

int c;

a = 1;

b = 2;

c = ( a > b ? a : b ); // 三目运算

printf("c2 = %d\n", c);

return 0;

}

3.3 if …else if…else… 语句

else if组合关键字:第一个条件不成立在执行判断第二个条件

流程图

f5b82298effc

语法结构示例

#include

int main()

{

unsigned int a;

scanf("%u", &a);

if (a < 10)

{

printf("个位\n");

}

else if (a < 100)

{

printf("十位\n");

}

else if (a < 1000)

{

printf("百位\n");

}

else

{

printf("很大\n");

}

return 0;

}

3.4 switch…case…default…语句

每一个case语句块都必须要以break语句结束

switch(arg)中arg必须是整型数据

语法结构示例

#include

int main()

{

char c;

c = getchar();

switch (c) //参数只能是整型变量

{

case '1':

printf("OK\n");

break;//switch遇到break就中断了

case '2':

printf("not OK\n");

break;

default://如果上面的条件都不满足,那么执行default

printf("are u ok?\n");

}

return 0;

}

四、循环结构

4.1 while语句

先执行判断条件,条件成立执行循环体;条件不成立退出循环。

循环体中可以有对条件有影响的语句,也可以没有。尽量避免死循环。

流程图

f5b82298effc

语法结构示例

#include

int main()

{

int a = 20;

while (a > 10)

{

scanf("%d", &a);

printf("a = %d\n", a);

}

return 0;

}

4.2 do…while…语句

先执行循环体中的语句,在进行条件判断;如果条件成立,继续执行循环体;否则跳出循环体。

流程图

f5b82298effc

image.png

语法结构示例

#include

int main()

{

int a = 1;

do

{

a++;

printf("a = %d\n", a);

} while (a < 10);

return 0;

}

4.3 for语句

C语言中for语句非常灵活。

示例代码

#include

int main()

{

int i;

int sum = 0;

for (i = 0; i <= 100; i++)

{

sum += i;

}

printf("sum = %d\n", sum);

return 0;

}

循环语句之间可以相互嵌套

示例

#include

int main()

{

int num = 0;

int i, j, k;

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

{

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

{

for (k = 0; k < 10; k++)

{

printf("hello world\n");

num++;

}

}

}

printf("num = %d\n", num);

return 0;

}

五、跳转语句break、continue、goto

5.1 break语句

在switch条件语句和循环语句中都可以使用break语句:

当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。

当它出现在循环语句中,作用是跳出当前内循环语句,执行后面的代码。

当它出现在嵌套循环语句中,跳出最近的内循环语句,执行后面的代码。

语法示例

#include

int main()

{

int i = 0;

while (1)

{

i++;

printf("i = %d\n", i);

if (i == 10)

{

break; //跳出while循环

}

}

int flag = 0;

int m = 0;

int n = 0;

for (m = 0; m < 10; m++)

{

for (n = 0; n < 10; n++)

{

if (n == 5)

{

flag = 1;

break; //跳出for (n = 0; n < 10; n++)

}

}

if (flag == 1)

{

break; //跳出for (m = 0; m < 10; m++)

}

}

return 0;

5.2 continue语句

在循环语句中,如果希望立即终止本次循环,并执行下一次循环,此时就需要使用continue语句。

语法示例代码

#include

int main()

{

int sum = 0; //定义变量sum

for (int i = 1; i <= 100; i++)

{

if (i % 2 == 0) //如果i是一个偶数,执行if语句中的代码

{

continue; //结束本次循环

}

sum += i; //实现sum和i的累加

}

printf("sum = %d\n", sum);

return 0;

}

5.3 goto语句

无条件转移

#include

int main()

{

goto End; //无条件跳转到End的标识

printf("aaaaaaaaa\n");

End:

printf("bbbbbbbb\n");

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值