/* Con questi due caratteri si inizia la zona di commento.

Il C e' stato progettato da Dennis Ritchie su UNIX, e discende dal B,
ideato nel 1970 da Ken Thompson, e il B a sua volta discende dal BCPL,
sviluppato da Martin Richards.
Nel 1983 l'Istituto Nazionale Americano per gli Standard (ANSI) ha
iniziato una standardizzazione del C, terminata nel 1989 con la definizione
dell'ANSI C, che differisce di poco dal C di K&R (Kernigan & Ritchie).
In seguito e' stato aggiornato alla programmazione orientata agli oggetti,
in questo caso si parla di C++, e il suffisso dei file solitamente e'.CPP.

Il C consente la gestione di bit, byte e indirizzi di memoria, a differenza
di altri linguaggi di alto livello come basic e pascal, per questo alle
volte e' definito un linguaggio di medio livello, ossia piu' vicino al
basso livello, ossia all'assembler.
Tra l'altro ha solo 32 parole chiave, ben poche al confronto del basic,
che ne ha solitamente piu' di 150.

Inoltre e' un linguaggio portabile, ossia un listato scritto in ANSI C puo'
essere compilato su ogni compilatore standard di ogni sistema operativo.

I compilatori C richiedono un listato scritto in formato testo, che si puo'
scrivere con un editor qualsiasi o con quello integrato nel compilatore.
Questo file di testo, che di solito ha come suffisso .C, viene compilato e
trasformato in un file oggetto (o modulo), che ha come suffisso .OBJ, il
quale a sua volta deve essere linkato con un linker per divenire un file
eseguibile .EXE. In questo modo si possono linkare assieme file oggetto
prodotti da vari listati in c, o anche da linguaggi diversi, per formare
l'eseguibile unico finale.

Vediamo subito un programma che scrive "Pippo" sullo schermo:

Ora terminiamo il commento mettendo i due caratteri scambiati di ordine: */


#include <stdio.h>		/* Include la libreria standard, che non e'
				 * altro che un file di testo con delle
				 * strutture e macro predefinite.
				 * Questi file sono detti Header, infatti
				 * terminano con il suffisso .h */

main()			/* Definiamo la funzione Main, che non riceve
			 * nessun valore come argomento. Il programma
			 * iniziera' l'esecuzione a partire da questa
			 * funzione, che deve essere presente in ogni
			 * programma */

{		/* Le istruzioni della funzione sono racchiuse tra le {,} */

	printf("Pippo\n");	/* Chiamiamo la funzione di libreria
				 * printf che si occupa di stampare.
				 * Da notare che \n indica il NewLine,
				 * ossia serve per andare a capo.
				 * Altra cosa da notare: si deve mettere
				 * un punto e virgola alla fine della
				 * funzione chiamata. */

}		/* chiudiamo la funzione principale Main() */


/*

In questo programma si notano gia' delle cose fondamentali. Innanzitutto
la funzione principale main(), che va sempre messa, dato che e' quella
eseguita per prima, e quindi principale. Inoltre si nota che gli argomenti
da passare alle funzioni vanno messi tra le parentesi ( ) che si trovano
dopo il nome della funzione stessa.
Nel caso di Main(), non viene messo alcun argomento, infatti non richiede
argomenti.
Invece quando chiamiamo la funzione printf() immettiamo come argomento
il testo da stampare tra " ", come vuole la sua sintassi.
All'interno della stringa di caratteri abbiamo messo un \n, che equivale
al carattere che manda a capo. Sono disponibili altri caratteri non
editabili, ad esempio \t indica il TAB, \" e \\ indicano i doppi apici e il
backslash. */