Una tabella scritta in linguaggio c.
Hai mai provato a incolonnare dei dati in C? Per farlo correttamente dobbiamo imparare a tabulare il testo. Usando la sequenza speciale \t all’interno delle nostre printf, possiamo creare tabelle ordinate in poche righe di codice. In questo articolo vedremo come passare da una semplice lista disordinata a una struttura chiara con colonne per articoli, quantità e prezzi.
#include <stdio.h>
int main() {
printf(“Articolo \t Quantita \t Prezzo\n”);
printf(“——————————————\n”);
printf(“Pane \t 2 \t3.50 \n”);
printf(“Acqua \t 6 \t1.20 \n”);
return 0;
}

La variante in C++
Dopo aver visto come si fa in C, passiamo al C++. Anche in questo linguaggio possiamo organizzare i dati in modo ordinato creando una tabella. Il concetto di base non cambia: usiamo più righe di testo e il carattere speciale \t per saltare da una colonna all’altra. In C++ però, invece di printf, useremo l’istruzione cout per mandare i messaggi a video. Vediamo come trasformare il nostro programma.
#include <iostream>
using namespace std;
int main() {
// Intestazione della tabella con le tabulazioni (\t)
cout << “Articolo \t Quantita \t Prezzo” << endl;
// Una linea decorativa per separare i titoli dai dati
cout << “——————————————” << endl;
// Righe della tabella: ogni \t sposta il testo nella colonna successiva
cout << “Pane \t\t 2 \t\t 3.50” << endl;
cout << “Acqua \t\t 6 \t\t 1.20” << endl;
cout << “Focaccia \t 1 \t\t 4.00” << endl;
return 0;
}

Dichiarare una variabile intera.
Struttura di un programma in C: Esempio Pratico
Per imparare a programmare, dobbiamo distinguere due fasi principali nel codice: la sezione dichiarativa (dove “prepariamo” gli ingredienti) e la sezione esecutiva (dove facciamo “accadere” le cose).
Spiegazione delle Sezioni .
-
Librerie di sistema: Con
#include <stdio.h>carichiamo le istruzioni che servono per leggere e scrivere (come la funzioneprintf). -
Sezione Dichiarativa: Qui è dove diciamo al computer: “Ehi, mi serve una scatola chiamata
tempocapace di contenere numeri interi (int)”. Poi, con l’uguale (=), mettiamo il numero 10 dentro quella scatola. -
Sezione Esecutiva: È il cuore del programma. Usiamo la
printfper mostrare il testo a video. Nota il segnaposto%d: serve a dire al computer di andare a leggere cosa c’è dentro la scatolatempoe scriverlo proprio in quel punto. -
Il comando
\n: Si chiama “carattere di escape” e serve per dire al programma di saltare alla riga successiva. Senza di lui, tutto il testo verrebbe scritto su una sola riga lunghissima!
#include <stdio.h> // Librerie di sistema
int main() // Inizio funzione main
{
/* SEZIONE DICHIARATIVA */
int tempo; // Dichiaro la variabile (riservo lo spazio)
tempo = 10; // Assegno il valore 10 alla variabile
/* SEZIONE ESECUTIVA */
printf(“\n Studio il linguaggio C da “);
printf(“%d”, tempo); // Stampa il valore della variabile
printf(” minuti”);
printf(“\n ed ho gia’ scritto un programma!”);
printf(“\n\n”);
return 0;
}

La versione in C++ .
Ecco come cambia in C++ (che spesso è più intuitivo per i ragazzi perché non usa i segnaposto come %d), ecco lo stesso programma:
#include <iostream>
using namespace std;
int main()
{
/* SEZIONE DICHIARATIVA */
int tempo = 10;
/* SEZIONE ESECUTIVA */
cout << “\n Studio il linguaggio C++ da “;
cout << tempo; // In C++ basta “mandare” la variabile al cout
cout << ” minuti”;
cout << “\n ed ho gia’ scritto un programma!” << endl;
system(“PAUSE”);
return 0;
}

