欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > 04:C语言流程控制

04:C语言流程控制

2024/10/24 19:18:17 来源:https://blog.csdn.net/qq_51284092/article/details/140231747  浏览:    关键词:04:C语言流程控制

C语言流程控制

  • 1、选择结构
    • 1.1、第一种:if ...else / if ...else if...else
    • 1.2、第二种:switch case
  • 2、循环结构
    • 2.1、第一种:for循环
    • 2.1、第二种:while循环
    • 2.2、第三种:do...while循环

在C语言程序里,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构

1、选择结构

逻辑上有一种类型,叫bool类型(又写作boolean类型,中文叫布尔类型)。布尔类型只有两个值,真和假。

C语言中选择结构一共有两种:

1.1、第一种:if …else / if …else if…else

if (bool值)				// 如果bool值为真,则执行代码段1,否则执行代码段2
{代码段1
}
else
{代码段2
}
***********************************************************************
if (bool值1)				// 如果bool值1为真,则执行代码段1
{							// 否则则判断bool值2是否为真,若为真则执行代码段2代码段1					// 否则直接执行代码段3
}
else if (bool值2)			// 开头的if和结尾的else都只能有一个,但是中间的
{							// else if可以有好多个。代码段2
}
else
{代码段3
}

只要执行了其中的一个代码段就会立马跳出判断语句。不再会进行判断,执行下面的语句

1.2、第二种:switch case

涉及到的C语言关键字:switch case break default

switch (变量)				// 执行到这一句时,变量的值已经知道了
{							// switch case语句执行时,会用该变量的值一次与各个
case 常数1:			    	// case后的常数去对比,试图找到第一个匹配项。代码段1;			        // 找到匹配的项目后,就去执行该case对应的代码段break;				    // 如果没找到则继续下一个case,直到default。
case 常数2:				    // 如果前面的case都未匹配,则default匹配。代码段2;break;.....default:代码段n;break;
}

【注】
1、case中必须是常数,而且必须是整形(不能是float double,可以是int char)
2、一般来说,每个case中代码段后都必须有一个break;如果没有,结果可能会让你大吃一惊
3、case之后一般都会有default。语法上允许没有default,但是建议写代码时一定要写。

switch case和if else对比:
1、if else适合对比条件比较复杂,但是分支比较少的情况;switch case适合那种对比条件
不复杂,但是分支数很多的情况。
2、所有的选择结构,其实都可以用if else来实现。但是只有部分才可以用switch case实现。
一般的做法是:在适合使用switch case的情况下会优先使用switch case,如果不适合使用switch case,则不得不使用if else。

代码示例可以参考郝斌版C语言。

2、循环结构

C语言中常用的循环结构有三个:for循环、while循环、do while循环。

2.1、第一种:for循环

for (循环控制变量初始化; 循环终止条件; 循环控制变量增量)
{ 循环体 
}******************************************
eg:for(i=0;i<=4;i++)
{nihao;
}//循环次数 = 4 - 0 + 1

for循环的执行步骤:
1、先进行循环控制变量初始化
2、执行循环终止条件,如果判断结果为真,则进入第3步;如果为假则循环终止,退出。
3、执行循环体。
4、执行循环控制变量增量,转入第2步。
以例子位例:由此可见,i = 0只执行一次,进入循环后,就不在执行i = 0了,执行完循环后i的值位5

int i = 0;                 int i = 0;
for(;i<=4;i++)             for( ;i<=4;)
{						   {			nihao;                     nihao;i++;
}                          }
//这2段代码和上面的例子代码等价的

【注】

for(; ;);//此乃死循环

2.1、第二种:while循环

i = 1;
sum = 0;					// 循环初始化
while (i < 100)				// 终止条件
{printf("i = %d.\n", i);sum += i;				// 循环体i += 2;					// 循环控制增量,属于循环体的一部分
}

while循环的执行步骤:
1、首先是循环初始化。这一部分其实不属于while循环本身。
2、先判断终止条件是否满足。如果是真,则进入第2步;否则直接退出。
3、执行循环体,然后转入第2步。

while(1);//死循环

2.2、第三种:do…while循环

i = 1; sum = 0;					// 初始化条件
do
{ 	printf("i = %d.\n", i); 	sum += i;i += 2;					// 增量,循环体的一部分
}
while (i < 100);			// 终止条件,记住这里有个;号

do while循环的执行步骤:
1、首先是循环初始化。这一部分其实不属于do while循环本身。
2、执行循环体(循环控制变量的增量是循环体的一部分)
3、判断终止条件。若成立,则转入2;若不成立则退出

while循环和do while循环哪里不同?while循环是先判断后执行,do while循环是先执行后判断等循环开始转了之后,其实是一样的。do…while循环中循环体一定会执行一次。

代码示例可以参考郝斌版C语言。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com