5. Variables, types, and declarations
Variable names
Variable names in Fortran consist of 1-6 characters chosen from the
letters a-z and the digits 0-9.
The first character must be a letter. (Note: Fortran 90 allows variable
names of arbitrary length).
Fortran 77 does not distinguish between upper and lower case, in fact,
it assumes all input is upper case. However, nearly all Fortran 77 compilers
will accept lower case. If you should ever encounter a Fortran 77 compiler
that insists on upper case it is usually easy to convert the source code to
all upper case.
Types and declarations
Every variable should be defined in a declaration.
This establishes the type of the variable. The most common
declarations are:
integer list of variables
real list of variables
double precision list of variables
complex list of variables
logical list of variables
character list of variables
The list of variables should consist of variable names separated
by commas. Each variable should be declared exactly once.
If a variable is undeclared, Fortran 77 uses a set of implicit
rules to establish the type. This means all variables starting
with the letters i-n are integers and all others are real.
Many old Fortran 77 programs uses these implicit rules, but
you should not! The probability of errors in your program
grows dramatically if you do not consistently declare your variables.
Integers and floating point variables
Fortran 77 has only one type for integer variables. Integers are
usually stored as 32 bits (4 bytes) variables. Therefore, all integer
variables should take on values in the range [-m,m] where
m is approximately 2*10^9.
Fortran 77 has two different types for floating point variables,
called real and double precision. While real
is often adequat, some numerical calculations need very high precision
and double precision should be used. Usually
a real is a 4 byte variable and the double precision is 8 bytes,
but this is machine dependent. Some non-standard Fortran versions
use the syntax real*8 to denote 8 byte floating point variables.
The parameter statement
Some constants appear many times in a program. It is then often
desirable to define them only once, in the beginning of the program.
This is what the parameter statement is for. It also makes
programs more readable. For example, the circle area program should
rather have been written like this:
program circle
real r, area, pi
parameter (pi = 3.14159)
c This program reads a real number r and prints
c the area of a circle with radius r.
write (*,*) 'Give radius r:'
read (*,*) r
area = pi*r*r
write (*,*) 'Area = ', area
stop
end
The syntax of the parameter statement is
parameter (name = constant, ... , name = constant)
The rules for the parameter statement are:
- The "variable" defined in the parameter statement is not
a variable but rather a constant whose value can never change
- A "variable" can appear in at most one parameter statement
- The parameter statement(s) must come before the first
executable statement
Some good reasons to use the parameter statement are:
- it helps reduce the number of typos
- it is easy to change a constant that appears many times in a program
Exercises
- Exercise A
- Which of the following variable names are invalid, and why?
A5, 5A, VARIABLE, XY3Z4Q, AT&T, NUMBER1, NO1, NO 1, NO_1, STOP
boman@sccm.stanford.edu