Estratto del documento

Informatica

Albero del file system: organizzazione gerarchica delle directory.

Case-sensitivity: vi è differenza tra lettere maiuscole e minuscole.

CAT: C, stampa contenuto di un File o più.

CD: C, cambio directory, specificando la directory di destinazione.

CP: C,crea un 2° file che contiene le stesse info di quello copiato, scegliendo il suo nome. Posso copiare anche una

directory. CP NOME_FILE_INIZIALE NOME_FILE_FINALE. cp -r copia directory col suo contenuto.

Directory: strutture in cui stanno i file, organizzate in modo gerarchico, e che costituiscono il file-system.

Directory ". ": presente in ogni directory, indica la directory corrente

Directory “..”: presente in ogni directory, indica la directory genitore di quella corrente.

Directory corrente: directory in cui sto, in questo momento, lavorando.

Directory di sistema: directory che contiene tutti i file dei comandi nel disco.

ECHO, C, stampa a video ciò che scrivo su lista di comando, è utile negli script. Se scrivo “echo FRASE > NOME_FILE” la mia

frase viene reindirizzata nel mio NOME_FILE, sovrascrivendolo. Se NOME_FILE non è presente nella directory viene creato.

Se metto >> non sovrascrivo ma appendo stringa in fondo al file.

Esecuzione di un comando: viene dato l'input dall'utente alla shell, la quale fa eseguire il file che corrisponde al comando.

File: contiene dati o istruzioni.

File system: struttura interna all'elaboratore che serve per organizzare i dati e istruzioni in file.

Home directory: directory in cui si trova l'utente dopo il login, ogni utente ne possiede una. Esse sono organizzate in una

directory genitore "home". Con "~" indico la home directory dell'utente corrente.

LS: C, mostra contenuto della directory corrente. Posso specificare anche quale directory voglio vedere e il modo in cui le

voglio vedere. Di solito mostra solo directory all'interno della directory che voglio vedere.

MAN: C, visualizza la guida di un comando.

MKDIR: C, crea directory, o in dir. Corrente o in un percorso. Con “-r” creo tutte le cartelle che indico nel percorso.

MV: C, sposta uno o più file o una directory in una directory. Posso anche rinominare con mv “nome corrente” “nome

nuovo”

Percorso: Sequenza di directory da percorrere per arrivare ad un file/directory. Assoluto: localizza oggetto scrivendo

sequenza di directory partendo dal root. Relativo: localizza oggetto scrivendo sequenza di directory partendo da

directory corrente.

Programma: file con istruzioni, scritte in linguaggio macchina.

Prompt: porzione di testo con al quale la shell ci dice che è pronta a ricevere comandi.

PWD: C, stampa il percorso assoluto della directory corrente. Processo interno alla shell.

RM: C, cancella file, anche più di uno. Con rm-r cancello directory con tutto ciò che c’è dentro.

RMDIR: C, rimuove directory vuote.

Root: (1) directory principale (/), da cui parte l'albero. (2) username dell'amministratore di sistema nei sistemi Unix.

Shell: programma interprete che riceve i comandi e ne esegue le operazioni. Strato più esterno del sistema operativo.

Touch: C, permette di creare un file nella directory corrente

Tree: C, visualizza albero directory dalla directory corrente.

Quit: C, serve per tornare al prompt.

WHICH: C, dice il nome del file che viene eseguito per eseguire il comando da me impartito. In soldoni stampa il percorso

assoluto del file stesso.

WILDCARD: “*” = nessuno o più caratteri “?” = uno e un solo carattere. Sono operatori della shell, utile, con ls, per

individuare nomi di file con determinate caratteristiche.

>, operatore di redirezione.

Costrutti di controllo

Istruzioni composte: le pongo tra parentesi graffe {istr1 istr2}, ogni istr avrà il proprio punto e virgola.

Costrutto if: if (espr) / { 1 o più istruzioni}

Costrutto if else: if (espr) / { 1 o più istruzioni} / else {1 o più istruzioni}

-Condizioni complesse con operatori logici: if ((a%2=0) && (a/2=0) || !(a%2=1))

Costrutto for: for (espr1 (inizializzazione, si ripete solo all’inizio del ciclo); espr2 (condizione) ; espr3

(incremento/decremento contatore)) istr (eseguita se condizione è positiva)

Costrutto While: while (espr (condizione)) istr , se la condizione è vera esegue l’istruzione.

Costrutto do-while: do istr while (espr), viene eseguita un’istruzione, ed in base alla condizione si

decide se continuare o no ad eseguirla.

Costrutto Switch: switch (sel), parentesi graffe obbligatorie, case 1, case 2 … case n. Ogni case termina con un break. Ogni

case ha istruzioni. Se non viene selezionato nessun caso si va al default.

Controllo del flusso di esecuzione: fattibile grazie a break (termina il ciclo più interno) e continue (passa immediatamente

all’iterazione successiva; in for viene fatto l’incremento e poi valutata la condizione).

Salto incondizionato: fattibile grazie a “goto etichetta”, e reindirizza ad etichetta. Non posso saltare tra funzioni diverse ed

è utile per non dover usare n break in una funzione con diversi cicli nidificati. Etichetta: printf.

Identificatori

%0nx, numero esadecimale con almeno n cifre, e sostituisce, eventualmente, con 0.

%ni, intero con almeno n cifre, sostituirebbe spazio.

%c, stampa il carattere ASCII corrispondente al numero.

%s, stampa stringa.

%lf, double

Differenza tra singoli e doppi apici

Singoli: costante di tipo char

Doppi: stringa, con relativo terminatore

Tipi di dati

Il C è un linguaggio tipizzato, ovvero ad ogni variabile deve essere assegnato un tipo, in modo da – verificare che

l’assegnamento avvenga correttamente (semi aspetto un numero intero non accetterà un testo) – riserva una parte

di memoria (fissa, per ogni tipo) per la variabile. Calcolatore deve conoscere indirizzo, dimensione e tipo di dato

(per capire come tradurre il binario).

Tipi interi: la dimensione di ognuno di essi dipende dal processore e dal compilatore. (char, short, int, long, long

long). Esistono i signed e gli unsigned (con 8 bit, Sign -128 +127, UnS 0 +255). Costanti intere, abbiamo la possibilità

di rappresentarle in base 10, 8 e 16 (aggiungendo uno 0 [8], 0x [16]). Col tipo char posso rappresentare tra singoli

apici il numero del carattere ASCII corrispondente. S E

Tipi a virgola mobile: rappresentati secondo lo standard IEEE, come (-1) M 2 . Includendo math.h posso fare calcoli

matematici basati sul double, compilandolo inserendo -lm. Bisogna utilizzare angoli in radianti (π = m_pi). Costanti

in float, double se non specifico. Posso dotare il numero di esponente (e/E).

Puntatori: sono variabili che rappresentano un indirizzo di memoria. Serve il tipo a cui si punta, asterisco e il nome.

E’ int il valore puntato da p. E’ una variabile contenente un indirizzo, nel quale sono presenti dei bit da interpretare

come un numero di tipo intero. Ogni puntatore, sulla stessa macchina, ha la stessa dimensione.

Tramite l’operatore & posso ottenere l’indirizzo di una variabile, ed assegnarlo poi, eventualmente, al mio

puntatore.

Tramite l’operatore * posso accedere al valore contenuto in un determinato indirizzo di memoria. “*p=3” significa

quindi: assegna il valore 3 alla cella corrispondente all’indirizzo situato in p. Accedendo ad un’area di memoria in

questo modo tramite un puntatore, si definisce Deferenziare un puntatore.

Esiste il puntatore nullo, p=0, e 0 è un indirizzo di memoria non accessibile.

Array: aree contigue di memoria in cui sono memorizzati elementi di tipo omogeneo. In base alla loro dimensione

prendono nomi diversi. Vettori: sintassi, int vett[n° elem] (N.B. vett = nome vettore) . Ogni elemento del vettore è

esprimibile come vett[0]… vett [N-1], dati N elementi. I dati sono memorizzati in indirizzi di memoria contigui, in

questo modo posso sempre trovare l’indirizzo dell’ i-esimo elemento con: base + i * dim (base = indirizzo 1°

elemento, dimensione del tipo di dato). Il vettore può essere visto come un puntatore costante, che punta al primo

elemento del vettore (vett fornisce indirizzo del primo elemento del vettore), quindi scrivere vet[0] o *vet è la

stessa cosa (*(vet+1) = vet[1]). N.B. è possibile sbagl

Anteprima
Vedrai una selezione di 3 pagine su 10
Riassunto Programmazione Linguaggio C Pag. 1 Riassunto Programmazione Linguaggio C Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Riassunto Programmazione Linguaggio C Pag. 6
1 su 10
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher giuseppe.para81 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Facchinetti Tullio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community