C语言程序设计流程控制语句

  • 格式:ppt
  • 大小:1.05 MB
  • 文档页数:67

下载文档原格式

  / 67
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include <stdio.h> main()
{ int magic=123; int guess;
“ printf( Enter your guess:");
“ scanf( %d",&gueΒιβλιοθήκη Baidus);
if (guess==magic)
“ printf( **Right**\n");
}
if语句的三种形式(2)
假(0)
语句序列1
语句序列2
注意:
1.c语言每条语句必须以分号结束,因此else之前有 一分号,整个语句结束处有一分号。 例: if(a>b) printf(“%d”,a); else printf (“%d”,b);
正确 if(a>b) printf(“%d”,a) else printf (“%d”,b);
错误
2.语句1与语句2不能同时执行。
举例
例4.2 将例4.1程序中的if语句改成if-else语句,如果游戏者猜对 了,就显示”**Right**”,若猜错了,就显示“**Wrong**”。
#include <stdio.h> main() { int magic=123; int guess; printf("Enter your guess:"); scanf("%d",&guess); if (guess==magic) printf("**Right**\n"); else printf("**Wrong**\n"); }
形式二: If (表达式) 语句1 else 语句2
例如: If (x>y) printf “%d”, x); Else printf(“%d”,y);
执行过程:
先计算表达式的值,如果表达式的值为非零,则执行语 句1后跳过语句2而执行后续语句;如果值为零,则跳过 语句1执行语句2。
真(非0) 表达式成立吗?
例如: If (x>y) printf( “%d”, x);
执行过程:
先计算表达式的值,如果表达式 的值为非零,则执行语句;如果 值为零,则跳过if语句执行其后 续语句。
流程图
否 表达式 真
语句
举例
例4.1 一个猜字游戏程序。程序运行时, 要求游戏者从键盘输入一个数,如果猜 对了,屏幕显示“**Right**”;否则屏 幕不显示任何信息。
分。只能与 if 配对使用。仅 else 本身不能单独作为一个语句使用
每个语句又都可以由若干C语言的语句组成,如果由两个以上语句
构成语句序列,则应用大括号括起来构成一个复合语句。括号之外不再 加 “;”.
如:if(a+b>c&&b+c>a&&c+a>b)
{s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));
C语言程序设计
第四章 流程控制语句
实际工作中,顺序结构是不能满足程序设计要 求的,因为大量的实际问题需要通过流程的控制来 解决的。 例如: 如果明天气温高于35c,,我将去游泳,否则在家看 看电视。 或我将做作业直到晚上十点。 从程序结构上看,就是通过循环结构和选择结构来 实现的。
§4-1 选择结构语句
if 语句的三种形式(3)
形式三: if (表达式1) 语句1;
…….. else if (表达式n)
语句序列n;
else if (表达式2)
语句2; else if (表达式3)
语句3;
else 语句序列n+1;
这种形式可以实现多分支选择的功能,既在多种 条件下的不同分支中选择一个分支来执行。
printf(“area==%6.2f”,area);}
else printf(“it is wrong”);
{}内是一个完整的复合语句,不需另附分号。
例:输入两个实数,按代数值有小到大次序输出这两 个数。
它的执行过程为:若表达式1的值为真(非零), 则执行语句1;否则,若表达式2的值为真,则执行 语句2;…….若上述表达式的值都为0时,执行语句 n+1. 以下为流程图:
例如: if (x>0)
表达式1 成立吗?
假(0)
y=1; else if (x==0)
y=0; else
表达式2 假(0)
y=-1;
说明:
以上三种格式中的表达式一般为关系表达式或逻辑表达式只要 表达式的结果不为0,系统就认为该表达式成立;相反表达式 的结果为0,系统认为该表达式不成立。
例如:if(a==b&&x==y)
printf(“a=b,x=y”);
系统对表达式的值进行判断,若为真,按非零处理,执行指定的 语句;若为假,按零处理。
4.1.1 if语句
程序设计过程中,常常需要根据某一条件是否满足 来判断做或者不做某件事。这种结构在c中是通过if语句 实现的。
if语句的三种形式
if语句的三种形式(1)
形式一:
If (表达式) 语句
说明:表达式通常为关系表达式或逻辑表达式,两边的 括号必不可少,当语句不止一句的时候,可以使用一组 括号把他们组成复合语句。
如:if (3) printf(“ok.”)
表达式的值为3,按真处理,是合法的,执行结果输出“ok.”
由此可见.在C语言中它也可以是任意的数值表达式。(包括整型, 字符型,实型,指针型)。
在每个表达式之后不应有任何标点符号,而在每个语句之后都要有
“;”
不要误认为else 语句和if语句是两个语句,else 是if语句的一部
真(非 0)
成立吗?
真(非0)
表达式3 成立吗?
假(0) …
表达
真(非0) …
式n成 立吗?
语句序列1 语句序列2 语句序列3 真(非0)
假(0) 语句序
列n+1
语句序列n
举例
例4.3 例4.2再扩充,即当游戏者猜错时,屏 幕除显示“**Wrong**”外,还告诉游戏者是 猜大了还是猜小了。
#include <stdio.h> main() {int magic=123; int guess; printf("Enter your guess:"); scanf("%d",&guess); if (guess==magic) printf("**Right**\n"); else if(guess>magic) printf("**Wrong**\nToo high**\n") else printf("**Wrong**\nToo low**\n");}