fortran fortran中文资料网
手气不错
Article

033.listDirectedAndExplicitFormat_列表导向格式与显式格式

输出语句中的格式决定数据如何转换为文本。使用*时,处理器根据数据类型自动选择表示形式和间距;使用格式字符串时,程序通过编辑描述符明确规定输出结构。

两种格式

print *, output_list
print "(edit_descriptors)", output_list
  • *表示列表导向格式,适合快速查看数据,但具体空格和数值表示不由程序精确规定。
  • 显式格式由一对括号包围,括号中的编辑描述符按顺序处理输出列表中的数据。
  • A处理字符数据,I0以容纳数值所需的最小宽度处理整数。

本文代码

! 列表导向格式自动安排布局,显式格式由程序指定布局。
program listDirectedAndExplicitFormatDemo
  implicit none

  integer :: componentCount
  character(len=*), parameter :: componentName = "电阻"

  componentCount = 42

  print *, "元件:", componentName, " 数量:", componentCount
  print "(A,A,A,I0)", "元件:", componentName, ",数量:", componentCount
end program listDirectedAndExplicitFormatDemo

编译运行

(base) hong@hongdeMacBook-Pro 033.listDirectedAndExplicitFormat % gfortran -Wall -Wextra -std=f2018 exampleListDirectedAndExplicitFormat.f90
(base) hong@hongdeMacBook-Pro 033.listDirectedAndExplicitFormat % ./a.out
 元件:电阻 数量:          42
元件:电阻,数量:42

现象分析

第一行使用列表导向格式。处理器自动为整条记录添加前导空格,并为整数42安排了较宽的字段。这种布局便于临时输出,但不适合要求固定形式的文本。

第二行中的A,A,A,I0依次对应三个字符表达式和一个整数表达式。字符内容连续输出,I0只占用两位,因此得到紧凑且由程序确定的结果。

核心知识点

  • 列表导向格式自动处理数据类型和布局,适合交互、调试和格式要求不高的输出。
  • 显式格式适合表格、报告和需要稳定文本结构的场景。
  • 显式格式中的编辑描述符应与输出列表中的数据类型和顺序相对应。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注