四、程序流程结构:if else语句;三目运算符;switch语句;for循环;while循环;do while循环;break、continue、goto
for while if 后面的执行语句只有一条,那么{}可以不用写

//if else示例: int main(void) { const int num = rand()%100; printf("猜数字游戏,数字范围0-100\n"); for (;;) { printf("请输入一个数字:"); int a; scanf("%d",&a); if (a == num) { printf("恭喜你答对了!!!\n"); break; } else if (a < 0 || a > 100) { printf("数字超范围了,请重新输入一个数字\n"); } else if (a < num) { printf("猜的数字小了\n"); } else { printf("猜的数字大了\n"); } } } ====================================================================== if…else if…else语句 int main() { unsigned int a; scanf("%u", &a); if (a < 10) { printf("个位\n"); } else if (a < 100) { printf("十位\n"); } else if (a < 1000) { printf("百位\n"); } else { printf("很大\n"); } return 0; }

三目运算符 #include <stdio.h> int main() { int a = 10; int b = 20; int c; if (a > b) { c = a; } else { c = b; } printf("c1 = %d\n", c); a = 1; b = 2; c = ( a > b ? a : b ); printf("c2 = %d\n", c); return 0; }

switch示例 #include <stdio.h> int main() { char c; c = getchar(); switch (c) //参数只能是整型变量 { case '1': printf("OK\n"); break;//switch遇到break就中断了 case '2': printf("not OK\n"); break; default://如果上面的条件都不满足,那么执行default printf("are u ok?\n"); } return 0; }

for循环示例;for循环表达式的省略 ================================================================= for (; i <= 100; i++) //省略表达式1 for (; i <= 100; ) //省略表达式1、3 for (;;) //省略表达式1、2、3,相当于死循环 for (i = 1, a = 3;a < 20; i++) //多个表达式 省略的表达式相当于判定为真 ---------------------------------------------------------------- //for循环示例 int main(void) { int sum = 0; int i; for (i = 1; i <= 100; i++) { sum += i; } printf("sum is %d",sum); system("pause"); return EXIT_SUCCESS; } #include <stdio.h> ---------------------------------------------------------------- int main() { int i; int sum = 0; for (i = 0; i <= 100; i++) { sum += i; } printf("sum = %d\n", sum); return 0; }

while循环;do…while循环 ======================================== while循环 #include <stdio.h> int main() { int a = 20; while (a > 10) { scanf("%d", &a); printf("a = %d\n", a); } return 0; } ------------------------------------------- do…while语句 #include <stdio.h> int main() { int a = 1; do { a++; printf("a = %d\n", a); } while (a < 10); return 0; }

跳转语句break、continue、goto ====================================================== break:跳出当前内循环语句,执行后面的代码。 continue:立即终止本次循环,并执行下一次循环 goto语句(无条件跳转,尽量少用) ------------------------------------------------------ #include <stdio.h> int main() { goto End; //无条件跳转到End的标识 printf("aaaaaaaaa\n"); End: printf("bbbbbbbb\n"); return 0; } ------------------------------------------------------ goto语句:需要定义一个标签(任意名称),然后 goto 标签即可;可以实现循环效果,也可以实现跳过效果 循环效果 LABLE: ...... goto LABLE; 跳过效果: goto LABLE; ...... LABLE:

其他示例 =================================================================== int main(void) { srand(time(NULL)); //没有这个随机数种子的话,那么生成的随机数其实不会变化,为什么??? const int num = rand()%100; //所以rand()根本就不是生成随机数咯。。。。 printf("猜数字游戏,数字范围0-100\n"); for (;;) { printf("请输入一个数字:"); int a; scanf("%d",&a); if (a == num) { printf("恭喜你答对了!!!\n"); break; } else if (a < 0 || a > 100) { printf("数字超范围了,请重新输入一个数字\n"); } else if (a < num) { printf("猜的数字小了\n"); } else { printf("猜的数字大了\n"); } } } ------------------------------------------------------------------- int main(void) { srand(time(NULL)); //没有这个随机数种子的话,那么生成的随机数其实不会变化,为什么??? const int num = rand()%100; int a, b, c, e, f, g; printf("请输入3个数:\n"); scanf("%d %d %d", &a, &b, &c); //输入格式:1 2 3 printf("输入的三个数是:%d、%d、%d",a,b,c); printf("请输入3个数:\n"); scanf("%d,%d,%d", &e, &f, &g); //输入格式:1,2,3 printf("输入的三个数是:%d、%d、%d", e, f, g); } ----------------------------------------------------------------- int main(void) { int a, b; a = 1; b = 1; for (a = 1; a <= 9; a++) { for (b = 1; b <= a; b++) { printf("%2d x%2d = %2d ",b,a,a*b); } printf("\n"); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!