欢迎来到天天文库
浏览记录
ID:59421555
大小:891.50 KB
页数:48页
时间:2020-09-19
《C语言程序设计与应用 第3章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章循环结构与应用循环结构是程序中一种很重要的结构。它会根据条件反复执行某程序段,当然不能无限的执行下去,在给定条件不成立时,循环就会停止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构:(1)for循环语句;(2)while循环语句;(3)do-while循环语句;3.1循环的概述for一般形式为:for(设置初始值;循环条件判断;设置循环增减量){语句1;语句2;……语句n;}3.2for循环for语句的执行流程:图3-1for语句执
2、行流程图例3-1使用for循环求整数1加到100的值。图3-3高斯级数运算的流程图#includevoidmain(void){intnSum;/*用于保存计算和*/inti;/*循环控制变量,也是参与运算的操作数*/nSum=0;for(i=1;i<101;i++){nSum+=i;}printf("1+2+3+……+99+100=%d",nSum);}程序清单3-1 progression.c双目复合赋值运算符序号复合运算符复合运算符的含义1+=相加并赋值2-=相减并赋值3*
3、=相乘并赋值4/=相除并赋值5%=求模并赋值6&=按位AND并赋值7
4、=按位OR并赋值8^=按位XOR并赋值9<<=左移并赋值10>>=右移并赋值复合赋值表达式的一般形式为:表达式1Op=表达式2Op表示参与构成复合赋值运算符的双目运算符,它和下面的赋值表达式等价:表达式1=(表达式1)Op(表达式2)例如:x+=y-3等价于x=x+(y-3),而不是x=x+y-3。注意:++i和i++等价于i=i+1,但是,这两个表达式在参与其他运算的时候是有区别的。在和其他运算结合在一起时,++i表示i自增1后再
5、参与其它运算,而i++表示i参与运算后,i的值再自增1。同理,--i是i自减1后再参与其它运算,而i--是i参与运算后,i的值再自减1。例如下面的程序段:intx=0,inti=1;x=i++;printf(“x=%d,i=%d”,x,i);输出的结果为x=1,i=2。例3-2使用逗号运算符在for循环中初始化变量。#includevoidmain(void){intnSum;/*用于保存计算和*/inti;/*循环控制变量,也是参与运算的操作数*//*在循环开始时,初始化变量nSu
6、m*/for(i=1,nSum=0;i<101;i++)nSum+=i;/*求和*/printf("1+2+3+……+99+100=%d",nSum);}程序清单3-2 progression-1.c例3-3很多web网站限制登陆次数,如果输入的密码在指定次数内错误,就拒绝登陆。实现一个程序,模拟验证密码的过程,判断用户输入密码的次数,若3次输入密码错误,则结束输入。图3-5控制密码输入次数程序流程图#include"stdio.h"voidmain(void){intnPwd=0;/*用于保存输
7、入的密码*/inti;/*循环控制变量*/intnFlag=1;/*密码匹配成功的标志*//*默认设定密码为87569,可以根据需要进行设定*/for(i=0;((nFlag=(87569!=nPwd))&&i<3);++i){printf("pleaseinputthepassword:");scanf("%d",&nPwd);}if(nFlag==0)printf("thepasswordisright!");elseprintf("overthetimesandthepasswordyoui
8、nputiserror!");}程序清单3-3 checklogon.c#includevoidmain(void){inti;for(i=0;i<10;printf("%d",i),i++)/*在“设置循环增减量”部分使用逗号运算符,调用printf函数输出*/}例3-4使用循环输出0-9这10个数字。程序清单3-4 aotherfor.cwhile(条件判断){语句1;语句2;……语句n;}3.3while循环while一般形式为:图3-8while循环执行过程例3-5使用w
9、hile循环接收键盘输入,若输入字符为q或者Q,则停止循环执行。图3-9while循环处理键盘输入的流程图#includevoidmain(void){charcStr;/*用于保存输入的字符*/cStr=' ';while((cStr!='q')&&(cStr!='Q')){/*循环条件是字符非q和非Q*/printf("pleaseenterthecharacter:");cStr=getch();/*换成scanf执行一下,
此文档下载收益归作者所有