- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 程序控制结构;一、表达式语句;一、表达式语句;表达式语句的例子;一、表达式语句;一、表达式语句;二、空语句;;三、复合语句;三、复合语句;四、控制语句;第二节 顺序结构;一、顺序结构;一、顺序结构;一、顺序结构;
例4-4求方程ax2+bx+c=0的根。a、b、c由键盘输入,a≠0且b2-4ac≥0。
假设所输入的系数a、b、c已保证a≠0且b2-4ac≥0,则一元二次方程两个实根可直接由求根公式求出,求根公式如下:;顺序结构举例;顺序结构举例;例4-3 取一个16位的二进制数a的7、6、5、4四个位,如图4-2中加阴影的部分。
这是一个涉及位运算的程序。获得运算结果的步骤如下:
(1)使a右移4位;
(2)设置一个低4位全为1,其余全为0的数,可用~(~04) 表示该数;
(3)将上面二者进行 运算。
;顺序结构举例;第三节 选择结构;一、if语句;一、if语句;一、if语句;一、if语句;一、if语句;一、if语句;一、if语句;一、if语句;一、if语句;4.在使用if语句中还应注意以下问题
;又如,有程序段:
if(a=b)
printf(%d,a);
else
printf(a=0);
不是比较a和b是否相等,而是将b赋值给a,然后测a。
本语句的语义是,把b值赋予a,如为非0则输出该值,否则输出“a=0”字符串。这种用法在程序中是经常出现的。;(2)在if语句中,条件判断表达式必须用括号括起来, 在语句之后必须加分号。
(3) 在if语句中,所有的语句应为单个语句,如果要执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。但要注意的是在}之后不能再加分号。;一、if语句;例如:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
其中的else究竟是与哪一个if配对呢?;例 函数:;其一般形式为:
switch(表达式)
{ case 常量表达式1: 语句1; case 常量表达式2: 语句2; ︰case 常量表达式n: 语句n; default : 语句n+1;
}
功能:(1)计算表达式的值,并逐个与其后的常量表达式值相比较。
(2)当表达式的值与某个常量表达式的值相等时,即执行其后所有的语句
(3)如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。;二、switch语句;二、switch语句;(8)常量表达式只能是单值,不能是一个区间范围。例:将按照百分制打印出考试等级。
必须进行适当处理和转换。
(9)多个case可共用一组执行语句;分支语句中没有break,则执行完该分支内嵌的语句后,自动转去执行后续分支内嵌的语句。;三、选择结构的嵌套;三、选择结构的嵌套;三、选择结构的嵌套;三、选择结构的嵌套;四、选择结构程序举例;四、选择结构程序举例;四、选择结构程序举例;四、选择结构程序举例;四、选择结构程序举例;例5.7 运输公司对客户计算运费,路程越远,每吨千米运费越低,具体标准如下:
里程 s 折扣 d
S250 0
250=s500 2%
500=s1000 5%
1000=s2000 8%
2000=s3000 10%
3000=s 15%
单价 p 重量 w
运费 f=p*w*s(1-d)
说明:
1.多种情形,应该使用switch语句实现;
2.但里程在某个区间有相同的折扣,应将其一个范围比较大的数缩小到一个较小的整数范围,便于处理。常用的方法是整除;
3.整除后有同一个区间有多个对应的整数,可执行同一组语句;;第四节 循环结构;一、用while语句实现循环;一、用while语句实现循环;一、用while语句实现循环;一、用while语句实现循环;二、用do-while语句实现循环;例4-22利用格里高公式:
求π,直到
最后一项的值小于10-6。
解题思路:
可以用n+2实现分母的递增,用符号变量s=-s实现加减的变化。
循环的结束条件也不是由特定的次数决定,而是要运行到某一个精度:最后一项的值小于10-6。
用条件fabs(t)1e-6来控制循环是否结束。;在使用whil
文档评论(0)