FORTRAN 77 Language Reference

Examples

Example 1: Arithmetic assignment:


       INTEGER I2*2, J2*2, I4*4 
       REAL R1, QP*16 							! (REAL*16 is SPARC only)
       DOUBLE PRECISION DP 
       COMPLEX C8, C16*16, QC*32 	! (COMPLEX*32 is SPARC only)
       J2 = 29002 
       I2 = J2 
       I4 = (I2 * 2) + 1 
       DP = 6.4D9 
       QP = 6.4Q9 
       R1 = DP 
       C8 = R1 
       C8 = ( 3.0, 5.0 ) 
       I2 = C8 
       C16 = C8 
       C32 = C8 

Example 2: Logical assignment:


       LOGICAL B1*1, B2*1
       LOGICAL L3, L4
       L4 = .TRUE.
       B1 = L4
       B2 = B1

Example 3: Hollerith assignment:


       CHARACTER S*4 
       INTEGER I2*2, I4*4 
       REAL R
       S = 4Hwxyz 
       I2 = 2Hyz 
       I4 = 4Hwxyz 
       R = 4Hwxyz

Example 4: Character assignment:


       CHARACTER BELL*1, C2*2, C3*3, C5*5, C6*6 
       REAL Z
       C2 = 'z' 
       C3 = 'uvwxyz' 
       C5 = 'vwxyz' 
       C5(1:2) = 'AB' 
       C6 = C5 // C2 
       BELL = CHAR(7)    Control Character (^G)

The results of the above are

C2

C3

C5

C6

receives 'zD' a trailing blank

receives 'uvw'

receives 'ABxyz'

receives 'ABxyzz' an extra z left over from C5

BELL

receives 07 hex Control-G, a bell

:

Example 5: Record assignment and record field assignment:


       STRUCTURE /PRODUCT/ 
              INTEGER*4 ID 
              CHARACTER*16 NAME 
              CHARACTER*8 MODEL 
              REAL*4 COST 
              REAL*4 PRICE 
       END STRUCTURE 
       RECORD /PRODUCT/ CURRENT, PRIOR, NEXT, LINE(10) 
       ... 
       CURRENT = NEXT                Record to record 
       LINE(1) = CURRENT        Record to array element 
       WRITE ( 9 ) CURRENT   Write whole record 
       NEXT.ID = 82                    Assign a value to a field