选择结构

1. If

1.1 if-end

输入一个学生成绩,如果及格则输出“及格”。

!> program: 5-1
program one_if_demoimplicit noneinteger :: scorewrite(*, *) "输入成绩>>>"read(*, *) scoreif (score >= 60) thenwrite(*, *) "及格"end if
end program

代码中可以看到, if 语句的基本语法结构为

if (condition) then...
end if

用括号括起来的为条件语句, 如果该条件语句的值为真,则会进入IF分支并运行内部代码。

1.2 if-else

输入一个学生成绩,如果及格则输出“及格”,否则输出不及格

!> program: 5-2
program if_else_demoimplicit noneinteger :: scorewrite(*, *) "输入成绩>>>"read(*, *) scoreif (score >= 60) thenwrite(*, *) "及格"elsewrite(*, *) "不及"end ifend program

代码中可以看到, if-else 语句的基本语法结构为

if (condition) then...
else...
end if

1.3 if-elseif-else

输入一个学生的成绩,如果分数超过100分或低于0分输出“超出范围”,60分以上输出“及格”,否则输出“不及格”。

!> program: 5-3
program if_demoimplicit noneinteger :: scorewrite(*, *) "输入成绩>>>"read(*, *) scoreif (score > 100 .or. score < 0) thenwrite(*, *) "超出范围"else if (score >= 60) thenwrite(*, *) "及格"elsewrite(*, *) "不及"end if
end program

代码中可以看到, if-else 语句的基本语法结构为

if (condition) then...
else if (condition)...
else...
end if

程序会首先判定第一个if是否成立,如果成立则进入该if语句,如果不成立则会进下一个if
判断,如此反复。直到结束。

2. Select case 语句

基本表达式为:

select case (expression)
case (condition1)...
case (condition2)...
case default...
end select

例如,用select case语句实现上面的程序

!> program: 5-4
program select_demoimplicit noneinteger :: scorewrite(*, *) "输入成绩>>>"read(*, *) scoreselect case (score)case (101:)write(*, *) "超出范围"case (:-1)write(*, *) "超出范围"case (60: 100)write(*, *) "及格"case (0: 59)write(*, *) "不及格"end select
end program

说明:

  1. select caseend selectcase结构的入口和出口,必须成对出现。
  2. case语句中的控制表达式类型可以是整型、逻辑型或字符型,但不可以用实型或 复型表达式。
  3. case选择表达式必须与CASE控制表达式的类型一致。
  4. case块可多可少,可以省略。
  5. case default语句应不多于一条,并应放在所有CASE语句之后。
  6. 当CASE控制表达式是整数时,可以有多种表示法。比如:
    • case(1):当选择表达式的值为1时,执行相应的语句块。
    • case(1,3,5):当选择表达式的值为1、3或者5时,执行相应的语句块。
    • case(1:10): 当选择表达式的值为1~10时,执行相应的语句块

Fortran入门教程(五)——选择结构相关推荐

  1. Scrapy爬虫入门教程五 Selectors(选择器)

    Scrapy爬虫入门教程一 安装和基本使用 Scrapy爬虫入门教程二 官方提供Demo Scrapy爬虫入门教程三 命令行工具介绍和示例 Scrapy爬虫入门教程四 Spider(爬虫) Scrap ...

  2. linux宝塔搭建网站,宝塔Linux面板搭建网站入门教程五(宝塔Linux面板安装WordPress博客程序)...

    本文于 2021-04-01 00:04 更新,本文內容具有時效性,如有失效,請在博客站內搜相關商家名稱,即可查看到關於此商家的最新優惠活動! 國外商家建議使用"谷歌瀏覽器"訪問, ...

  3. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图 ...

  4. sql数据库教程百度云_绘画自学零基础入门教程|五天学会绘画pdf百度云下载!...

    绘画自学零基础入门教程|五天学会绘画pdf百度云下载!画画是可以让人留存记忆的事情.我自己就很喜欢画画来记录生活中一些特别的日子.场景还有我的家人朋友们.有时候,比照片更有故事感和纪念意义-有空拿出来 ...

  5. R语言七天入门教程五:认识并使用函数

    R语言七天入门教程五:认识并使用函数 一.什么是函数 在编程语言中,如果有一段代码需要在多次重复使用,除了复制粘贴外,还可以将其写成一个函数.函数可以很方便地实现代码复用,对于复杂的程序功能,可以将其 ...

  6. Android入门教程五之使用AndroidStudio+SDK开发安卓APP

    <!-- Android 基础入门教程 end --><div class="col middle-column big-middle-column">&l ...

  7. SpringCloud 入门教程(五): Ribbon实现客户端的负载均衡

    接上节,假如我们的Hello world服务的访问量剧增,用一个服务已经无法承载, 我们可以把Hello World服务做成一个集群. 很简单,我们只需要复制Hello world服务,同时将原来的端 ...

  8. Java教程:Java选择结构和循环结构的总结

    Java教程任何编程语言中最常见的程序结构就是顺序结构.顺序结构就是程序从上到下逐行的执行,中间没有任何判断和跳转. 如果 main 方法的多行代码之间没有任何流程控制,则程序总是从上向下依次执行,排 ...

  9. Python入门---顺序与选择结构

    一.顺序结构 程序最基本的结构就是顺序结构,顺序结构就是程序按照语句顺序,从上到下依次执行各条语句. 顺序结构如下图所示: 假设存在a.b.c三个整数,如果按照以下顺序执行: c = a + b b ...

  10. 计算机语言中的逻辑型数据,零基础易语言入门教程(五)之逻辑型数据类型

    在上篇文章给大家介绍了零基础易语言入门教程(四)之数据类型,上篇针对数值到文本类型知识,今天给大家介绍下逻辑型数据. 具体方法和步骤如下所示: 1.逻辑型数据非真即假: 首先申请一个局部变量(A)类型 ...

最新文章

  1. python基本数据类型之序列类型和映射类型
  2. MAT入门到精通(二)
  3. 负载均衡算法-最少连接数均衡
  4. 5大洲,32个国家:剑桥分析公司的触角到底有多远?
  5. apache 设置禁止访问某些文件或目录
  6. Android之设置当前app为默认浏览器研究
  7. tt公路车Java配置怎么样_普通公路车换TT车把可以吗,别的东西还有需要换的吗?...
  8. java在数组里面添加_java – 如何在数组中间添加?
  9. 二叉树非递归遍历算法
  10. qstring如何初始化_qstringlist 初始化
  11. excel中的if函数使用方法
  12. java毕业设计茶叶销售网站Mybatis+系统+数据库+调试部署
  13. vlan局域网对战平台
  14. 用html与js实现简单日历,纯JS实现简单的日历
  15. 第四届蓝桥杯真题决赛java本科组
  16. k8s Container资源控制: requests和limits
  17. 攻防世界各类题目相关
  18. 资产负债表编制 (by shany shang)
  19. 利用云服务器发布项目
  20. python有哪些码_Python字节码介绍

热门文章

  1. CEBX格式的文档如何转换为PDF格式文档、DOCX文档?
  2. 安卓天气查询预报APP软件的制作
  3. python将pdf中的每一页转化为图片保存
  4. 基于强化学习的综合能源系统管理综述-笔记
  5. 芯片AD库导入(贸泽)
  6. AltiumDesigner画图不求人12 AD库转换为PADS库
  7. 服务器显示器分辨率,屏幕分辨率修改
  8. C# DevExpress ChartControl用法总结
  9. 第三章 进化算法之遗传算法及其应用
  10. 电容尺寸、封装及PCB库