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
| Tipo | Descricao | Formatador |
|---|---|---|
int | Inteiro | %d / %i |
float | Decimal simples | %f |
double | Decimal dupla | %lf |
char | Caractere | %c |
char[] | String | %s |
void | Sem 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