Le Variabili: Le “Scatole” della Memoria
Per poter elaborare dati, il computer ha bisogno di conservarli in posti specifici chiamati variabili. Immagina una variabile come una scatola con un’etichetta sopra: per crearla dobbiamo dire al computer che tipo di oggetto vogliamo metterci dentro e che nome dare alla scatola.
Analizziamo gli esempi della tabella:
1. I Numeri Interi (int)
int variabile1;
int num1, num2;
La parola int (che sta per integer) serve a contenere numeri interi, cioè senza virgola (come 5, -10 o 1000).
-
Possiamo dichiarare una variabile alla volta o più variabili insieme separate da una virgola (come nel caso di
num1, num2), risparmiando tempo se sono dello stesso tipo.
2. I Caratteri (char)
char inizialeDelCognome;
char rosso, verde;
La parola char (character) serve per memorizzare un singolo carattere alfanumerico (una lettera come ‘A’, un simbolo come ‘!’ o un numero visto come testo).
-
Nota come i nomi delle variabili (es.
inizialeDelCognome) seguano la regola del “Camel Case”: la prima lettera minuscola e le altre iniziali maiuscole per renderle leggibili.
3. I Valori Vero/Falso (bool)
bool avanti, finito;
Le variabili bool (boolean) sono le più semplici: possono contenere solo due stati: vero (true) o falso (false). In informatica sono fondamentali per prendere decisioni (ad esempio: “La gara è finita? Sì o No”).
4. I Numeri con la Virgola (float)
float reale;
Se dobbiamo memorizzare un prezzo, una temperatura o una media scolastica, usiamo float (floating point). Questo tipo di dato permette di gestire i numeri reali, ovvero quelli con la virgola.
Regole d’oro :
Due piccoli suggerimenti:
-
Il Punto e Virgola: in C e C++ ogni dichiarazione deve finire con
;. È come il punto fermo alla fine di una frase: dice al compilatore che l’istruzione è conclusa. -
Nomi Significativi: Evita di chiamare le variabili
a,b,c. È molto meglio usare nomi comeprezzoTotaleovotoInformatica. Il codice sarà molto più facile da capire quando lo rileggerai dopo una settimana!
Per ogni variabile seguiremo i tre passaggi fondamentali: Dichiarazione, Assegnazione e Stampa.
C
#include <stdio.h>
#include <stdbool.h> // Necessaria per usare il tipo bool in C
int main() {
/* 1. DICHIARAZIONE DELLE VARIABILI */
int numeroIntero;
float numeroDecimale;
char carattere;
bool valoreLogico;
/* 2. ASSEGNAZIONE DEI VALORI */
numeroIntero = 42;
numeroDecimale = 15.50;
carattere = 'G'; // I caratteri vanno tra apici singoli ' '
valoreLogico = true; // Può essere true (1) o false (0)
/* 3. SEZIONE ESECUTIVA (STAMPA A SCHERMO) */
printf("--- ESEMPI DI VARIABILI IN C ---\n\n");
// %d per gli interi
printf("Intero (int): %d\n", numeroIntero);
// %.2f per i decimali (limita a 2 cifre dopo la virgola)
printf("Decimale (float): %.2f\n", numeroDecimale);
// %c per i singoli caratteri
printf("Carattere (char): %c\n", carattere);
// %d per i booleani (il C stampa 1 per vero e 0 per falso)
printf("Booleano (bool): %d\n", valoreLogico);
printf("\n--------------------------------\n");
return 0;
}
I punti chiave
-
I Segnaposto (
%): In C, laprintfha bisogno di sapere che tipo di “scatola” sta aprendo.-
%d= Decimal (per gli interi). -
%f= Float (per i numeri con la virgola). -
%c= Char (per i caratteri).
-
-
La libreria
<stdbool.h>: È importante sapere che il linguaggio C originale non aveva il tipobool. Per usarlo, bisogna aggiungere quella riga di#includeall’inizio, altrimenti il compilatore darà errore. -
Apici per i caratteri: Molti studenti sbagliano usando le virgolette doppie
" "per i caratteri. Spiega bene che:-
'A'(apici singoli) = Un solo carattere. -
"Ciao"(virgolette doppie) = Una frase (stringa).
-
Esercizio: Prova a cambiare i valori assegnati (ad esempio metti il tuo numero preferito o l’iniziale del tuo nome) e riesegui il programma per vedere come cambia l’output!
Variante in C++
#include <iostream>
using namespace std;
int main() {
/* 1. DICHIARAZIONE DELLE VARIABILI */
int numeroIntero;
float numeroDecimale;
char carattere;
bool valoreLogico;
/* 2. ASSEGNAZIONE DEI VALORI */
numeroIntero = 42;
numeroDecimale = 15.5; // Senza iomanip, verrà stampato come 15.5
carattere = ‘G’;
valoreLogico = true;
/* 3. SEZIONE ESECUTIVA (STAMPA A SCHERMO) */
cout << “— ESEMPI DI VARIABILI IN C++ (SOLO IOSTREAM) —” << endl << endl;
// Stampiamo ogni tipo di dato usando le “frecce” <<
cout << “Intero (int): ” << numeroIntero << endl;
cout << “Decimale (float): ” << numeroDecimale << endl;
cout << “Carattere (char): ” << carattere << endl;
// Il booleano di default stampa 1 per true e 0 per false
cout << “Booleano (bool): ” << valoreLogico << endl;
cout << “\n————————————————-” << endl;
return 0;
}

