TC官方合作论坛
标题: TC 如果语句 第八章 [打印本页]
作者: 诚诚 时间: 2012-5-31 10:27
标题: TC 如果语句 第八章
第八章 TC 如果语句
8.1 如果语句
如果语句,也就是 如果 语句,用如果语句可以构成分支结构.它根据给定的条件进行判断,以决定执行某个分支程序段.TC语言的如果语句有两种基本形式,并且每个如果语句的结尾都要有一个 如果结束。
(注:关键字中英文对应关系,如果 - if,否则 - else,如果结束 - endif)
如果语句的两种形式
[attach]3597[/attach]
8.1.1 第一种形式为基本形式:如果 ()
如果(表达式)
//语句
如果结束
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下面例子。
- 功能 逻辑型 测试()
- 整型 a=1,b=2,max
- max=a
- 如果(a>b)
- max=b
- 如果结束
- 返回 真
- 功能结束
复制代码
本例程序中,输入两个数a,b.把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max.因此max中总是最大的那个数,最后输出max的值。
8.1.2 第二种形式为: 如果-否则
如果-否则 也是属于同一个分支,所以否则结束后面一定要加上如果结束来结束如果语句。
如果(表达式)
语句1
否则
语句2
如果结束
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。其执行过程可表示为下面例子。
- 功能 逻辑型 测试()
- 整型 a=1,b=2,max
- max=a
- 如果(a>b)
- max=a
- 否则
- max=b
- 如果结束
- 返回 真
- 功能结束
复制代码 改用如果-否则 语句判别a,b的大小,若a大,则max等于a,否则max等于b。
8.1.3 如果语句的嵌套
如果语句的嵌套
当如果语句中的执行语句又是如果语句时,则构成了如果 语句嵌套的情形。
其一般形式可表示如下:
如果 (表达式)
如果结束
如果 (表达式)
如果结束
或者为
如果 (表达式)
如果语句
如果结束
否则
如果语句
如果结束
如果结束
在嵌套内的如果语句可能又是如果-否则型的,这将会出现多个如果和多个否则重叠的情况,这时要特别注意如果和否则的配对问题,而且还要匹配好如果结束来结束相应的如果语句。
例如:
如果(表达式1)
如果 (表达式2)
语句1
否则
如果结束
如果结束
语句2
其中的否则究竟是与哪一个如果配对呢?
应该理解为:
如果 (表达式1)
如果 (表达式2)
语句1
否则
语句2
如果结束
如果结束
为了避免这种二义性,TC语言规定,否则总是与它前面最近的如果和如果结束 配对,因此对上述例子应按前一种情况理解。
下面我们综合举个例子:
[例]
- 功能 逻辑型 测试(逻辑型 a,整型 b,整型 c,整型 max)
- 如果(a)
- 如果(b>c)
- max=b
- 否则
- max=c
- 如果结束
- 否则
- 如果(b<c)
- max=b
- 否则
- max=c
- 如果结束
- 如果结束
- 返回 真
- 功能结束
复制代码 改用如果-否则语句判别a为真的时候, b大于c, max等于b, 否则max等于c。 如果a为假的时候, b小于c, max=b, 否则max=c。
对于运算符以及运算表达式不熟悉的,可以回顾以下内容:
第五章,TC的算术运算符和算术表达式 http://bbs.tyuyan.com/thread-12786-1-1.html
第六章,TC的关系运算符和表达式 http://bbs.tyuyan.com/thread-12813-1-1.html
对流程语句不熟悉了的同学,可以回顾前面的内容:
理解了本课的同学,那么继续学习流程语句的各个内容吧!
第九章,TC的选择(select)语句 http://bbs.tyuyan.com/thread-12816-1-1.html
第十章,TC的循环(while,repeat)语句 http://bbs.tyuyan.com/thread-12818-1-1.html
作者: 花开花落 时间: 2012-5-31 10:30
沙发。。
作者: 战地之王 时间: 2012-5-31 10:30
沙发。。
作者: lt729541702 时间: 2012-5-31 10:50
:动作真快
作者: lt729541702 时间: 2012-5-31 10:51
楼猪 给我们来个刷RMB的嘛
作者: 落叶归根 时间: 2012-5-31 11:04
给力的说。学习了。
作者: 战斗之神 时间: 2012-5-31 11:05
很详细。 学习了。
作者: fellmuss 时间: 2012-6-1 10:41
好绕啊,,,绕来绕去。。
作者: scyx12345 时间: 2012-6-18 13:45
回复 1楼诚诚的帖子
shafa...
作者: 968 时间: 2012-6-26 07:33
菜鸟,飞呀飞@~~
作者: smallno 时间: 2012-7-17 15:28
没elseif!!!?????
作者: myismaln 时间: 2012-8-16 18:15
正在学习中
作者: zzqtkj 时间: 2012-8-20 14:50
中文语法真让人崩溃啊
作者: wakaji 时间: 2012-8-21 08:33
学习了
作者: ttbbshops 时间: 2012-8-21 09:45
回复
作者: ttbbshops 时间: 2012-8-21 09:45
呃呃呃
作者: scj2zxy 时间: 2012-8-21 16:46
学习!
作者: 175390926 时间: 2012-11-16 22:54
小白签到!
作者: 钱多多 时间: 2012-12-9 19:28
中文编程感觉有点麻烦,直接 if esle 多简单,
作者: 二货你好 时间: 2012-12-25 12:09
直到现在,我还留着我们聊天的窗口,即使没有发送消息过来,还是会在屏幕下方看到窗口,会在Q上对你设置隐身对其上线和好友上线提醒,只要你一上线我就迫不及待和你一同调侃。
我们会斗谁写字快,斗谁打字快,到最后都不分上下。那个时候你,是不是和我一样嗤笑一声无所谓?
我没了你,我就是安静的自己。你没了我,也是不会发癫的你吧?
姐妹你,要怎么样才能将你从我心白癜风治疗要花多少钱上拔起,很难很难,对吧?你不是温柔的,我不是体贴的,一样没有什么了不起的优点却缺点一堆,那样像似自己的你,又要怎么忘却?
你告诉我,那份让人嫉妒羡慕的友谊情感,那份互相珍惜的三年友情,该怎么慢慢退出,适应生活,依靠自己……
作者: 简单软件 时间: 2013-1-25 19:36
真是受用啊!
作者: btbcagf 时间: 2013-2-5 15:01
学不会啊。。
作者: laowantong 时间: 2013-3-1 22:33
谢谢
作者: lanjunlj 时间: 2013-4-16 12:42
懂了点
作者: 474337264 时间: 2013-4-20 09:33
沙发
作者: 1693687339 时间: 2013-6-23 16:12
回复 1楼诚诚的帖子
AAAAaaa
作者: slz336 时间: 2014-8-26 13:50
好好~~谢谢啊,我是刚来的~辛苦了
作者: sxmgming 时间: 2015-12-29 23:06
为什么我觉得第一个例子括号里应该是小于号呢
作者: ybug 时间: 2017-8-27 11:57
进度条设置进度("进度条0",10)
//进度的值不能小于0和大于99
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) |
Powered by Discuz! X3.1 |