Riassunto di Programmazione in C
Nome Autore
Anno
Contents
1 Introduzione al Linguaggio C 2
1.1 Storia e sviluppo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Applicazioni del C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Ambiente di Sviluppo 3
2.1 Installazione di un compilatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Compilazione e esecuzione di un programma C . . . . . . . . . . . . . . . . . . . 3
3 Sintassi di Base 4
3.1 Struttura di un programma C . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Tipi di dati primitivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Operatori 5
4.1 Operatori aritmetici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Controllo di Flusso 6
5.1 Istruzioni condizionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Funzioni 7
6.1 Dichiarazione e definizione delle funzioni . . . . . . . . . . . . . . . . . . . . . . 7
7 Array 8
7.1 Dichiarazione e inizializzazione degli array . . . . . . . . . . . . . . . . . . . . . 8
8 Stringhe 9
8.1 Dichiarazione e gestione delle stringhe . . . . . . . . . . . . . . . . . . . . . . . . 9
9 Puntatori 10
9.1 Introduzione ai puntatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10 Strutture e Unioni 11
10.1 Dichiarazione di strutture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11 Gestione della Memoria 12
11.1 Allocazione dinamica della memoria . . . . . . . . . . . . . . . . . . . . . . . . . 12
12 File I/O 13
12.1 Apertura e chiusura di file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
13 Conclusioni 14
1
Chapter 1
Introduzione al Linguaggio C
1.1 Storia e sviluppo
Il linguaggio C è stato sviluppato negli anni ’70 da Dennis Ritchie presso i Bell Labs. È
stato progettato per essere un linguaggio di programmazione general-purpose, con un focus su
efficienza e portabilità.
• Creato inizialmente per lo sviluppo del sistema operativo UNIX.
• Ha influenzato numerosi linguaggi di programmazione moderni come C++, Java e Python.
1.2 Applicazioni del C
Il linguaggio C viene utilizzato in vari campi, tra cui:
• Sviluppo di sistemi operativi.
• Embedded systems.
• Programmazione di giochi.
• Applicazioni scientifiche e ingegneristiche.
2
Chapter 2
Ambiente di Sviluppo
2.1 Installazione di un compilatore
Per iniziare a programmare in C, è necessario installare un compilatore:
• GCC: GNU Compiler Collection, molto usato su sistemi Unix.
• Visual Studio: IDE molto popolare per programmare in C su Windows.
2.2 Compilazione e esecuzione di un programma C
Un semplice programma C potrebbe apparire come segue:
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
Per compilare il programma:
gcc hello.c -o hello
Eseguire:
./hello
3
Chapter 3
Sintassi di Base
3.1 Struttura di un programma C
Un programma C è formato da funzioni, commenti e direttive di pre-processore.
3.2 Tipi di dati primitivi
I principali tipi di dati sono:
• int: interi.
• float: numeri decimali a precisione singola.
• double: numeri decimali a precisione doppia.
• char: caratteri.
4
Chapter 4
Operatori
4.1 Operatori aritmetici
Gli operatori aritmetici includono:
• Somma (+)
• Sottrazione (-)
• Moltiplicazione (*)
• Divisione (/)
• Modulo (
5
Chapter 5
Controllo di Flusso
5.1 Istruzioni condizionali
Le istruzioni condizionali più comuni sono:
• if
• switch
6
Chapter 6
Funzioni
6.1 Dichiarazione e definizione delle funzioni
Le funzioni in C possono essere dichiarate e definite come segue:
int add(int a, int b) {
return a + b;
}
7
Chapter 7
Array
7.1 Dichiarazione e inizializzazione degli array
Un esempio di dichiarazione di un array:
int arr[10];
8
Chapter 8
Stringhe
8.1 Dichiarazione e gestione delle stringhe
Le stringhe possono essere gestite come array di caratteri, ad esempio:
char str[100] = "Hello, World!";
9
Chapter 9
Puntatori
9.1 Introduzione ai puntatori
I puntatori sono variabili che memorizzano indirizzi di altre variabili, ad esempio:
int *ptr;
10
Chapter 10
Strutture e Unioni
10.1 Dichiarazione di strutture
Le strutture sono usate per raggruppare variabili:
struct Person {
char name[100];
int age;
};
11
Chapter 11
Gestione della Memoria
11.1 Allocazione dinamica della memoria
La memoria può essere gestita dinamicamente usando funzioni come ‘malloc()‘ e ‘free()‘.
12
Chapter 12
File I/O
12.1 Apertura e chiusura di file
Esempio di apertura e chiusura di un file in C:
FILE *file = fopen("file.txt", "r");
fclose(file);
13
Chapter 13
Conclusioni
Il linguaggio C è estremamente potente e versatile, utilizzato in molti ambiti della program-
mazione. Comprendere i fondamenti del C è essenziale per tutti i programmatori.
14