Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Próxima revisão | Revisão anterior | ||
| c:introducao_a_linguagem_c [2023/08/01 17:00] – criada maziero | c:introducao_a_linguagem_c [2023/09/07 20:08] (atual) – [Estrutura de um programa em C] maziero | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| + | ====== Introdução à programação em C ====== | ||
| + | Este material foi produzido a partir de diversas fontes, entre elas as transparências do prof. [[http:// | ||
| + | |||
| + | ===== Um breve histórico ===== | ||
| + | |||
| + | A linguagem C foi criada por [[https:// | ||
| + | |||
| + | Em 1978 foi publicado o famoso livro [[https:// | ||
| + | |||
| + | Em 1989 o padrão C foi oficializado pelo ANSI (//American National Standards Institute// | ||
| + | |||
| + | Em 1999 a ISO (// | ||
| + | |||
| + | Apesar de sua idade, C continua sendo uma das linguagens mais utilizadas hoje em dia ([[https:// | ||
| + | |||
| + | ===== Características da linguagem ===== | ||
| + | |||
| + | Algumas das principais características da linguagem C são: | ||
| + | |||
| + | * linguagem procedural, modular e estruturada, | ||
| + | * geralmente é compilada para o código de máquina da plataforma alvo, gerando código compacto, eficiente e sem necessidade de um //runtime// de execução sofisticado. | ||
| + | * Possui facilidades para acesso de baixo nível à memória, registradores e portas de E/S. | ||
| + | * Extremamente portável, pode executar em plataformas de microcontroladores a supercomputadores. | ||
| + | * É muito utilizada para escrever software de sistema, como sistemas operacionais, | ||
| + | * A maior parte das funcionalidades da linguagem provém de vastas bibliotecas, | ||
| + | |||
| + | ===== Exemplo de um programa em C ===== | ||
| + | |||
| + | O código a seguir traz um '' | ||
| + | |||
| + | <code c hello.c> | ||
| + | /* Este é um exemplo simples de código em C, | ||
| + | que escreve a string ' | ||
| + | | ||
| + | |||
| + | #include < | ||
| + | |||
| + | int main () // função principal | ||
| + | { | ||
| + | printf (" | ||
| + | return (0) ; // retorno (fim) da função | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Algumas observações importantes sobre esse código: | ||
| + | |||
| + | * A linha ''# | ||
| + | * todo programa em C inicia sua execução pela função '' | ||
| + | * Os blocos de código são delimitados por chaves ('' | ||
| + | * Por ser uma função, '' | ||
| + | * Comentários são iniciados pelos caracteres '' | ||
| + | * A endentação não é obrigatória, | ||
| + | |||
| + | Para poder executar o código acima, ele deve ser salvo em um arquivo ('' | ||
| + | |||
| + | < | ||
| + | $ cc hello.c -o hello | ||
| + | $ ./hello | ||
| + | Hello, world! | ||
| + | </ | ||
| + | |||
| + | ===== Estrutura de um programa em C ===== | ||
| + | |||
| + | Um programa em C é composto basicamente das seguintes partes: | ||
| + | |||
| + | * Comandos do preprocessador (linhas iniciando com ''#'' | ||
| + | * Comentários | ||
| + | * Definição de funções | ||
| + | * definição de variáveis e tipos | ||
| + | * Comandos e expressões | ||
| + | |||
| + | Mais um exemplo simples, para concluir: | ||
| + | |||
| + | <code c soma.c> | ||
| + | /* | ||
| + | Calcula a soma e a média de dois inteiros, | ||
| + | escrevendo o resultado na saída padrão. | ||
| + | */ | ||
| + | |||
| + | #include < | ||
| + | |||
| + | int main () | ||
| + | { | ||
| + | int a, b, soma ; | ||
| + | float media ; | ||
| + | | ||
| + | a = 10 ; | ||
| + | b = 43 ; | ||
| + | |||
| + | soma = a + b ; | ||
| + | media = soma / 2.0 ; | ||
| + | |||
| + | printf ("A soma de %d e %d vale %d\n", a, b, soma) ; | ||
| + | printf ("A media de %d e %d vale %f\n", a, b, media) ; | ||
| + | |||
| + | return (0) ; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | Procure comentar o código adequadamente, | ||
| + | |||
| + | Comentar código corretamente exige alguma técnica. [[https:// | ||
| + | </ | ||