Curso de Programação em C

Jul 12, 2024

Giraffe Academy - Curso de Programação em C

Introdução ao Curso

  • Instrutor: Mike
  • Objetivo: Ensinar todos os conceitos necessários para começar a programar em C
  • Importância: C é uma linguagem fundamental e base para muitas outras linguagens modernas.

Configuração do Ambiente

Programas Necessários

  1. Editor de Texto

    • Pode ser qualquer editor de texto.
    • Recomenda-se um IDE (Ambiente de Desenvolvimento Integrado) como o Code::Blocks.
  2. Compilador C

    • Traduza instruções em linguagem C para linguagem de máquina.
    • Code::Blocks com MinGW é uma boa opção pois já vem com o compilador incluído.

Passos de Configuração

  1. Download e Instalação do Code::Blocks

    • Acesse http://www.codeblocks.org
    • Faça download da versão com “MinGW Setup” para Windows.
    • Instale seguindo as configurações padrão.
  2. Configuração no Mac

    • Utilize o terminal para verificar se já possui um compilador: cc -v
    • Caso não tenha, instale com: xcode-select --install

Criando e Executando Programas em C

Estrutura Básica de um Programa C

  • Editor de Texto: Use o Code::Blocks para criar novos projetos e arquivos.
  • Função main: Ponto de entrada do programa.
  • Exemplo:
    #include <stdio.h>
    int main() {
        printf("Hello, World!\n");
        return 0;
    }
    

Compilação e Execução

  1. Build: Transforma o código C em código de máquina.
  2. Run: Executa o programa compilado.
  3. Code::Blocks: Use o botão “build and run” (ícone de engrenagem verde).

Conceitos Básicos de Programação

Variáveis

  • Definição: Contêineres para armazenar dados.
  • Tipos de Dados:
    • Inteiros (int)
    • Pontos flutuantes (double)
    • Caracteres (char)
    • Strings (conjuntos de caracteres)
  • Exemplo:
    int age = 30;
    double gpa = 3.8;
    char grade = 'A';
    char name[] = "John";
    

Condicionais e Operadores

  • If Statements: Estruturas de decisão.
  • Comparadores: ==, !=, >, <, >=, <=
  • Operadores Lógicos: && (e), || (ou)
  • Exemplo:
    if (age > 18) {
        printf("Adult\n");
    } else {
        printf("Minor\n");
    }
    

Loops

  • While Loop: Executa enquanto a condição é verdadeira.
  • Do-While Loop: Executa pelo menos uma vez.
  • For Loop: Usa uma variável de indexação.
  • Exemplo:
    for (int i = 0; i < 5; i++) {
        printf("Number: %d\n", i);
    }
    

Funções

  • Definição: Blocos de código que executam tarefas específicas.
  • Criação:
    void sayHi() {
        printf("Hi!\n");
    }
    int main() {
        sayHi();
        return 0;
    }
    
  • Parâmetros e Retorno:
    int sum(int a, int b) {
        return a + b;
    }
    

Structs

  • Definição: Conjuntos de variáveis sob um mesmo nome
  • Uso:
    struct Student {
        char name[50];
        int age;
        double gpa;
    };
    struct Student student1;
    student1.age = 20;
    

Arrays e Matrizes

  • Arrays: Coleções de variáveis do mesmo tipo.
  • Matrizes (arrays 2D): Arrays de arrays.
  • Exemplo:
    int numbers[3] = {1, 2, 3};
    int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
    

Pointers (ponteiros)

  • Definição: Variáveis que armazenam endereços de memória.
  • Uso:
    int age = 30;
    int *pAge = &age;
    printf("Memory address: %p\n", pAge);
    

Dereferencing (Desreferênciação)

  • Obtenção do valor na memória:
    printf("Value: %d\n", *pAge);
    

Entrada e Saída de Arquivos

Escrita em Arquivos

  • Abertura e Fechamento:
    FILE *fp = fopen("file.txt", "w");
    fclose(fp);
    
  • Escrita:
    fprintf(fp, "Hello, World!\n");
    

Leitura de Arquivos

  • Leitura Linha por Linha:
    char line[255];
    FILE *fp = fopen("file.txt", "r");
    while (fgets(line, sizeof(line), fp)) {
        printf("%s", line);
    }
    fclose(fp);