Appunti di programmazione

Appunti per il corso universitario di programmazione, riferito al linguaggio ANSI C
Redatti all'università di Venezia

ARGOMENTI

STRUTTURA COMPUTER

DEFINIZIONI

TASTIERA E TIPI

AMBIENTE E MEMORIA

COMANDI

FUNZIONI E PROCEDURE

TIPI DERIVATI

PUNTATORI

STRINGHE

ARRAY DI PUNTATORI

STRUTTURE

TYPEDEF E ENUM

PUNTATORI A PROCEDURE

ALLOCAZIONE DINAMICA

LISTE

ALGORITMI

ERRORI

TIPO

un insieme (finito) di valori e un insieme di operazioni definite su tale insieme


es. -10 ... 0 ... 1 ... 2

tipo = numeri interi e operazioni che si possono eseguire al suo interno (addizione ecc.)


es. a b c ... z

< prec succ



il tipo serve a sapere cos'è un dato in memoria (a formalizzare la corrispondenza tra stati e valori = il valore in memoria, ossia la sequenza di bit, viene interpretata in maniera differente in base al tipo che sto utilizzando, assumendo valori diversi)


VARIABILE

locazione di memoria o una sequenza contigua di locazioni di memoria tale che:

  1. ha associato un tipo

  2. ha uno stato

  3. rappresenta un valore


es. caso della prima lezione (direzioni) dichiaro una locazione x di tipo direzione; se lo stato di x è 00 il valore rappresentato è Nord


la quantità di memoria necessaria a rappresentare un dato è legata al suo tipo


IDENTIFICATORE

nome che viene associato ad una qualche entità nel programma


in C gli identificatori sono case sensitive (maiuscole – minuscole)


ESEMPIO DI LISTATO C

#include<stdio.h>

int main(void){

int primo;

int secondo; oppure int primo, secondo;

primo = 7;

secondo = primo;

return 0;

}


alloca memoria (parte dichiarativa)

modifica lo stato della memoria


DICHIARARAZIONE DI UNA VARIABILE

<nome_di_tipo> <identificatore>;

effetto:

  1. viene riservata una locazione di memoria di una certa dimensione (dettata da <nome_di_tipo>)

  2. a questa locazione di memoria viene associato quell'identificatore

int fa parte dei tipi predefiniti (quindi è una stringa riservata)


RIASSUMENDO...

int = tipo

primo = identificatore

7 = valore

nella variabile a sinistra vado a scrivere il valore che sta a destra


ESPRESSIONE

costrutto linguistico che mi restituisce un valore o una variabile

se mi restituisce una variabile l'espressione si chiama designatore

può essere:

  1. una costante

  2. una variabile

  3. un'espressione aritmetica (primo + 7)

  4. la chiamata di una funzione (somma(3,2))

l'espressione ha sempre un valore (perché deve appartenere a un tipo)

; = comando più semplice (non fa nulla)

COMANDO SEMPLICE

espressione seguita da “;”


es.

7;

è un comando semplice ma non esegue nulla

COMANDO DI ASSEGNAMENTO

<designatore> = <espressione>;

  1. viene valutata l'espressione a destra ?mi restituisce il valore k

  2. viene valutato il designatore a sinistra ?mi restituisce la variabile v

  3. viene assegnato alla variabile v il valore k

INIZIALIZZAZIONE

<tipo> <identificatore> = <valore>

int primo = 7;


l'assegnamento è distruttivo (non posso più recuperare il valore precedente)

il compilatore inizializza una variabile grande quanto indicato dal tipo

OPERATORE

costrutto sintattico che mi permette di costruire delle espressioni:

  1. aritmetici (+ / * % -)

  2. logici (&& || !)

  3. di assegnamento(= <operatore>=; es. x+=3 corrisponde a x = x+3)

  4. relazionali = permettono di costruire espressioni booleane (== >< != <= >=)

  5. virgola (,)

Ritorna sopra | Home page