c语言程序的控制结构,C语言程序的控制结构解读.ppt

本文详细解读了C语言中for循环的灵活用法,展示了如何通过省略部分表达式简化代码,并介绍了goto语句的使用及其潜在问题。此外,通过实例分析了while循环和break/continue语句的区别,以及如何避免在程序设计中滥用goto。重点讲解了在实际编程中的注意事项和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言程序的控制结构解读

(2)表达式2可以省略 for (i=1;;i++) //等效于for(i=1;1;i++) { sum+=i; } (3)表达式3可以省略 for(i=1;i<=100;) sum+=i++; (4)表达式1和表达式3可以同时省略 for(;i<=100;) sum+=i++; (5)三个表达式都省略 for (;;) { if(i>100) break; sum+=i++; } 4、goto语句的使用 语法结构: goto 标识符; 作用:无条件转向,常用于跳出某种嵌套较深的结构,比如一次跳出二层甚至更多层嵌套循环,而break语句只能跳出最里一层循环。 注意:goto语句是一种可以让程序员任意控制流程的有效工具,使得程序很灵活,但对结构化的程序设计而言,goto语句的使用会使得 程序无规律,可读性差,所以我们主张但是不是绝对禁止地 限制使用goto语句。 例如:下面程序运行的结果是( )。 #define f(x) 1+x+x*x #include void main() { int a=2,b=3; printf("%d\n",f(a+b)); } (A)17 (B)31 (C)13 (D)7 例如:下面程序运行的结果是( )。 #define f(x) 1+x+x*x #include void main() { int a=2,b=3; printf("%d\n",f(a+b)); } (A)17 (B)31 (C)13 (D)7 while(条件) { 语句A; break; 语句 B; } 真 语句B 条件 语句A break 假 结束循环 3、break语句与continue语句的区别 至此位置 while(条件) { 语句A; continue; 语句 B; } 真 语句B 条件 语句A continue 假 结束循环 至此位置 #include "stdio.h" void main() {int a, b; for(a=1,b=1; a<=10; a++) {if(b>=10) break; if(b%3==1) {b+=3; continue;} } printf("%d\n",a); } 【例】 分析以下程序的运行结果。 4 标识符是指goto语句的转移目标,它必须是局限于当前函数的标号,命名格式与变量名相同。 #include "stdio.h" void main() {int i,j; for(i=2;i<=500;i++) { for(j=2;j<=i/2;j++) if(i%j==0) goto ll; printf(“%4d”,i); ll:; } 【例】 用逐个判别法输出2~500以内的所有素数。 3.5 编译预处理 作用:对源程序编译之前做一些处理,生成扩展C源程序 种类 宏替换 #define 文件包含 #include 条件编译 #if--#else--#endif等 格式: “#”开头 占单独书写行 语句尾不加分号 3.5.1 宏替换 不带参数宏定义 一般形式: #define 宏名 宏体 功能:用指定标识符(宏名)代替字符序列(宏体) 宏展开:预编译时,用宏体替换宏名---不作语法检查 #include #define PI 3.1415926 void main() {float l,s,r,v; printf("input radius:"); scanf("%f",&r); l=2.0*PI*r; s=PI*r*r; v=4.0/3*PI*r*r*r; printf("l=%10.4f\ns=%10.4f\nv=%10.4f\n",l,s,v); } 程序运行结果: l= 25.1327 s= 50.2655 v= 150.7964 带参数宏定义 一般形式: #define 宏名(参数表) 宏体 例 #define S (r)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值