流程控制之c语言.docx

流程控制之c语言.docx

ID:51709553

大小:38.80 KB

页数:10页

时间:2020-03-15

流程控制之c语言.docx_第1页
流程控制之c语言.docx_第2页
流程控制之c语言.docx_第3页
流程控制之c语言.docx_第4页
流程控制之c语言.docx_第5页
资源描述:

《流程控制之c语言.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、什么是流程控制程序代码执行的循序流程控制的分类顺序执行选择执行:有些代码可能执行,也可能不执行,有选择的执行某些代码分类:if最简单的用法格式:if(表达式)语句功能:如果表达式为真,执行语句如果表达式为假,不执行语句If的范围问题If(表达式)语句A语句B解释:if默认只能执行语句A的执行或不执行If无法控制语句B的执行或不执行或者讲:语句B一定会执行If(表达式){语句A语句B}此时可以控制语句A和语句B由此可见:if默认只能执行一个语句或不执行,如果控制多个语句执行或不执行,就必须把这些语句用{}括起来If……else……的用法If(1

2、)AElseifBElseif(3)CElseD例子:菲波拉契序列#includeintmain(){intn,i;intf1,f2,f3;f1=1;f2=2;printf("请输入你需要求的想序列:");scanf("%d",&n);if(n==1){f3=1;}elseif(n==2){f3=2;}else{for(i=3;i<=n;++i){f3=f1+f2;f1=f2;f2=f3;}}C语言对真假的处理非零为真零为假if举例if常见问题解析1)空语句问题If(3>2);等价于if(3>2)://这是一个空语句2)If

3、(表达式1)AElseB正确的3)If(表达式1)A;Elseif(表达式2)B;Elseif(表达式3)C;ElseD;即便表达式1和2都成立也只会执行A4)If(表达式1)A;Elseif(表达式2)B;Elseif(表达式3)C;这样写虽然语法没错,但是逻辑上有漏洞5)If(表达式1)A;Elseif(表达式2)B;Elseif(表达式3)C;Else(表达式4)//第七行D;这样写是不对的,正确的写法是:要么去掉第7行的(表达式),要么在第七行的else后面加if6)If(表达式1)A;Elseif(表达式2)B;Elseif(表达式

4、1)C;Else(表达式4)D;这样写语法是不会出错,但是在逻辑出错循环执行:某些代码会重复执行分类:for循环格式:for(1;2;3)//A其中:for后面的括号()不能省。表达式1:一般为赋值表达式,给控制变量赋初值。表达式2:关系表达式或逻辑表达式,循环控制条件。表达式3:一般为赋值表达式,给控制变量增量或减量。表达式之间用分号分隔语句部分称为循环体,当需要执行多条语句时,应使用复合语句注意事项:表达式1、表达式2、和表达式3可以是任何类型的表达式。比方说,这三个表达式都可以是逗号表达式,即每个表达式都可由多个表达式组成表达式1、表达

5、式2、和表达式3都是任选项,可以省掉其中的一个、两个或全部,但其用于间隔的分号是一个也不能省的表达式2如果为空则相当于表达式2的值是真循环体中的语句可为任意类型的C语句for语句也可以组成多重循环,而且也可以和while语句和do-while语句相互嵌套循环体可以是空语句执行的流程单个for的循环的使用多个for的循环的嵌入使用例子:/*全乘法口诀表*/#includevoidmain(){inti;/*表示的是列的1,2,3….9*/intj;/*表示的是行的1,2,3….9*/printf("");/*为了后边对齐,输出

6、4个空列*/for(i=1;i<=9;i++)printf("%4d",i);/*先把123....9输出*/printf("");/*换行*/printf("");/*输出4个空列,为了横线和数字对齐*/for(i=1;i<=9;i++)printf("----");/*输出横线*/printf("");for(i=1;i<=9;i++)/*开始输出乘积*/{printf("%3d

7、",i);/*输出第1列的值及竖线*/for(j=1;j<=9;j++)/*输出一行:1*/printf("%4d",i*j);printf("")

8、;/*输出一行后,加换行符*/}}While循环格式:(表达式)语句特点:先判断表达式,再执行循环体其中:while后面的括号()不能省。while后面的表达式可以是任意类型的表达式,但一般是条件表达式或逻辑表达式。表达式的值是是循环的控制条件。语句部分称为循环体,当需要执行多条语句时,应使用复合语句。例:显示1~10的平方#includevoidmain(){inti=1;while(i<=10){printf("%d*%d=%d",i,i,i*i);i++;}}while语句注意事项:(1)如果while后的表达式的

9、值一开始就为假,循环体将一次也不执行。(2)循环体中的语句可为任意类型的C语句。(3)遇到下列情况,退出while循环:表达式为假(为0)。循环体内遇到break、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。