欢迎来到天天文库
浏览记录
ID:37265440
大小:8.23 MB
页数:225页
时间:2019-05-20
《程序设计教程(中)清华ppt225》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.第第55章章选选择择结结构构55..11语语句句与与复复合合语语句句55..22iiff语语句句55..33iiff……eellssee结结构构55..44条条件件运运算算符符55..55sswwiittcchh结结构构55..66一一元元二二次次方方程程的的求求解解PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.5.1语句与复合语句终结符●
2、C程序是以语句为基本单位的。●表达式语句是一个表达式后面跟随一个分号(;)●简单语句所构成的语句。●空语句(;)中只包括一个分号,即实现空操作。●流程控制语句(如“break;”,“continue;”等)。●与函数返回语句(“return;”)中的分号前不是C程序表达式,只是实现某种控制操作,但它们也都是以分号结束的。●在一个函数体内部,由左、右花括号括起来●复合语句的语句称为复合语句,它的一般形式为{说明部分;语句部分;}PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.语句与复合语句由
3、此可以看出,在C程序中,一个函数的函数体实际上就是一个复合语句。下面对于复合语句作几点说明:●一个复合语句在语法上等同于一个独立的语句,因此,在程序中,凡是单个语句(如表达式语句)能够出现的地方都可以出现复合语句,并且,复合语句作为一个语句又可以出现在其他复合语句的内部。如【例5-1】。●复合语句是以右花括号为结束标志,因此,在复合语句右括号的后面不必加分号,但在复合语句内的最后一个非复合语句是要以分号作为结束的。PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.#include4、.h>语句与复合语句【例5-1】设有下列C程序:main(){inty;y=100;{intx;/*局部变量*/x=20;复合语句{inta;/*局部变量*/a=y;●复合语句是可以嵌套的。printf("a=%d",a);printf("x=%d",x);}}printf("y=%d",y);}PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.语句与复合语句●在复合语句的【例5-2】设有下列C程序:嵌套结构(将函数#include体也看成是一个复main()合5、语句,而且是最{inty;外层的复合语句)y=100;中,一个复合语句{intx;内所进行的说明只x=20;复合语句适合于本层中该说printf("x=%d",x);明语句以后的部分}(包括其内层的复printf("y=%d",y);合语句),在该复printf("x=%d",x);合语句外不起作用。}变量的生命周期在编译过程中就会出现如下错误:05-02.c(10):errorC2065:'x':undeclaredidentifier第10行printf(“x=%d”,x);所打印的x不存在,复合语句中定义的x已经不存在。PleasepurchasePDFcampPri6、nteronhttp://www.verypdf.com/toremovethiswatermark.语句与复合语句【例5-3】设有下列程序:●在复合语句的嵌套结构中,如果在#include{intx;内层与外层定义了main()x=20;同名的变量,则按{intx,y;printf("y=%d",y);照局部优先的原则,内层复合语句中的x=10;printf("x=%d",x);变量掩蔽外层复合}y=100;语句的同名变量,直到内层复合语句{x=20;y=100结束,外层复合语printf("y=%d",y);句的同名变量才可x=20printf("x=%d7、",x);以访问到。而且内x=20层复合语句中对内}层定义的变量的执printf("x=%d",x);y=100行结果也不带回到外层。}x=20x=10变量的掩蔽现象PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.5.2if语句●if语句的形式为:if(表达式)语句【例5-4】计算并输出下列分段函数值:表达式≠0
4、.h>语句与复合语句【例5-1】设有下列C程序:main(){inty;y=100;{intx;/*局部变量*/x=20;复合语句{inta;/*局部变量*/a=y;●复合语句是可以嵌套的。printf("a=%d",a);printf("x=%d",x);}}printf("y=%d",y);}PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.语句与复合语句●在复合语句的【例5-2】设有下列C程序:嵌套结构(将函数#include体也看成是一个复main()合
5、语句,而且是最{inty;外层的复合语句)y=100;中,一个复合语句{intx;内所进行的说明只x=20;复合语句适合于本层中该说printf("x=%d",x);明语句以后的部分}(包括其内层的复printf("y=%d",y);合语句),在该复printf("x=%d",x);合语句外不起作用。}变量的生命周期在编译过程中就会出现如下错误:05-02.c(10):errorC2065:'x':undeclaredidentifier第10行printf(“x=%d”,x);所打印的x不存在,复合语句中定义的x已经不存在。PleasepurchasePDFcampPri
6、nteronhttp://www.verypdf.com/toremovethiswatermark.语句与复合语句【例5-3】设有下列程序:●在复合语句的嵌套结构中,如果在#include{intx;内层与外层定义了main()x=20;同名的变量,则按{intx,y;printf("y=%d",y);照局部优先的原则,内层复合语句中的x=10;printf("x=%d",x);变量掩蔽外层复合}y=100;语句的同名变量,直到内层复合语句{x=20;y=100结束,外层复合语printf("y=%d",y);句的同名变量才可x=20printf("x=%d
7、",x);以访问到。而且内x=20层复合语句中对内}层定义的变量的执printf("x=%d",x);y=100行结果也不带回到外层。}x=20x=10变量的掩蔽现象PleasepurchasePDFcampPrinteronhttp://www.verypdf.com/toremovethiswatermark.5.2if语句●if语句的形式为:if(表达式)语句【例5-4】计算并输出下列分段函数值:表达式≠0
此文档下载收益归作者所有