0Pricing
C Academy · Lezione

Caratteri come interi

Valori ASCII

Caratteri come interi è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C Academy include 4 lezioni in totale.

I caratteri sono numeri

In C, un char è semplicemente un intero piccolo. Ogni carattere ha un valore numerico definito dalla tabella ASCII.

La lettera 'A' viene memorizzata come il numero 65, 'B' è 66 e così via.

#include <stdio.h>

int main(void) {
    char c = 'A';
    printf("The character %c has value %d\n", c, c);
    return 0;
}

Stampare il valore ASCII

Usi lo specificatore di formato %d per stampare un char come valore intero e %c per stamparlo come carattere.

La stessa variabile può essere visualizzata in entrambi i modi.

#include <stdio.h>

int main(void) {
    char letter = 'z';
    printf("As char: %c\n", letter);
    printf("As int:  %d\n", letter);
    return 0;
}

Anche le cifre hanno codici

Il carattere '0' non è il numero 0. Ha il valore ASCII 48.

I caratteri delle cifre da '0' a '9' occupano in ordine i codici da 48 a 57.

#include <stdio.h>

int main(void) {
    printf("'0' = %d\n", '0');
    printf("'9' = %d\n", '9');
    return 0;
}

Conversione da char a cifra

Poiché le cifre sono contigue, può convertire un carattere cifra nel relativo valore numerico sottraendo '0'.

'7' - '0' è uguale a 7.

#include <stdio.h>

int main(void) {
    char d = '7';
    int value = d - '0';
    printf("The digit value is %d\n", value);
    return 0;
}

Aritmetica sui caratteri

Poiché i char sono interi, è possibile eseguire calcoli su di essi. Sommando 1 a 'A' si ottiene il codice di 'B'.

Questo funziona perché le lettere dell'alfabeto sono contigue in ASCII.

#include <stdio.h>

int main(void) {
    char c = 'A';
    char next = c + 1;
    printf("After A comes %c\n", next);
    return 0;
}

Scorrere l'alfabeto

È possibile scorrere da 'a' a 'z' usando un char come contatore del ciclo.

Il ciclo confronta i codici dei caratteri proprio come se fossero numeri.

#include <stdio.h>

int main(void) {
    for (char c = 'a'; c <= 'z'; c++) {
        printf("%c", c);
    }
    printf("\n");
    return 0;
}

La differenza tra maiuscole e minuscole

In ASCII, le lettere maiuscole e minuscole distano 32 posizioni. 'a' corrisponde a 97 e 'A' a 65.

Quindi 'a' - 'A' è uguale a 32.

#include <stdio.h>

int main(void) {
    printf("'A' = %d\n", 'A');
    printf("'a' = %d\n", 'a');
    printf("Gap = %d\n", 'a' - 'A');
    return 0;
}

Conversione manuale tra maiuscole e minuscole

Sapendo che la differenza è 32, è possibile convertire le lettere minuscole in maiuscole sottraendo 32.

È esattamente ciò che toupper esegue internamente.

#include <stdio.h>

int main(void) {
    char lower = 'm';
    char upper = lower - 32;
    printf("%c becomes %c\n", lower, upper);
    return 0;
}

Caratteri speciali

Anche i caratteri di controllo hanno un codice. Il carattere di nuova riga '\n' corrisponde a 10, il carattere di tabulazione '\t' a 9 e il terminatore nullo '\0' a 0.

Il carattere spazio corrisponde a 32.

#include <stdio.h>

int main(void) {
    printf("newline = %d\n", '\n');
    printf("tab     = %d\n", '\t');
    printf("space   = %d\n", ' ');
    return 0;
}

char per piccoli numeri

Un char contiene in genere valori compresi tra -128 e 127 (con segno) oppure tra 0 e 255 (senza segno).

È possibile memorizzare direttamente piccoli interi in un char.

#include <stdio.h>

int main(void) {
    char small = 100;
    small = small + 5;
    printf("small = %d\n", small);
    return 0;
}

Creare uno spostamento di Cesare

Combinando queste idee, un semplice cifrario di Cesare sposta ogni lettera di una quantità fissa usando l'aritmetica dei caratteri.

Qui spostiamo una lettera in avanti di 3 posizioni.

#include <stdio.h>

int main(void) {
    char c = 'x';
    char shifted = 'a' + (c - 'a' + 3) % 26;
    printf("%c shifted by 3 = %c\n", c, shifted);
    return 0;
}

Verifica rapida

Verifichi la propria comprensione dei caratteri come interi.

Riepilogo

In C ha imparato che:

  • Un char è un piccolo intero che contiene un codice ASCII.
  • %c lo stampa come carattere, mentre %d lo stampa come numero.
  • Le cifre '0'-'9' e le lettere sono contigue, consentendo di eseguire operazioni aritmetiche.
  • c - '0' converte un carattere cifra nel relativo valore e la differenza tra maiuscole e minuscole è 32.

Domande Frequenti

La lezione «Caratteri come interi» è gratuita?

Sì — il testo completo di «Caratteri come interi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C Academy, passa a CoddyKit PRO. Il corso C Academy include 4 lezioni in totale.

Cosa imparerò in «Caratteri come interi»?

Valori ASCII Eserciti C Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C Academy?

Non è richiesta alcuna esperienza precedente. C Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Caratteri come interi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C Academy?

Sì. Ogni lezione C Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Caratteri come interi
  2. La libreria ctype
  3. Leggere i caratteri
  4. Creare utility per i caratteri
← Torna a C Academy