Introdução à Programação em C

Este material foi produzido a partir de diversas fontes, entre elas as transparências do prof. Lucas Ferrari e o tutorial online Learn C Programming, dentre outros.

Estas páginas (2018-2) foram adaptadas a partir das aulas do Prof. Carlos Maziero.

Um breve histórico

A linguagem C foi criada por Dennis Ritchie em 1972 para reescrever de forma portável o sistema operacional UNIX, que antes era escrito em assembly. Sua estrutura e seu nome provêm de uma linguagem anterior B, que era uma simplificação da linguagem de programação BCPL, escrita em 1966.

Em 1978 foi publicado o livro The C Programming Language por Brian Kernighan e Dennis Ritchie, consagrando a linguagem no padrão chamado K&R. Durante muitos anos esse livro foi considerado como a especificação da linguagem.

Em 1989 o padrão C foi oficializado pelo ANSI (American National Standards Institute) através do padrão ANSI X3.159-1989, conhecido hoje como ANSI C, C89 ou C90. É provavelmente a versão mais usada da linguagem ainda hoje.

Em 1999 a ISO (International Standards Organization) publicou um novo padrão da linguagem chamado ISO/IEC 9899:1999 e conhecido como C99. Em 2011 foi publicado o padrão mais recente, chamado C11.

Apesar de sua idade, C continua sendo uma das linguagens mais utilizadas (TIOBE INdex), Ranking IEEE. A linguagem C inspirou a criação de muitas outras linguagens de programação mais recentes, como C++, Java, C#, JavaScript, Perl, PHP, Lua, etc.

Características da Linguagem

Algumas das principais características da linguagem C são:

Das aulas em laboratório

Este material foi preparado para que você leia estas notas e execute os exercícios enquanto lê o material. Para isso, abra em sua tela, além do navegador, um terminal (Shell) e um editor de texto. O leiaute da tela deve ser algo parecido com o mostrado abaixo.

telaCI067

Exemplo de um programa em C

O código a seguir traz um ''Hello World'' em C:

/* Este é um exemplo simples de código em C,
   que escreve a string 'Hello, world!' na
   saída padrão do terminal.              */

#include <stdio.h>              // inclusão de definições

int main (void)                 // função principal
{
  printf ("Hello, world!\n") ;  // função de entrada/saída
  return (0) ;                  // retorno (fim) da função
}

Algumas observações importantes sobre esse código:

Para poder executar o código acima, ele deve ser salvo em um arquivo chamado de ''hello.c'', compilado e executado com os comandos:

home:~> gcc -Wall hello.c -o hello
home:~> ./hello
Hello, world!
home:~>

Estrutura de um programa em C

Um programa em C é composto das seguintes partes:

Mais um exemplo simples, para concluir:

/*
  Calcula a soma e a média de dois inteiros,
  escrevendo o resultado na saída padrão.
*/

#include <stdio.h>

int main (void)
{
  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) ;
}

Procure comentar o código com generosidade, para facilitar sua compreensão. Hoje você lembra do que seu programa faz; em três semanas, os comentários serão ajuda preciosa.