Dopo giorni di sfrenato cazzeggio mitigati da un po’ di finti lavoro, torno sui miei libri di studio. L’altra volta abbiamo fatto i primi passi con C, su Linux, oggi inizieremo ad addentrarci nel linguaggio e vedere di assimilare i concetti base.

Ma prima una piccola premessa, il C è molto probabilmente il linguaggio più famoso ma ci sono pareri discordanti nella sua facilità di apprendimento per i neofiti. A me è stato consigliato da più persone ed indicato come il migliore per imparare a programmare, ma a quel che leggo nel web, viene indicato come un linguaggio ostico, a causa dell’enorme flessibilità intrinseca che ci permette di scrivere la stessa cosa in un modo infinito di modi. In soldoni, è ben definito perchè ci sono poche istruzioni, ma queste poche istruzioni possono essere combinate in tantissimi modi, quindi è un bel po’ incasinato.

Dopo questa premessa, che avrà ottenuto l’effetto di allontanare i lettori da quest’articolo (ma perchè l’ho fatta?!? ), possiamo iniziare.

Abbiamo quattro tipi di dati fondamentali, con relative dimensioni

char : Grande un byte, contiene un singolo carattere

int : E’ un intero, varia da macchina a macchina

float : E’ un numero in virgola mobile, con precisione singola

double : E’ un numero con virgola mobile, con precisione doppia

A questo possiamo accoppiare agli interi gli attributi, tenendo presente che int può essere di 16 o 32 bit (lo decide il compilatore, valutando autonomamente ciò che ritiene adatto per la macchina su cui opera):

short : indica un interno con dimensione massima pari a 16 bit

long : indica un interno con dimensione minima pari a 32 bit

Ora, non ho mica capito tutta questa necessità di stabilire le dimensioni di quel che scriviamo. Posso presupporre che negli anni ‘70, nei quali è stato scritto C, fosse un grande problema, ma attualmente, pensare in bit è semplicemente assurdo. Ma ormai il linguaggio è questo, quindi tocca impararlo così.

Adesso passiamo alle costanti, come dice il nome si tratta di qualcosa che non muta, ma è fisso.

Ad esempio, con

#define MAXLINE 1000

inserito all’inizio del nostro programma, con modalità che vedremo un altra volta, indica che l’attributo MAXLINE (cioè il numero massimo di righe di imput) ha come valore 1000. Nel nostro programma potremo quindi richiamare direttamente MAXLINE invece che scrivere 1000. In questo modo potremo successivamente modificare i valori del programma con estrema facilità, modificando il valore contenuto nella #define, senza dover andare a modificare una sfilza di valori interni. Il meccanismo è simile a quello dei CSS in pratica.

I C abbiamo delle costanti già impostate, che tramite due (o tre) caratteri ne rappresentano solo uno, andiamo a vederli.

\a : segnale d’allerta

\b : spazio

\f : salto di pagina

\n : newline, a capo

\r : ritorno del carrello

\t : tabulazione orizzontale

\v : tabulazione verticale

\\ : barra inversa

\? : punto interrogativo

\’ : apice

\” : virgolette

\000 : da una a tre cifre in ottale (numeri da 0 a 7)

\xhh : una o più cifre esadecimali (numeri da 0 a 9, lettere da a a f, lettere da A a F)

Abbiamo anche delle costanti di enumerazione, con le quali possiamo stabilire una lista di valori interi costanti, come:

enum mesi { Gen = 1, Feb, Mar, Apr, Mag, Giu, Lug, Ago = 2, Set, Ott, Nov, Dic }

In questo caso abbiamo una seria di valori, a partire da 1. Feb, sarà un 2, Mar, un 3 e così via. Fino ad Ago, che ci permette di definire un altro punto dal quale iniziare a definire le costanti, Set sarà un 3 ad esempio.

Il vantaggio di questa tecnica è che si possono generare valori automaticamente e possiamo verificare i dati, cosa non possibile usando #define.

Veniamo quindi alle dichiarazioni, tutte le variabili devono essere dichiarate prima di essere dichiarate.

Con

int i = 0;

dichiariamo che la variabile i è uguale a 0 (ed è un intero)

oppure che le variabili lower e upper sono degli interi, così:

int lower, upper;

Abbiamo inoltre l’attributo const, che ci permette di dichiarare che il valore di una data variabile non subirà modifiche (le variabili normali vengono solitamente stravolte all’interno del programma).

Ad esempio

const int EXMPL = 1

nel quale dichiariamo che l’intero EXMPL che corrisponde ad 1, è costante.

Bene per oggi ho consumato a sufficienza i neuroni, alla prossima.

Interagisci con l'articolo !
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Print
  • Technorati
  • Twitter
  • Live
  • Wikio IT
  • email
  • Add to favorites
  • FriendFeed
  • RSS
  • LinkedIn
  • Tumblr

Articoli correlati