Primi semplici programmi C

Programma che calcola la somma di due INTERI:
>> concetto introdotto: assegnazione, variabili e valori, espressioni, come si legge e scrive dal terminale un intero

#include <stdio.h>
int a,b,c;
main ()

{
scanf("%d",&a);
scanf("%d",&b);
c=a+b;
printf("%d\n",c);
}

Programma che calcola la media di due REALI:
>> concetto introdotto: come si legge e scrive un reale

#include <stdio.h>
float a,b;
float c;
main ()

{
scanf("%f",&a);
scanf("%f",&b);
c= 0.5*(a+b);
printf("%f\n",c);
}

Programma che calcola la media di due INTERI:
>> concetto introdotto: reali e interi sono tipi diversi, ci vuole un "cast"

#include <stdio.h>
int a,b;
float c,d;
main ()

{
scanf("%d",&a);
scanf("%d",&b);
c= (float) a+b;
d=c*0.5;
printf("%f\n",d);
}

Programma che calcola il massimo tra due interi:
>> concetto introdotto: l'istruzione IF, la stampa di stringhe di caratteri

#include <stdio.h>
int a,b,max;
main()

{
scanf("%d",&a);
scanf("%d",&b);
if (a>b) max=a;
else max=b;
printf("max=%d\n",max);
}

Programma che dato n calcola n fattoriale:
>> concetto introdotto: ciclo while come iterazione per un numero di volte noto, parentesi graffe x sequenza di istruzioni, operatore di decremento, indentazione

#include <stdio.h>
int n,fatt;
main()

{
scanf("%d",&n);
fatt=1;
while (n>0)

{
fatt=fatt*n;
n--;
}

printf("fatt=%d\n",fatt);
}

Programma che calcola la media di una sequenza di REALI POSITIVI, terminata da un negativo:
>> concetto introdotto: assegnazione di valori iniziali, ciclo while come iterazione per un numero di volte non noto, operatore di incremento, cosa succede se il primo numero e' negativo?

#include <stdio.h>
float somma,x;
int tot;
main ()

{
scanf("%f",&x);
somma=0.0;
tot=0;
while (x>0.0)

{
somma=somma+x;
scanf("%f",&x);
tot++;
}

somma= somma/ (float) tot;
printf("%f %d\n",somma,tot);
}

Rifacciamo il programma del fattoriale con l' istruzione for:

#include <stdio.h>
int n,i,fatt;
main ()

{
scanf("%d",&n);
fatt=1;
for (i=n; i>0; i--) fatt=fatt*i;
printf("fatt=%d\n",fatt);
}

>> ulteriori concetti da introdurre: l'inserimento di commenti, l'indentazione delle istruzioni di un blocco, l'uso della traccia, programmi "diversi" che danno lo stesso risultato.