Compilador C Online

Execute e debug code C direto no navegador com uma CLI simulada, sem instalação. Ideal para testar e aprender programação C.

🚀 365,359 execuções totais (45,069 este mês)

Udemy Logo 📚 Todo mundo está aprendendo C/C++ – e você?

Loading...

🧩 Sobre este executor de C online

O CodeUtility C Executor permite escrever e executar programas em C diretamente no seu navegador — sem instalação ou configuração de compilador. Ele é alimentado por um sandbox seguro que suporta padrões reais de C, incluindo C89, C99, C11 e a versão mais recente.

Esta ferramenta usa um compilador C real rodando na nuvem para compilar e executar seu código como em um ambiente nativo. Você pode facilmente testar trechos, aprender a sintaxe ou praticar a escrita de programas completos com entrada e saída.

Foi projetado para ajudar estudantes e desenvolvedores a experimentar rapidamente os fundamentos de C — como tipos de dados, ponteiros, laços, funções, arrays e estruturas — sem precisar instalar nenhum compilador ou IDE.

⚙️ Como usar esta ferramenta

  • 1. Selecione uma versão de C (C89, C99, C11 ou Mais recente) no menu suspenso no topo do editor.
  • 2. Escreva ou cole seu código C na área do editor.
  • 3. Clique em Executar para compilar e executar seu programa — a saída aparecerá no console abaixo.
  • 4. Durante a execução, aparece um botão Parar — clique nele para interromper a execução antes do término.
  • 5. Use Corrigir código para corrigir automaticamente pequenos problemas de formatação ou sintaxe.
  • 6. Após corrigir, um botão Correções aparece — clique para revisar as correções recentes.
  • 7. Use o botão Carregar para importar código de um arquivo local, ou o botão Baixar para salvar seu código atual do editor.
  • 8. Cada execução roda por até 20 segundos antes de terminar automaticamente.

🧠 Dica: Este ambiente executa código C real com segurança no seu navegador — sem login ou configuração local.

💡 Noções básicas de C e exemplos que você pode testar acima

1. Declarando variáveis e constantes

C exige que você declare o tipo de cada variável. Use #define ou const para definir valores somente leitura.

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

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

2. Condicionais (if / switch)

Use if, else if e switch para tomada de decisão.

int x = 2;
if (x == 1) {
    printf("Um\n");
} else if (x == 2) {
    printf("Dois\n");
} else {
    printf("Outro\n");
}

switch (x) {
    case 1:
        printf("Um\n");
        break;
    case 2:
        printf("Dois\n");
        break;
    default:
        printf("Outro\n");
}

3. Laços

Use for, while e do-while para repetição.

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

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

4. Arrays

Arrays armazenam vários elementos do mesmo tipo.

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

5. Structs

struct permite agrupar dados relacionados.

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

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

6. Entrada/Saída no console

Use printf e scanf para E/S no console.

char name[50];
printf("Digite seu nome: ");
scanf("%s", name);
printf("Olá, %s\n", name);

7. Funções

Funções encapsulam lógica reutilizável. Declare tipo de retorno, nome e parâmetros.

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

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

8. Ponteiros

Use ponteiros para armazenar endereços de memória e manipular dados indiretamente.

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

printf("Valor de x: %d\n", x);
printf("Endereço de x: %p\n", ptr);
printf("Valor via ponteiro: %d\n", *ptr);

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

9. E/S de arquivo

Use fopen, fprintf, fscanf e fclose para operações com arquivos.

FILE* file = fopen("file.txt", "w");
fprintf(file, "Olá, arquivo");
fclose(file);

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

10. Manipulação de strings

Use funções de <string.h> como strlen, strcpy e strcmp.

#include <string.h>

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

strcpy(copy, text);
printf("Comprimento: %lu\n", strlen(copy));
printf("Comparação: %d\n", strcmp(copy, "Hello"));

11. Memória dinâmica

Use malloc e free para alocação no 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);