c语言课件黄海(循环函数指针数组)!!
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<
>
for(表达式1;表达式2;表达式3) 一般形式: 循环体语句;
for
表达式1
执行流程
表达式1
表达式2
真
表达式3
表达式2
假(0)
假
循环体语句;
真(非0) 循环体语句 表达式3
循环结束
C语言程序设计
例 用for语句构成循环,求
i=1 i≤ 100 成立 sum=sum+i i ++ 不成立
< >
do-while 循环,循环体至少执行一次; while和do-while可以解决同一问题,两者可以互换。 while后的表达式一开始就为假时,两种循环结果不同。
比较while与do-while
main() { int n = 1; int b = 1; scanf("n=%d",&n); while(n <= 10) { 一次也没执行 b=b+n; n++; } printf(“b = %d", b); }
真
假
循环体
假
<
>
C语言程序设计
三种基本结构的共同特点:
只有一个入口; 只有一个出口; 结构内的每一部分都有机会被执行到; 结构内不存在“死循环”。
<
>
C语言程序设计
§4.1 循环结构概述
程序中凡涉及求阶乘、累加、排序等问题都要 用循环解决,因为程序中的“某一程序段要重复执 行若干次”。 C语言中可以实现循环的语句:
(1) while() { …… while() { …… } …... } (2) do { …… do { …… } while(); …... } while( ); (3) for(;;) { …… for(;;) { …… } }
(4) while() { …… do { …… } while(); ……. }
A B 流程图
<
>
C语言程序设计
选择结构 二分支选择结构
相当于 if(表达式1) 语句1 else 语句2
真 A
P
假 B
二者择一
多分支选择结构
相当于 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 ………..
多中择一
k k=k1
k=k2 A2
<
>
C语言程序设计
(7) for( ; ;) { …… do { …… } while(); …… while() { …… 循环可以互相嵌套,但不能相互交叉。 } …... for for }
(5) for( ; ;) { …… while() { …… } …... }
(6) do { …… for(; ;) { …… } …... } while();
#include <stdio.h> main( ) { int i,sum=0; for(i=1;i<=100;i++) sum+=i; printf("%d",sum); }
循环步长
for循环下 面的语句
<
>
C语言程序设计
第六章 循环控制
几点说明:
for语句中表达式1、2、3类型任意,都可省略, 但分号“;”不能省。 无限循环:for(;;)不断执行循环体,循环不终止。 for语句可以转换成while结构
goto loop; ( √ )
goto 100;(×)
<
>
与循环语句配合使用时,可从循环体内跳到循环体外, 而不能从循环体外跳到循环体内。 goto语句转移的方向可前可后。 与if语句配合使用时可构成循环。 goto 语句违背结构化程序设计的原则,因此应限制 使用。
C语言程序设计
main() { int n = 1; int b = 1; scanf("n=%d",&n); do { b= b+n; 执行了一次 n++; }while(n <= 10); printf(“b = %d", b); }
n=12 b=1
n=12 b=2
C语言程序设计
§4.4 for语句
for 语句是 C 语言中最为灵活,使用最广泛的 循环语句,可完全替代while,do-while语句。 一般形式 for(表达式1;表达式2;表达式3) 循环体语句; 常用形式 for(循环变量赋初值;循环条件;循环变量增值) 循环体语句;
例4.1 用if 和goto语句构成循环,求
循环初值
循环变量增值
<
>
#include <stdio.h> main( ) { int i,sum=0; i=1; loop: if(i<=100) { sum+=i; i++; goto loop; } printf("%d",sum); }
循环终值
循环条件
goto 和if组合 while语句 do while语句 for语句
了解
考试重点
<
>
C语言程序设计
§4.2 goto语句以及用goto语句构成循环
作用:无条件地转移到语句标号指向的语句去执行。 一般格式: goto 语句标号; ….….. 标号:语句; 说明:
语句标号由字母、数字和下划线组成,定名规则同变 量名,不能用数字开头。
循环终值
循环条件 循环体
C语言程序设计
关于while循环语句:
while循环先判断表达式,后执行循环体。循环体有可 能一次也不执行!!。 循环体若包含一个以上语句,应该用{}括起来。 循环体应包含有使循环趋向结束的语句; 下列情况,退出while循环 条件表达式不成立(为零) 循环体内遇 break , goto 无限循环
sum=sum+i i=i+1
真 i≤100 假
sum=sum+i i=i+1 直到i>100
C语言程序设计
例4.3 用do-while语句构成循环,求 输入:1 101 #include <stdio.h> 输出:
#include <stdio.h> main( ) 5050 5050 101 0 main() { int i,sum=0; 比较 {int i,sum=0; scanf("%d",&i); scanf("%d",&i); do while(i<=100) { sum+=i; 循环体 { sum+=i; i++; i++; } } while(i<=100); 循环条件 printf("%d",sum); printf("%d",sum); } }
/*正常形式*/ main( ) { int i ,sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("%d",sum); }
C语言程序设计
§4.6 循环的嵌套
定义:一个循环体内又包含了另一个完整的循 环结构,称为循环的嵌套。 三种循环可以互相嵌套,层数不限。 嵌套循环的执行流程。
for …… …... …...
for …… …... …...
<
>
C语言程序设计
注意:在嵌套的循环结构中,内层循环是外层循环的循环体 的一部分,外层循环每进行一轮,内层循环要一直循环到结 束。 main() ***** { int i, j; for(i=1;i<=5;i++) ***** { for(j=1;j<=5;j++) ***** printf(“*”); printf(“\n”); ***** } ***** }
C语言程序设计
总结:
省略表达式1:应在for之前为变量赋初值。 省略表达式2:循环条件始终为“真”,循环不终止。 省略表达式3:应另外设法使程序能够结束。
省略表达式1、3:完全等同于while语句。 三个表达式都省略:无初值,不判断条件,循环变量 不增值,死循环。
<
>
/*省略表达式1、3*/ /*省略表达式 1*/ 3*/ main( ) main( ) { int i,sum=0; { int i=1i,sum=0; ; for(i=1;i<=100;) i=1; for(;i<=100;) for(;i<=100;i++) {sum=sum+i sum=sum+i i++;} printf("%d",sum); }
i≤100
真 假
sum=sum+i i=i+1
句如果只有一个 ,可以不加花括 号;如果超过一 个,必须加花{}括 号组成复合语句
<
>
C语言程序设计
例4.2 用while语句构成循环,求
循环初值
循环变量增值
<
>
#include <stdio.h> main( ) { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("%d",sum); }
C语言程序设计
§4.4 do-while语句
do-while语句实现“当型”循环结构。 一般形式: 有“;” do 循环体语句; while(表达式) ;
功能:先执行一次循环体,然后判断表达式。 若为真,则再次执行循环体,否则退出循环。 求 i=1,sum=0 i=1,sum=0
注意:循环体最少要执行 一次 < >
表达式1; while(表达式2) { 循环体语句; 表达式3; }
< >
for语句说明
§表达式1可以省略,但其后的分号不能省。此时 应在for语句前给循环变量初始化。
如:int i = 0; for( ; i < 10; i++) ……
§表达式2省略时,表示表达式2始终为真, 此时必须采取措施以免造成死循环。
...
k=kn k=ki
A1
Ai
...
An
C语言程序设计
循环结构 当型循环结构
While语句 P 真 A
假
直到型循环结构
do….while语句
A 真
P 假
<
>
C语言程序设计
循环结构与if语句的不同
循环
while(表达式) 循环体语句 if语句 if(表达式) 语句
表达式 真 语句
表达式
如:for(i =1; ; i++) { a=a+ i; if( i > 10) break; }
表达式3省略时,需要另外设置循环变量的 改变,使循环正常结束。
如:for(i =1; i <= 10;) { result *= i; i+ +; }
表达式1,2,3可以同时省略,但必须保留
分号。
第4章循环结构c语言程序设计循环结构概述goto语句以及用goto语句构成循环while语句dowhile语句for语句循环的嵌套几种循环的比较break语句和continue语句程序举例c语言程序设计c语言中三种基本结构顺序选择循环a1a2aikk2kk1kknkki二分支选择结构多分支选择结构相当于if表达式1语句1else语句2相当于if表达式1语句1elseif表达式2语句2elseif表达式3语句3c语言程序设计循环结构当型循环结构while语句直到型循环结构do
while(1) 循环体 ;
条件永远为真
<
>
C语言程序设计
例 用while语句显示1~10的平方
#include <stdio.h> void main() { int i=1; while(i<=10) { printf("%d*%d=%d\n",i,i,i*i); i++; } }
< >
1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100
循环体
sum=0+1 sum=1+2=3 sum=3+3=6 sum=6+4 …… sum=4950+100=5050
C语言程序设计
§4.3 while语句
while语句实现“当型”循环结构。 没有 “;” 一般形式: while(表达式) 循环体语句; 功能:先判断表达式,若为真则执行循环体, 再判断表达式,重复上述过程,直到表达式为 假时退出循环。 注意:循环体语 i=1;sum=0 求
第四章
循环结构
C语言程序设计
第4章ห้องสมุดไป่ตู้循环结构
第4章 循环结构
概述 goto语句以及用goto语句构成循环 while语句 do-while语句 for语句 循环的嵌套 几种循环的比较 break语句和continue语句 程序举例
C语言程序设计
C语言中三种基本结构(顺序、选择、循环)
顺序结构
如: for( ; ; ) 相当于 while(1)
C语言程序设计
表达式1、3可以是与循环无关的表达式,也可以是逗 号表达式。
for ( s=0 , i=1 ; i<=100 ; i++ ) s=s+i;
表达式2可以是关系、逻辑、算术、字符表达式,非0 时,执行循环体,为0时退出循环。
/*表达式是逗号表达式 */ #include<stdio.h> #include <stdio.h> main() main() main() { int{ i,j,k; { int char i,c; c; for(i=0,j=100;i<=j;i++,j--) for(;(c=getchar())!='\n';) for(i=0;(c=getchar())!='\n';i+=c) { k=i+j; printf("%c ",i+c); ",c); printf("%d printf("%d+%d=%d\n",i,j,k); } } } } < >