JCL (Job Control Language) has three fundamental types of statements: JOB (marks beginning of a job), EXEC (identifies a step/program to execute), and DD (data definition, describes resources). JOBLIB, STEPLIB, PROC, and accounting parameters are optional elements, not fundamental statement types.