Guia Completo de Programação em Linguagem C
Introdução à Linguagem C
A linguagem C possui características de "alto nível" e "baixo nível". Criada na década de 70 por Dennis Ritchie, foi implementada inicialmente em um DEC PDP-11 rodando UNIX. O C deriva da linguagem B (de Ken Thompson), que por sua vez veio da BCPL.
É uma linguagem genérica utilizada para sistemas operacionais, compiladores, automação industrial e diversas aplicações científicas. O C é Case Sensitive: maiúsculas e minúsculas fazem diferença (ex: soma é diferente de Soma).
Palavras Reservadas do Padrão ANSI C
O padrão ANSI C define 32 palavras reservadas:
- auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while.
Estrutura de um Programa em C
Todo programa em C deve conter uma função main(), que é o ponto de entrada da execução. Comentários são delimitados por /* ... */ e são ignorados pelo compilador.
#include <stdio.h>
int main() {
printf("Olá! Eu estou vivo!\n");
return 0;
}
Variáveis e Tipos de Dados
Identificadores (nomes de variáveis) devem começar com letra ou sublinhado. Tipos comuns incluem:
int: Números inteiros.float: Números reais (ponto flutuante).char: Caracteres (armazenados como valores ASCII).
Entrada e Saída (I/O)
As funções printf() e scanf() são fundamentais:
printf(): Exibe dados na tela.scanf(): Lê dados do teclado. Nota: Ao usar scanf, utilize o operador&antes do nome da variável.
Estruturas de Controle
O comando if avalia condições. O C considera 0 como falso e qualquer valor diferente de zero como verdadeiro.
if (x == 20) {
printf("Igual a vinte");
} else {
printf("Diferente de vinte");
}
Operadores Lógicos
!(NOT),&&(AND),||(OR).
Funções
Funções permitem modularizar o código. A forma geral é:
tipo_de_retorno nome_da_funcao (lista_de_argumentos) {
// código
return valor;
}
Manipulação de Strings
Strings em C são vetores de caracteres terminados pelo caractere nulo '\0'. A função gets() pode ser usada para leitura, mas deve-se ter cuidado com o tamanho do buffer.