- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计第3讲
C语言程序设计;问题的提出
在实际问题中,要求计算机进行逻辑判断,即给出一个条件,让计算机判断是否满足条件,并按照判断的结果来做不同的处理。; 1、C语言中,if结构一般形式为:
if (表达式) 语句1
[ else 语句2 ]
if结构的功能:首先计算表达式的值,如果表达式的值为1(或非0)则执行语句1,若表达式的值为0,则执行语句2 (有else语句!)。
if结构的N-S流程图 ;;(1)if语句中的逻辑表达式(即条件)必须要用一对圆括号括起来。
(2)在if…else结构中,语句1与语句2都可以是空语句。
(3)在使用if语句时,一定要注意逻辑表达式的正确写法,特别是在连续使用多个if语句时更要注意。
(4)在if结构中,如果在else前面有多个if语句,则else与最近的if配对。
;例:从键盘读入一个成绩,如果成绩在85~100之间,则输出’’Very good”;如果成绩在70~84之间,则输出’’Good”;如果成绩在60~69之间,则输出’’Pass”;如果成绩在60分以下,则输出“No pass” 。;?思考题
输入3个整数a, b,c,输出其中绝对值最大的数的绝对值。解题算法的N-S流程图如右图。;if (表达式1) 语句1
else
if (表达式2) 语句2
…
else
if (表达式n) 语句n
else 语句n+1;这种结构又称为if…else if结构,其流程图如图所示。;?如果在条件满足的情况下要执行的语句有多条怎么办?
例如:编程实现输入两个实数a,b, 如果ab则交换两个数的值,最后顺序a,b输出的值。;二、语句与复合语句
在C语言中,一个表达式后面跟随一个分号就构成了一个语句,这种语句称为表达式语句。
在C语言中,分号(;)是表达式语句的终结符,而不是语句之间的分隔符,也就是说,分号是表达式语句的一个组成部分,只不过它位于表达式的后面。
在一个函数体内部,由左、右花括号括起来的语句称为复合语句,它的一般形式为
{说明部分;语句部分;};二、语句与复合语句
对于复合语句要注意以下几点:
(1)一个复合语句在语法上等同于一个语句,因此,在程序中,凡是单个语句(如表达式语句)能够出现的地方都可以出现复合语句,并且,复合语句作为一个语句又可以出现在其他复合语句的内部。
(2)复合语句是以右花括号为结束标志,因此,在复合语句右括号的后面不必加分号,但在复合语句内的最后一个非复合语句是要以分号作为结束的。
(3)在复合语句的嵌套结构(将函数体也看成是一个复合语句,而且是最外层的复合语句)中,一个复合语句内所进行的说明只适合于本层中该说明语句以后的部分(包括其内层的复合语句),在该复合语句外不起作用。
(4)在复合语句的嵌套结构中,如果在内层与外层作了相同的说明,则按照局部优先的原则,内层复合语句中的执行结果不带回到外层。;三、条件运算符;三、条件运算符;三、条件运算符;四、 switch结构;四、 switch结构;下面对switch结构作几点说明:
1)switch结构中的表达式、常量表达式1、…?、常量表达式n必须是整型或字符型。这是因为,在switch结构中,其分支数一般是有限的,并且是离散的,因此,其表达式的值也应是有限的,且是离散的。
2)同一个switch结构中的常量表达式值必须互不相同,否则就会出现矛盾的现象,即对于“表达式”的同一个值对应多种执行方案,这是错误的。
3)在switch结构中,case 与 default 的顺序可以任意,各case之间 的顺序也可以任意。
4)在执行switch结构时,当执行完某case 后的语句后,将顺序执行后面case 后的语句,直到遇 break 语句才退出整个switch 结构的执行。
5)在switch结构中,如果没有default 且“表达式”值不等于任何case 后常量表达式的值,则直接退出switch 结构而转到其后的语句执行。;3.6 程序举例
;其流程图如图3.5所示。
;根据图3.5所示的流程图,用if…else if结构写出C程序如下:
#include stdio.h
main()
{ float p,w;
printf(input p: );
scanf(%f,p);
if (p<=0.0) w=0.0;
else if (p<=0.5) w=0.01*p;
else if (p<=1.0) w=0.005+0.015*(p-
文档评论(0)