什么是流程控制?
程序代码的执行顺序
流程控制的分类
- 顺序
- 选择
- 循环
顺序
没啥好说的,略。
选择
/**
* 测试if
*/
#include <stdio.h>
int main() {
int a, b, c;
int t;
printf("please input a b c:\n");
scanf("%d %d %d", &a, &b, &c);
//编写核心代码
//程序 = 算法 + 语言
if (a < b) {
t= a;
a= b;
b= t;
}
if (a < c) {
t= a;
a= b;
b= t;
}
if(b < c) {
t= b;
b= c;
c= t;
}
printf("%d %d %d\n",a, b, c);
return 0;
}
/**
* 测试switch
*/
# include <stdio.h>
int main() {
int val;
printf("请输入您要进入的楼层: ");
scanf("%d", &val); //千万注意要写& !!!
switch(val) {
case 1:
printf("1层开!\n"); //屏蔽掉break,输出“1层开! 2层开!”
break;
case 2:
printf("2层开!\n"); //break 起终结作用!
break;
case 3:
printf("3层开!\n");
break;
default:
printf("还未建到这一层!\n");
break;
}
return 0;
}
循环
/**
* 测试for循环
*/
# include <stdio.h>
int main() {
int i;
int sum = 0;
for(i = 0; i <= 4; i++) {
sum= sum + i;
}
printf("sum = %d\n", sum);
printf("i = %d\n", i);
return 0;
}
/**
* 测试while循环
*/
# include <stdio.h>
int main() {
int i = 0;
int sum = 0;
while (i <= 100) {
sum += i;
i++;
}
printf("sum= %d\n", sum);
printf("i= %d\n", i);
return 0;
}
/**
* 测试do while循环
*/
# include <stdio.h>
int main() {
int i = 0;
int sum = 0;
int n;
printf("please input n: \n");
scanf(" %d", &n); //%d前面必须一个空格!详见《C PrimerPlus》_主要解决空白符问题
do {
sum += i;
i++;
} while (i<=n);
printf("sum= %d\n", sum);
printf("i= %d\n", i);
return 0;
}