您的位置:首页 > 编程语言 > C语言/C++

【黑马程序员】iOS学习之路——C语言之流程控制

2015-03-15 22:16 393 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、流程控制

顺序结构:默认的流程结构。按照书写顺序执行每一条语句。

选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。

循环结构:在给定条件成立的情况下,反复执行某一段代码。



二、选择结构-if

1.简单使用

1.if的第1种结构
if(条件)
{
语句1;
语句2;
......
}

2.if的第2种结构
if(条件1)
{
语句1;
语句2;
......
}
else
{

}

3.if的第3种结构
if(条件1)
{
语句1;
语句2;
......
}
else if(条件2)
{

}
else if(条件3)
{

}
else if(条件4)
{

}
else
{

}

4.if的第4种结构
if (条件)
语句1;


2举例

// 1.提示输入
printf("请输入分数值:\n");

// 2.接收输入
int score;
scanf("%d", &score);

// 3.判断等级 (性能最高)
if (score>=90 && score<=100) { // [90, 100]
printf("A\n");
} else if (score>=80) { // [80, 89]
printf("B\n");
} else if (score>=70) { // [70, 79]
printf("C\n");
} else if (score>=60) { // [60, 69]
printf("D\n");
} else { // (-∞, 59]
printf("E\n");
}


三、选择结构-switch

1.简单使用

switch (数值)
{
case 数值1:
语句1;
break;

case 数值2:
语句2;
break;

default :
语句3;
break;
}


2.举例

<pre name="code" class="objc">    char c = '+';
int a = 10;
int b = 20;
// 如果要在case后面定义新的变量,必须用大括号{}包住
switch (c) {
case '+':
{
int sum = a + b;
printf("和是%d\n", sum);
break;
}

case '-':
{
int minus = a - b;
printf("差是%d\n", minus);
break;
}
}




简述break的作用

在case中定义变量

3.if和switch对比
很多情况可以互换

if用得比较多,比较灵活,switch只能某个单值

四、循环结构-while

1.简单使用

while (条件)
{
循环体
}

运行原理
1.如果一开始条件就不成立,永远不会执行循环体
2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......

break
直接结束整个while循环

continue
结束当前的循环体,进入下一次循环体的执行


2.举例

// 1.先确定需要重复执行的操作

// 2.再确定约束条件

// 定义一个变量记录做的次数
int count = 0;

while (count < 50)
{
++count;

printf("做第%d次俯卧撑\n", count);

if(count % 10 == 0)
{
continue;
}

if (count == 20)
{
break;
}
}
五、循环结构-do-while

1.简单使用

do {

} while(条件);

while和do-while的区别
1.很多情况下,while和do while可以互换

2.while特点:如果一开始的条件不成立,永远不会执行循环体
do while特点:不管一开始的条件是否成立,至少会执行一次循环体

3.最好使用while
2.举例

int i = 0;

do {
i++; // 5
} while (i<0);

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


六、循环结构-for

1.简单使用

for (语句1; 条件; 语句2)
{
循环体
}

语句1:初始化语句
语句2:增量语句(执行完循环体后再执行的语句)

1.for一开始就会执行一次语句1(整个for循环只会执行一次)
2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立


2.举例

for (int count = 0; count < 50; count++)
{
printf("做俯卧撑\n");
}
3.循环嵌套

/*
提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推
*****
****
***
**
*
*/

#include <stdio.h>

int main()
{
// 1.定义一个变量存储用户输入的值
int n = 0; // 一定要初始化

// 2.判断n值合不合理
while (n <= 0)
{
// 2.1 提示用户输入正整数
printf("请输入一个正整数:\n");

// 2.2 接收输入的数据
scanf("%d", &n);
}

// 3.输出图形
for (int i = 0; i<n; i++)// 有多少行
{
//printf("*****\n");
for (int j = 0; j<n-i; j++)
{ // 每一行有多少个
printf("*");
}

printf("\n");
}

return 0;
}


七、break和continue

#include <stdio.h>

/*
break:
1.使用场合
1> switch语句:退出整个switch语句
2> 循环结构:退出整个循环语句
* while
* do while
* for
2.注意点
只对最近的循环结构有效

continue:
1.使用场合
循环结构:结束当前这次的循环体,进入下一次循环体
* while
* do while
* for
2.注意点
只对最近的循环结构有效
*/

int main()
{
/*
for (int i = 0; i<5; i++)
{
printf("%d\n", i);

if (i%2)
{ // i为奇数:1、3
continue;
}
}*/
/*
for (int i = 0; i<5; i++)
{

printf("哈哈哈\n");

continue;

printf("哈哈哈23\n");
}*/

for (int i = 0; i<3; i++)
{
for (int j = 0; j<2; j++)
{
if (j==1)
{
break;
}

printf("A\n");
}

break;

printf("B\n");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: