Show Menu
Cheatography

Linguaggio C Cheat Sheet (DRAFT) by

Linguaggio C nozioni importanti e domande colloqui

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Tipi di dati

Int
interi
Float
virgola mobile
Double
virgola mobile a precisione doppia
Char
singolo carattere
Void
indefinito

Errori di sintassi

Errori che si verificano durante la creazione di un programma.

Incremento e decremento

Incremento
++
Decremento
-

Parole chiave

Parole che fanno parte della libreria del linguaggio C standard
Esempio:
void, return int

Dangling Pointer

Puntatore penzolante: puntatore che punta a un indirizzo di memoria di qualsiasi variabile, ma dopo un po' la variabile è stata cancellata dalla posizione di memoria mantenendo il puntatore che punta a quella posizione

Funzione static

Mi permette di creare variabili persis­tenti in una funzione. Le variabili interne delle funzioni sono variabili locali. Una volta terminata l'esec­uzione della funzione, il loro valore si perde. L'istr­uzione static mantiene in memoria il valore di una variabile interna della funzione dopo ogni chiamata

Funzioni abs() e fabs()

abs()
valore assoluto di interi
fabs()
valore assoluto di floating point

Wild Pointer

Puntatori non inizia­lizzati

Puntatore

Variabile che contiene l'indi­rizzo di memoria di un'altra variabile
Per definire un puntatore è necessario anteporre al nome della variabile un asterisco, che viene chiamato operatore di indire­zione o defere­nzi­azione
Esempio:
int a = 5, *x=&a, **y=&x;
. Qui
**y
restit­uisce il valore della variabile a.

++a e a++

++a
incremento avviene per primo su una variabile
a++
incremento avviene dopo il valore di una variabile

Caratt­eri­stiche C

Portab­ilità
è un linguaggio indipe­ndente dalla piatta­forma
Modularità
possib­ilità di suddiv­idere grandi programmi in piccoli moduli
Flessi­bilità
possib­ilità di contro­llare il linguaggio
Velocità
C viene fornito con il supporto per la progra­mma­zione di sistema
Estens­ibilità
possib­ilità di aggiungere nuove funzio­nalità
 

Differenza tra virgolette " e parentesi <>

#inclu­de"p­ath­"
il prepro­cessore cerca i file di inclusione nel seguente ordine:
1. nella directory del file
2. nelle directory "­pad­re" del file
3. lungo il percorso specif­icato da ogni opzione del compil­atore
4. lungo i percorsi specif­icati dalla
include
#inclu­de<­pat­h>
il prepro­cessore cerca i file di inclusione nel seguente ordine:
1. lungo il percorso specif­icato da ogni opzione del compil­atore
2. lungo i percorsi specif­icati dalla
include

Commenti

Spiega­zione
isolano una parte del codice affinchè non influisca durante il debug
//
commento su una sola riga
/*----*/
commento su più righe

Istruzione Break

Termina l'esec­uzione dell'i­str­uzione contenuto in un loop o nello switch

Funzione in C

Defini­zione
contiene 4 sezioni principali
Tipo di ritorno
tipo di dati del valore di ritorno della funzione
Nome funzione
nome che si sceglie
Parametri
valori di input per la funzione
Body
il corpo, la raccolta di istruzioni che deve eseguire la funzione

Ciclo annidato

Ciclo che viene eseguito all'in­terno di un altro ciclo. Il primo loop è chiamato outer loop e il loop interno è detto inner loop. Quest'­ultimo viene eseguito il numero di volte definito in un ciclo esterno.

Tipi di ciclo

Cosa sono
istruzioni che consentono l'esec­uzione di istruzioni o gruppi di istruzioni in modo ripetuto
for
crea un ciclo iterativo
while
mentre avviene l'istr­uzione continua il programma
do-while
viene eseguito il corpo dell'i­str­uzione e poi viene valutata
ciclo annidato
ciclo in un altro ciclo

File di intest­azione

File contenente le defini­zioni e i prototipi delle funzioni utiliz­zate. Noto anche come file di libreria.
Contiene comandi come
printf
e
scanf
e proviene dal file di libreria stdio.h.

Natura ciclica tipi di dati

Se viene assegnato un valore oltre l'inte­rvallo del tipo di dati, non ci sarà alcun errore del compil­atore e il valore cambia secondo un ordine ciclico. Questo vale per i tipi di dati: char, int, long.
Non vale per float, double, long double

Funzione prototipo

Dichia­razione di una funzione con le seguenti inform­azioni: nome funzione, tipo restituito della funzione, elenco parametri della funzione.
Esempio:
int Sum(int, int);

Simboli = e ==

==
operatore di confronto
=
operatore di assegn­azione
 

Progra­mma­zione modulare

Basata su più files di codice sorgente, ognuno dei quali dedicato alla risolu­zione di un determ­inato problema.

Int

Il tipo di dati int è in grado di memori­zzare solo valori compresi tra -32768 e 32767.

Sequenza di escape

\n
nuova riga
\b
backspace
\t
tabula­zione orizzo­ntale

Comando rand()

Serve a generare numeri casuali.

File ad accesso sequen­ziale

I dati vengono salvati in uno schema sequen­ziale. Quando si recuperano i dati da tali file, ogni dato viene letto uno alla volta finchè non vengono trovate le inform­azioni richieste.

Stack

Struttura dati lineare che funge da raccolta di elementi con 3 operazioni princi­pali:
1. Push operaz­ione, che aggiunge un elemento allo stack
2. Pop operaz­ione, che rimuove l'elemento aggiunto più di recente che non è stato ancora rimosso
3. Peek operaz­ione, che restit­uisce l'elemento superiore senza modificare lo stack.
Il push e il pop avvengono solo ad un'est­remità della struttura, denominata top della stack. L'ordine in cui gli elementi escono da una stack dà origine al suo nome altern­ativo, LIFO ( Last-In, First-­Out).

Algoritmo

Succes­sione di istruzioni o passi che defini­scono le operazioni da eseguire sui dati per ottenere i risultati.

Funzione Toupp­er()

Viene utilizzata per convertire il valore in maiuscolo quando viene utilizzato con i caratteri.

Modifi­catore

Un prefisso al tipo di dati di base che viene utilizzato per indicare la modifica per l'allo­cazione dello spazio di archiv­iaz­ione.
Esempio: In un processore a 32 bit, lo spazio di archiv­iazione per il tipo di dati
int
è 4. Quando usiamo il modifi­catore cambia lo spazio come segue:
Long int
: lo spazio di archiv­iazione è di 8 bit
Short int
: lo spazio di archiv­iazione è di 2 bit