C 流程控制

mac2026-02-26  6

判断

switch语句

switch语句可以嵌套

switch(expression){ case constant-expression : statement(s); break; /* 可选的 */// 如果这里没有break,则会继续执行下面一个case里的语句,直到遇见一个break或者switch语句结束 case constant-expression : statement(s); break; /* 可选的 */ /* 您可以有任意数量的 case 语句 */ default : /* 可选的 */ statement(s); } #include <stdio.h> int main () { /* 局部变量定义 */ char grade = 'B'; switch(grade) { case 'A' : printf("很棒!\n" ); break; case 'B' : case 'C' : printf("做得好\n" ); case 'D' : printf("您通过了\n" ); break; case 'F' : printf("最好再试一下\n" ); break; default : printf("无效的成绩\n" ); } printf("您的成绩是 %c\n", grade ); return 0; } //输出 做得好 您通过了 您的成绩是 B

三元运算符

Exp1 ? Exp2 : Exp3;

循环

for循环中三个表达式中的每一个都不是必要的,从而可以将某些表达式置空来构造无限循环

#include <stdio.h> int main () { for( ; ; ) { printf("该循环会永远执行下去!\n"); } return 0; }

while与do……while的区别

while语句在执行循环主体前测试条件、而do……while在循环主题执行后测试条件,即循环主体会被至少执行一次

循环控制语句goto

goto语句允许把控制无条件的转移到同一函数内的被标记语句 但是不建议使用goto语句,因为他使得程序的执行流程变得难以跟踪,任何使用goto的语句都可以改写成为其他写法。语法

goto label; .. . label: statement; #include <stdio.h> int main () { /* 局部变量定义 */ int a = 10; /* do 循环执行 */ LOOP:do#label为LOOP的语句 { if( a == 15) { /* 跳过迭代 */ a = a + 1; goto LOOP;#跳到label为LOOP的语句 } printf("a 的值: %d\n", a); a++; }while( a < 20 ); return 0; }
最新回复(0)