Compilatore C Online – Esegui e Testa Codice C nel Tuo Browser

Usa il nostro compilatore C online gratuito per scrivere, compilare ed eseguire codice C direttamente nel tuo browser. Perfetto per studenti e sviluppatori di C — nessuna configurazione richiesta.

🚀 2 esecuzioni totali (2 questo mese)

✨ I corsi di C/C++ più amati dagli studenti

Loading...

💡 Guida ai Fondamenti di C per Principianti

1. Dichiarare Variabili e Costanti

C richiede di dichiarare il tipo di ogni variabile. Usa #define o const per definire valori di sola lettura.

int age = 30;
double pi = 3.14159;
char grade = 'A';
char name[] = "Alice";
bool isActive = 1; // vero

// Costanti
#define MAX_USERS 100
const char* COMPANY = "CodeUtility";

2. Condizionali (if / switch)

Usa if, else if, e switch per prendere decisioni.

int x = 2;
if (x == 1) {
    printf("Uno\n");
} else if (x == 2) {
    printf("Due\n");
} else {
    printf("Altro\n");
}

switch (x) {
    case 1:
        printf("Uno\n");
        break;
    case 2:
        printf("Due\n");
        break;
    default:
        printf("Altro\n");
}

3. Cicli

Usa for, while, e do-while per la ripetizione.

for (int i = 0; i < 3; i++) {
    printf("%d\n", i);
}

int n = 3;
while (n > 0) {
    printf("%d\n", n);
    n--;
}

4. Array

Gli array memorizzano più elementi dello stesso tipo.

int numbers[3] = {10, 20, 30};
printf("%d\n", numbers[1]);

5. Strutture

struct ti permette di raggruppare dati correlati.

struct Person {
    char name[50];
    int age;
};

struct Person p = {"Alice", 30};
printf("%s ha %d anni\n", p.name, p.age);

6. Input/Output da Console

Usa printf e scanf per I/O da console.

char name[50];
printf("Inserisci il tuo nome: ");
scanf("%s", name);
printf("Ciao, %s\n", name);

7. Funzioni

Le funzioni incapsulano la logica riutilizzabile. Dichiarare tipo di ritorno, nome e parametri.

int add(int a, int b) {
    return a + b;
}

printf("%d\n", add(3, 4));

8. Puntatori

Usa i puntatori per memorizzare indirizzi di memoria e manipolare dati indirettamente.

int x = 10;
int* ptr = &x;

printf("Valore di x: %d\n", x);
printf("Indirizzo di x: %p\n", ptr);
printf("Valore dal puntatore: %d\n", *ptr);

*ptr = 20;
printf("x aggiornato: %d\n", x);

9. Input/Output da File

Usa fopen, fprintf, fscanf, e fclose per operazioni sui file.

FILE* file = fopen("file.txt", "w");
fprintf(file, "Ciao File");
fclose(file);

char line[100];
file = fopen("file.txt", "r");
fgets(line, sizeof(line), file);
printf("%s", line);
fclose(file);

10. Gestione delle Stringhe

Usa funzioni da <string.h> come strlen, strcpy, e strcmp.

#include <string.h>

char text[] = "Ciao";
char copy[10];

strcpy(copy, text);
printf("Lunghezza: %lu\n", strlen(copy));
printf("Confronta: %d\n", strcmp(copy, "Ciao"));

11. Memoria Dinamica

Usa malloc e free per l'allocazione sullo heap.

int* nums = (int*) malloc(3 * sizeof(int));
nums[0] = 1; nums[1] = 2; nums[2] = 3;

for (int i = 0; i < 3; i++) {
    printf("%d ", nums[i]);
}

free(nums);