Non è solo una buona idea: la fopen necessaria per poter aprire un file e leggerlo.

l'apertura di un file in lettura si fa così

codice:
FILE * input; //dichiarazione di un "puntatore a file"

if ((input =fopen ("file.txt","r"))==NULL){
     fprintf (stderr,"errore - file non trovato: %s","file.txt");
     return -1;
}
Si spera che il file sia nel posto giusto.
mentre la scansione carattere per carattere si fa così

codice:
#include <ctype.h>

#define SHIFT 97

char c=' ';
int occorrenze [26];

while ((c=fgetc(input))!=EOF)
    if (tolower(c)>=97)&&(tolower(c)<=122)
        occorrenze[tolower(c)-97]++;

/*la costante SHIFT varebbe 65 se avessi usato la funzione toupper al posto della tolower*/
EOF è il carattere di fine file.
con la condizione nell'if controllo che il carattere sia nell'intervallo a-z, così scarto i caratteri di separazione e i newline.
il vettore delle occorrenze deve contenere 26 elementi.

Una cosa importante: procuarti al più presto un manuale di C, questo problema si risolve con tecniche standard che si imparano sui libri, non dovrebbe essere necessario pensare più di tanto alle funzioni da usare.

Ciao!