Linguaggio C

Tipi di Dati

 

descrizione          tipo                          bit occupati           valori ammissibili

 

carattere                char                                  8                      da 0 a 255

intero                     int                                   16                     da –32.768 a 32.767

reale                       float                                32                     da 3,4E-38 a 3,4E+38

indefinito               void                            indefinito

 

printf

 

permette di scrivere sullo schermo

 

printf(“stringa di controllo”, lista argomenti);

 

Stringa di controllo:

· stringa di caratteri da scrivere a video

· direttive di conversione che descrivono il modo in cui gli argomenti devono essere

visualizzati.

Possono avere varianti che specificano l’ampiezza dei campi, il numero di cifre decimali…

 

%c singolo carattere

%d decimale intero

%i decimale intero

%e notazione scientifica

%f decimale in virgola mobile

%s stringa di caratteri

%u decimale intero senza segno

 

scanf

 

Permette di leggere dati dalla tastiera

 

GLI OPERATORI ARITMETICI

 

*   +   -   /   %

 

In sequenza moltiplicazione addizione sottrazione divisione resto della divisione

 

LOGICI

 

&& || !

AND OR NOT

 

INCREMENTO

 

A= A+1;

o

A= A-1;

possiamo abbreviarlo mediante gli operatori

++  --

incremento decremento

 

A++ 

restituisce A e poi lo incrementa

++A

incrementa A e lo restituisce incrementato

 

COMPARAZIONE

 

< >          minore maggiore

<= >=     minore o uguale maggiore o uguale

== !=      uguale diverso

 

ASSEGNAMENTO

 

=

il simbolo uguale  =  viene considerato un operatore e quindi restituisce anch'esso un

valore.

Esempio:

A=B;

memorizza in A il valore di B e restituisce B

Esempio:

A=B=0; il valore 0 viene assegnato sia ad A che a B

A+=B; assegna ad A il valore B sommato ad A

 

PUNTATORI

 

Riporta l'indirizzo di una variabile.

        Ad esempio

 

                                 int var_1;

                                 int *var_2;

                                 var_1 = 130;

                                 var_2 = &var_1;

 

        assegna l'indirizzo di  var_1 a var_2.

        L'operatore * dice a var_2 di puntare a quell'indirizzo in  altre

        parole di vedere il contenuto di quella locazione.

 

        Al  contrario una matrice che occupa in  memoria

        lo spazio necessario per tutti gli elementi,  un puntatore occupa

        solo lo spazio atto a contenere l'indirizzo.

        Gli  indirizzi occupano sempre lo stesso spazio indipendentemente

        dal tipo.

        Ad esempio una matrice

 

                                  int var[100];

 

        occupa in memoria 100 volte lo spazio di un int        

       mentre

 

                                   int *var_1;

 

        occupa solo lo spazio per un indirizzo

 

MATRICE

 

INT MATRICE [20]

 

Esempio:

{

I=5

MATRICE[I]=10

}

è uguale a:

*(matrice+5)=10

 

Nel  caso  in  cui dovessimo memorizzare  una  stringa  intera  o

piu'stringhe  dovremmo  dichiarare la variabile come una matrice di char.

Una stringa e' considerata nel linguaggio C come una sequenza  di

caratteri finalizzata da '\0' (carattere di fine stringa).

Supponiamo di dichiarare la variabile 'nome' come

 

                                  char nome[5];

 

e di assegnarle la stringa "FRANCESCO".

Avremo come risultato

 

FRANCESCO[10]  [ F | R | A | N | C | E | S | C | O | \0 ]

FRANCESCO         [ 1 | 2  | 3  |  4 | 5 | 6 | 7 |  8 |  9 | 10]

 

LA STRUTTURA

 

La struttura è un dato complesso {int,char,array,....}

STRINGA=ARRAY+"\0" (come sopra illustrato per i puntatori);

STRCPY copia una striga in un altra;

 

INCLUDE STRING.H

                   CONIO.H

                   STDIO.H

 

STRUCT

{

CHAR NOME [30];

CHAR COGNOME [30];

CHAR DATA [12];

INT ALTEZZA;

}PATENTE;

PATENTE ARGIOLAS

 

ARGIOLAS ALTEZZA=180;

STRCPY(ARGIOLAS.NOME,"Francesco")

PRINTF("%S",ARGIOLAS.COGNOME);

SCANF("%S",&ARGIOLAS.COGNOME);

 

 

 

Sei il visitatore n°

Inviare a [Fran87@hotmail.it] qualsiasi consiglio per la gestione del sito
Aggiornato il: 17-05-05.