选择结构

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. Ubuntu18.04 Numix
  2. android 动态修改控件的宽高
  3. 为什么基于内容的读取缓存 (CBRC) 对于 Horizon View 和 VSAN 如此重要?
  4. 聚类算法(part1)--DBSCAN
  5. 爬虫案例:利用python爬虫关键词批量下载高清大图
  6. 高效实用Kafka-Kafka集群维护(分区平衡机制、kafka分区日志迁移)
  7. Android通知栏Notification弹出横幅显示的解决方法
  8. Java面试题-泛型篇十四
  9. 多项logistic回归系数解释_逻辑回归logistic(含python代码)
  10. 如何从Unity商店下载资源?
  11. Scratch 3.x编程技巧:条件语句与随机数
  12. 移动开发构架漫谈——反劫持实战篇
  13. CSFR(跨站请求伪造)攻击与防御
  14. python随机画笑脸_如何用python画笑脸
  15. 重庆轻工职业学院计算机期末考试,重庆轻工职业学院教务网络管理系统 http://183.230.5.161:8082,精英高考网...
  16. vue 中面包屑带跳转的做法
  17. 非功能性需求基础概念
  18. 安卓 android
  19. (转)移动研究院待遇
  20. JavaEE系统架构师学习路线之基础篇

热门文章

  1. x230无线网卡驱动服务器版,联想X230网卡驱动
  2. stm32固件库文件
  3. json格式化工具有哪些?在项目中使用什么工具来格式化JSON数据?
  4. Python对象实现ToString
  5. CRC校验 与 模2运算
  6. 每个程序员都应读的30本书
  7. 深度linux如何打开exe文件,在深度系统中直接运行exe文件的方法
  8. RS编码的matlab仿真
  9. java keytool 下载_常用的Java Keytool Keystore命令
  10. 怎样从altera下载软件与器件库