Aula 1 - Laboratório: Primeiro Contato com C

Lógica de Programação e Algoritmos • Prof. Me. William Tenório

Sobre esta aula

Até agora estudamos algoritmos de forma geral, praticamos com fluxogramas e conhecemos a sintaxe básica da linguagem C, além de variáveis e tipos de dados. Nesta aula de laboratório você terá o primeiro contato prático com a linguagem: vamos rodar códigos prontos, observar o que acontece e, principalmente, alterar partes desses códigos para entender como cada mudança afeta o resultado.

Você não precisa entender cada detalhe agora. O objetivo é se familiarizar com a estrutura de um programa em C, ver ele executando de verdade e ganhar confiança antes de estudarmos printf e scanf em profundidade nas próximas aulas.

Como executar: OnlineGDB

Para rodar os códigos desta aula sem precisar instalar nada no computador, vamos usar o OnlineGDB, um compilador de C online.

  1. Acesse onlinegdb.com/online_c_compiler.
  2. Apague o código de exemplo que já vem escrito na tela.
  3. Copie um dos códigos abaixo e cole no lugar.
  4. Clique no botão Run (ou pressione o atalho indicado no próprio site) para compilar e executar.
  5. Observe a saída do programa na área inferior/direita da tela.
Dica Sempre que alterar o código, clique em Run novamente para ver o novo resultado. Se aparecer uma mensagem de erro, leia com calma: geralmente ela aponta a linha exata do problema.

Exemplo 1 — Olá, Mundo!

O programa mais clássico de qualquer linguagem: exibir uma mensagem na tela.

#include <stdio.h>

int main() {
    printf("Ola, mundo!\n");
    printf("Estou aprendendo a programar em C.\n");

    return 0;
}

Desafios:

Exemplo 2 — Variáveis e tipos

Aqui declaramos variáveis de tipos diferentes e mostramos seus valores na tela.

#include <stdio.h>

int main() {
    int idade = 20;
    float altura = 1.75;
    char inicial = 'W';

    printf("Idade: %d anos\n", idade);
    printf("Altura: %.2f metros\n", altura);
    printf("Inicial do nome: %c\n", inicial);

    return 0;
}

Desafios:

Exemplo 3 — Operações aritméticas

Um programa que guarda dois números em variáveis e calcula as quatro operações básicas. Note que o resultado de cada conta é armazenado em uma variável antes de ser exibido — só depois usamos o printf para mostrar o que está guardado nela.

#include <stdio.h>

int main() {
    int a = 10;
    int b = 3;

    int soma = a + b;
    int subtracao = a - b;
    int multiplicacao = a * b;
    int divisao = a / b;

    printf("a + b = %d\n", soma);
    printf("a - b = %d\n", subtracao);
    printf("a * b = %d\n", multiplicacao);
    printf("a / b = %d\n", divisao);

    return 0;
}

Desafios:

Exemplo 4 — Lendo um valor digitado (scanf)

Esse programa pede um número para o usuário digitar e depois mostra o valor recebido. Ainda vamos estudar scanf em detalhe, mas já dá para perceber o padrão: ele guarda o que você digita dentro de uma variável.

#include <stdio.h>

int main() {
    int idade;

    printf("Digite sua idade: ");
    scanf("%d", &idade);

    printf("Voce digitou: %d anos\n", idade);

    return 0;
}

Desafios:

Exemplo 5 — Comparando dois números (if/else)

Um primeiro contato com decisão em C: o programa compara dois números e diz qual é o maior.

#include <stdio.h>

int main() {
    int a = 7;
    int b = 12;

    if (a > b) {
        printf("%d e maior que %d\n", a, b);
    } else {
        printf("%d e maior ou igual a %d\n", b, a);
    }

    return 0;
}

Desafios:

Exemplo 6 — Par ou ímpar?

Um programa que verifica se um número é par ou ímpar e exibe o resultado.

#include <stdio.h>

int main() {
    int numero = 8;
    int resto = numero % 2;

    if (resto == 0) {
        printf("%d e par\n", numero);
    } else {
        printf("%d e impar\n", numero);
    }

    return 0;
}

Desafios:

Pense e responda:

Exemplo extra — Imprimindo de 1 a 1000

Já sabemos imprimir valores na tela com printf. Para exibir os números de 1 a 10, daria para escrever dez linhas de printf, uma para cada número — trabalhoso, mas possível. Agora pense: e se precisássemos exibir os números de 1 a 1000? Escrever mil linhas de printf não é uma opção razoável.

É exatamente para isso que existem as estruturas de repetição (ou laços): elas permitem repetir um mesmo bloco de código várias vezes, mudando apenas o valor de uma variável a cada repetição. O exemplo abaixo usa um laço for para imprimir os números de 1 a 1000 com apenas um printf.

#include <stdio.h>

int main() {
    int i;

    for (i = 1; i <= 1000; i++) {
        printf("%d\n", i);
    }

    return 0;
}

Desafios:

Para refletir

Depois de testar os exemplos e seus desafios, pense: em qual momento o programa mostra algo na tela? Em qual momento ele espera algo do usuário? Essas duas ideias — saída e entrada — vão ser aprofundadas na próxima aula com printf e scanf. Guarde também a ideia de repetição do último exemplo: ela vai voltar quando estudarmos laços com mais calma.