C: Variabili e Input Standard

Introduzione a C: variabili e input standard


Il linguaggio C è uno dei più diffusi e potenti linguaggi di programmazione, ma anche uno dei più complessi e articolati. Per scrivere programmi in C, è necessario conoscere bene i tipi di variabile che si possono usare, e come leggere i dati da standard input, ovvero da tastiera o da file.

Tipi di variabili in C

Tipo di VariabileDimensione (byte)Range di Valori
char1-128 a 127 o 0 a 255
unsigned char10 a 255
signed char1-128 a 127
int2 o 4-32,768 a 32,767 o -2,147,483,648 a 2,147,483,647
unsigned int2 o 40 a 65,535 o 0 a 4,294,967,295
short2-32,768 a 32,767
unsigned short20 a 65,535
long4 o 8-2,147,483,648 a 2,147,483,647 o -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807
unsigned long4 o 80 a 4,294,967,295 o 0 a 18,446,744,073,709,551,615
float4±1.2E-38 a ±3.4E+38 fino a sei cifre decimali
double8±2.3E-308 a ±1.7E+308 fino a quindici cifre decimali
long double8 o più (dipende dal sistema)almeno ±2.3E-308 a ±1.7E+308 fino a quindici cifre decimali
Tabella 1: Tipi di variabili in C, dimensione in memoria e range di valori. Questa tabella fornisce una panoramica dei diversi tipi di variabili disponibili nel linguaggio di programmazione C, insieme alla loro dimensione in memoria e al range di valori che possono rappresentare. Si prega di notare che la dimensione dei tipi di variabili può variare in base al sistema operativo e all’architettura del processore

Uso delle variabili in C: variabili e input standard


Per dichiarare una variabile in C, bisogna specificare il suo tipo e il suo nome, eventualmente seguiti da un valore iniziale. Per esempio:

int x = 10; // dichiara una variabile di tipo intero e le assegna il valore 10
char c = 'a'; // dichiara una variabile di tipo carattere e le assegna il valore 'a'
double d; // dichiara una variabile di tipo reale senza assegnarle un valore

Il tipo di una variabile determina la quantità di memoria che essa occupa, il range di valori che essa può assumere, e le operazioni che si possono fare su di essa. In C, i tipi principali sono:

  • int: per rappresentare numeri interi
  • char: per rappresentare caratteri alfanumerici
  • float: per rappresentare numeri reali a precisione singola
  • double: per rappresentare numeri reali a precisione doppia

Esistono anche altri tipi derivati, come gli array, le stringhe, le strutture e i puntatori, che vedremo nelle prossime lezioni.

Per leggere i dati da standard input, si usa la funzione scanf, che ha la seguente sintassi:

scanf(formato, indirizzi);

dove formato è una stringa che specifica il tipo dei dati da leggere, e indirizzi sono gli indirizzi delle variabili dove memorizzare i dati letti. Per esempio:

int x;
char c;
scanf("%d %c", &x, &c); // legge un intero e un carattere e li memorizza nelle variabili x e c

La funzione scanf restituisce il numero di dati letti correttamente. Se ci sono errori di input, restituisce un valore negativo. Per gestire gli errori di input, si può usare un’istruzione condizionale if, come nel seguente esempio:

int x;
if (scanf("%d", &x) != 1) {
    printf("Errore di input\n");
    exit(1); // termina il programma con codice di errore 1
}

Esempio:

#include <stdio.h>

int main() {
    int num1, num2, somma;

    printf("Inserisci il primo numero: ");
    scanf("%d", &num1);

    printf("Inserisci il secondo numero: ");
    scanf("%d", &num2);

    somma = num1 + num2;

    printf("La somma di %d e %d è %d\n", num1, num2, somma);

    return 0;
}

Link utili

Lezione introduttiva al linguaggio C

La mia repository GitHub sul linguaggio C

Pubblicato da Carlo Contardi

Carlo Contardi, docente di informatica e sviluppatore Full Stack, condivide la sua passione per la programmazione e l’informatica attraverso il suo blog Space Coding. Offre preziosi consigli e soluzioni pratiche a chi vuole imparare a programmare o migliorare le proprie abilità. 🚀👨‍💻

Translate »