Linguagem C

Guia direto dos fundamentos ate modularizacao com bibliotecas proprias.

Estrutura basica e tipos primitivos

Hello World

#include <stdio.h>
#include <locale.h>

int main() {
  setlocale(LC_ALL, "Portuguese");
  printf("Ola, Mundo!\n");
  return 0;
}

Tipos e formatadores

TipoDescricaoFormatador
intInteiro%d / %i
floatDecimal simples%f
doubleDecimal dupla%lf
charCaractere%c
char[]String%s
voidSem retorno-

Operadores

Aritmeticos e atribuicao

  • +, -, *, /, %
  • =, +=, -=, *=, /=
  • Incremento/decremento: i++, ++i, i--

Relacionais e logicos

  • ==, !=, >, <
  • && (AND), || (OR), ! (NOT)

Condicionais e loops

switch
switch (opcao) {
  case 1:
    senhaCaixa();
    break;
  case 2:
    senhaGerente();
    break;
  default:
    printf("Opcao invalida.\n");
    break;
}
do-while
do {
  scanf("%d", &opcao);
  // processa opcao
} while (opcao != 5);

Funcoes, ponteiros e cast

Funcoes

float calcularTotal(float preco, int qtd) {
  return preco * qtd;
}

Se a funcao vier depois do main, declare o prototipo antes.

Ponteiros e conversao

int numero = 10;
int *ponteiro = №

float resultado = (float)10 / 3;

Structs, arquivos e bibliotecas

Struct

typedef struct {
  int id;
  char nome[100];
  float preco;
} Produto;

Arquivo

FILE *arquivo = fopen("dados.txt", "w");
if (arquivo) {
  fprintf(arquivo, "%d;%s\n", id, nome);
  fclose(arquivo);
}

Header guards

#ifndef HORTIFRUTILIB_H
#define HORTIFRUTILIB_H

// codigo da biblioteca

#endif