C语言讲义——结构化编程(分支、循环)
- 顺序结构(从上到下)
- 分支结构(也叫选择结构)
- 循环结构
分支结构
if...else
最基本的分支结构是if(){}else{}。
为了代码的安全,同时也是出于代码规范的考虑,if()后面一定要加花括号,else后面也要加花括号。
如果不加花括号,if,else只能管一条语句,降低了代码的可扩展性和可读性。
下面的例子是【输入两个整数,判断并输出其较大值】
int main(int argc, char** argv) {
int x;
int y;
printf("请输入x:");
scanf("%d",&x);
printf("请输入y:");
scanf("%d",&y);
if(x>y) {
printf("%d较大\n", x);
} else {
printf("%d较大\n", y);
}
return 0;
}
三目运算符【 ? : 】
可以简化if…else…语句。形式如【判断条件?条件成立时的结果: 不成立时返回的结果】
上例可改为下面的样子:
int main(int argc, char** argv) {
int x;
int y;
printf("请输入x:");
scanf("%d",&x);
printf("请输入y:");
scanf("%d",&y);
int max = x>y?x:y;
printf("%d较大\n", max);
return 0;
}
switch...case...
不要漏了break,以及default。
循环结构
while(判断条件)
int main(int argc, char** argv) {
int a = 1;
while(a <= 100){
printf("a≤100时执行。a=%d\n", a);
a++;
}
return 0;
}
C语言里死循环的写法是:while( 1 )。1表示满足条件(0表示不满足条件)。
为了代码安全,while()后面也必须加上花括号{}。
do{}while();循环
无论while()中的条件是否满足,先执行一次再来判断。简单地说:
while循环先判断;do…while循环后判断。记得最后加个分号。
for循环
for循环用于简化while循环的变量管理,非常实用,在数组、字符串中用得非常多。
for(int a = 1; a<=100; a++ ) {
printf("a≤100时执行。a=%d\n", a);
}
退出循环
- break:结束循环。
- continue:结束本次循环,进入下一次循环。
- return:直接退出函数,尽量不用。
- goto:跳来跳去,是bug和复杂度的根源之一,不建议使用。