Universidade Federal do Espírito Santo Programação II Introdução à Linguagem C Professora: Norminda Luiza Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B, criado por Ken Thompson. O B, por sua vez, veio da linguagem BCPL, inventada por Martin Richards. O C é uma linguagem de programação genérica que é utilizada para a criação de programas diversos como: – – – – – – – processadores de texto, planilhas eletrônicas, sistemas operacionais, programas de comunicação, programas para a automação industrial, gerenciadores de bancos de dados, programas para a solução de problemas da Engenharia, Física, Química e outras Ciências, etc ... É bem provável que o Navegador que você usa tenha sido escrito em C ou C++. Linguagem C Estudaremos a estrutura do ANSI C, o C padronizado pela ANSI. Em 1978, Brian kernighan e Dennis Ritchie publicaram a primeira edição do livro THE C PROGRAMMING LANGUAGE. Esse livro, conhecido pelos programadores de C, como "K&R", serviu durante muitos anos como uma especificação informal da linguagem. A versão da linguagem C que ele descreve é usualmente referida como "K&R C". A segunda edição do livro, cobriu o padrão posterior, o ANSI C. Linguagem C A linguagem C foi criada com o objetivo principal em mente: facilitar a criação de programas extensos com menos erros, recorrendo ao paradigma da programação procedural, mas sobrecarregando menos o autor do compilador, cujo trabalho complica-se ao ter de realizar as características complexas da linguagem. Para este fim, a linguagem C possui as seguintes características: • Uma linguagem extremamente simples, com funcionalidades não-essenciais, tais como funções matemáticas ou manuseamento de ficheiros (arquivos), fornecida por um conjunto de bibliotecas de rotinas padronizada; • A focalização no paradigma de programação procedural; • Um sistema de tipos simples que evita várias operações que não fazem sentido • Ponteiros dão maior flexibilidade à linguagem; Linguagem C • Uso de uma linguagem de pré-processamento, o pré-processador de C, para tarefas tais como a definição de macros e a inclusão de múltiplos ficheiros de código fonte; • Acesso de baixo-nível, através de inclusões de código Assembly no meio do programa C; • Parâmetros que são sempre passados por valor para as funções e nunca por referência (É possível simular a passagem por referência com o uso de ponteiros); • Estruturas de variáveis, (structs), que permitem que dados relacionados sejam combinados e manipulados como um todo. Linguagem C O C é "Case Sensitive“ maiúsculas e minúsculas fazem diferença. Exemplos: Se declararmos uma variável com o nome aluno ela será diferente de Aluno, ALUNO, AluNO ou aLuno. Os comandos do C if e for, por exemplo, só podem ser escritos em minúsculas pois senão o compilador não irá interpretá-los como sendo comandos, mas sim como variáveis. Linguagem C Exemplo de um programa básico em C: (tudo que for dito nesta transparência será detalhado à medida que avançarmos no programa da disciplina) Exemplo 1 Exemplo 2 #include <stdio.h> /* Primeiro programa */ int main () { printf ("Ola! Eu estou vivo!\n"); return(0); } #include <stdio.h> int mensagem () /* Funcao simples: só imprime Olá! */ { printf ("Ola! "); return(0); } int main () { mensagem(); printf ("Eu estou vivo!\n"); return(0); } Linguagem C Exemplo de um programa básico em C: (tudo que for dito nesta transparência será detalhado à medida que avançarmos no programa da disciplina) Exemplo 3 #include <stdio.h> int main () { /* Declaracao de Variaveis */ int Dias; float Anos; /* Entrada de Dados */ printf ("Entre com o número de dias: "); scanf ("%d",&Dias); /* Conversao Dias em Anos */ Anos = Dias/365.25; printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); return(0); } Linguagem C Palavras Reservadas do C Todas as linguagens de programação têm palavras reservadas (palavra-chave). As palavras reservadas não podem ser usadas a não ser nos seus propósitos originais, isto é, não podemos declarar funções ou variáveis com os mesmos nomes. Apresentamos a seguir as palavras reservadas do ANSI C: auto continue enum if short switch volatile break default extern int signed typedef while case do float long sizeof union char double for register static unsigned const else goto return struct void