- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 程序的流程控制;2.1 选择(分支)结构;2.0 算法的表示;自然语言
流程图
N-S图
伪代码
PAD图;;程序的三种基本结构;程序的三种基本结构;程序的三种基本结构;2.1 选择(分支)结构;C的部分运算符的优先级如下: ;2.1.2 if()…else结构
C中条件语句的一 般形式为:
if(表达式)
语句1;
else
语句2;
上述结构表示: 如果表达式的值为非0(true)即真, 则执行语句1, 执行完语句1从语句2后开始继续向下执行; 如果表达式的值为0(false)即假, 则跳过语句 1而执行语句2。所谓表达式是指关系表达式和逻辑???达式的结合式。
注意: 1. 条件执行语句中“else 语句2;”部分是选择项, 可以缺省, 此时条件语句 变成: if(表达式) 语句1; 表示若表达式的值为非0则执行语句1 , 否则跳过语句1继续执行。
2. 如果语句1或语句2有多于一条语句要执行时, 必须使用{和} 把这些 语句包括在其中, 此时条件语句形式为: if(表达式) { 语句体1; } else { 语句体2; } ;2.1.2 if()…else结构
注意:
if(表达式)
{ 语句体1; }
else
{ 语句体2; }
3. 条件语句可以嵌套, 这种情况经常碰到, 但条件嵌套语句容易出错, 其原因主要是不知道哪个if对应哪个else。
例如:
if( x 20 || x -10)
if( y = 100 y x)
printf(Good);
else
printf(Bad);
对于上述情况, C规定: else语句与最近的一个if语句匹配, 上例 中的else与if( y = 100 y x)相匹配。为了使else与if( x 20 || x -10)相匹配, 必 须用花括号。如下所示:
if( x 20 || x -10)
{
if( y = 100 y x)
printf(Good);
}
else
printf(Bad); ;2.1.2 if()…else结构
例2.1 符号函数
int main(void)
{
float x;
int y=-1;
printf(“input x:”);
scanf(“%f”,x);
if(x!=0)
{
if(x0) y=1;
}
else
printf(“\nx=%6.2f,y=%d\n”,x,y);
} ;2.1.3 条件运算符与条件表达式
条件表达式:e1 ? e2 : e3
例如:
a=((x0) ? (x++) : (x--))
相当于
if(x0)
a=x++;
else
a=x--;;2.1.2 if()…else结构
例2.2 数据分段处理,0-49为 A 段, 50-119为 B 段,120-169为 C 段
int main(void)
{
int y;
char result;
printf(“input y:”);
scanf(“%d”,y);
if( y = 0 y 50)
result =‘A’;
else if( y = 50 y 120)
result =‘B’;
else if( y = 120 y 170)
result =‘C’;
else
result =‘D’;
printf(“\n result =%c”,y);
} ;2.1.3 switch结构
在编写程序时, 经常会碰到按不同情况分转的多路问题, 这时可用嵌套if -else-fi语句来实现, 但if-else-if语句使用不方便, 并且容易出错。对这种情 况, C提供了一个开关语句。
开关语句格式为:
switch(变量)
{
case 常量1:
语句1或空;
case 常量2:
语句2或空;
. . .
case 常量n;
语句n或空;
default:
语句n+1或空;
}
;2.1.3 switch结构
下例的 switch 中变量为整数型。
例 2.3
int main(void)
{
int test;
for(test=0; test=10; test++)
{
switch(test) /*变量为整型数的开关语句*/
{
case 1:
printf(%d\n, test);
break; /*退出开关语句*/
case 2:
printf(
文档评论(0)