blob: 2154980f3f5022e6c5e654b8260cb38e06526286 [file] [log] [blame]
program Main
integer, parameter :: k6=selected_int_kind(6) ! Kind for range [-999999,999999]
integer, parameter :: n1 = -123456_k6
integer, parameter :: n2 = -123456_4
integer, parameter :: long = selected_real_kind(9, 99) ! 9 sig decimals, exponent
! range 10^-99 to 10^99
integer, parameter :: asci = kind('ASCII')
integer(kind=long) :: a
character(len=20, kind=1) :: english_word
character(20) :: length_twenty
type person
character(10) :: name
real :: age
integer :: id
end type
type(person) :: me = person('Jeff', 23, 12345)
type(person) :: you
real, dimension(10) :: array1thru10
real, dimension(-10,5) :: arrayneg10thru5
real, dimension(-10:5, -20:-1, 2) :: threedarray
real, dimension(5) :: arrayconst = (/ 1, 2, 3, 4, 5 /)
character(len=10) :: ten = "1234567890"
real, pointer :: realptr => null()
you%name = 'Bob'
you%age = 17.25
you%id = 18
print *, "Kinds:", kind(k6), kind(n1), kind(n2), kind(1.0)
print *, "Precision:", precision(1.0_long) ! will be at least 9
print *, "Num decimal digits supported:", range(2_k6)
print *, "Num decimal digits supported:", range(1.0_long) ! will be at least 99
!ERROR!print *, "Bin/octal/hex:", b'01100110', o'076543', z'10fa'
print *, "Real literal constant:", -10.6e-11, 1., -0.1, 1e-1, 3.141592653
print *, "Complex:", (1., 3.2), (1, .99e-2), (1.0, 3.7_8)
print *, 'He said "Hello"', "This contains an '", 'Isn''t it a nice day'
print *, 'This is a long string &
& which spans several lines &
& unnecessarily.'
!ERROR!print *, asci_"String"
print *, .false._1, .true._long
print *, ten(:5), ten(6:), ten(3:7), ten(:), you%name(1:2), 'Hello'(:2)
end program