Introdução da Linguagem C

Documentos relacionados
Características fundamentais de codificação de programas

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Algoritmos RESUMO - LINGUAGEM C

Introdução à Linguagem C. Adaptado de Deise Saccol

Introdução à Linguagem C

Disciplina: Introdução a Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer. Índice: Aula1 - Introdução Programa Algoritmo

Introdução a Linguagem C

Introdução à Linguagem C

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: C

PROGRAMAÇÃO DE COMPUTADORES I (Parte 1)

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Ocorrem em três tipos:

INTRODUÇÃO A LINGUAGEM C

Informática Aplicada. Aula 4 UNIDADE II. Prof. Cleanderson Lobo

Introdução a Programação de Jogos

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Laboratório de Introdução à Ciência da Computação I

Introdução à Computação

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Introdução Linguagem C. UDESC - Prof. Juliano Maia 1

Laboratório de Introdução à Ciência da Computação I

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Aula 03 - Linguagem C

Introdução à Computação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação de Computadores III

Algoritmos e Programação

Programação de Computadores III

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

As bibliotecas iostream e cstdlib permitem a utilização de diversos comandos de entrada e saída e funções básicas.

PROGRAMAÇÃO A. Matrizes

Utilização da Linguagem C

Introdução a Computação

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Programação de Computadores:

Conhecendo a Linguagem de Programação C

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

Aula 12- Variáveis e valores reais

Introdução à Linguagem C

Variáveis, Tipos de Dados e Operadores

Linguagem C Princípios Básicos (parte 1)

Programação Estruturada

scanf () Funções de Entrada e Saída Formatada leitura de dados; formato geral: scanf (string_de_controle,lista_de_argumentos);

Programação I A Linguagem C. Prof. Carlos Alberto

Conceitos Básicos de C

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio

Introdução a Linguagem C

Linguagem de Programação. Thiago Leite Francisco Barretto

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores VARIÁVEIS E TIPOS DE DADOS

Aula 08: Repetição (Parte 3)

Conceitos Básicos Linguagem C

Linguagens de Programação

3. Linguagem de Programação C

Tipos de Dados Simples (Continuação)

Introdução à linguagem C

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

SSC 0301 IC para Engenharia Ambiental

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C

Linguagem C: Introdução

Estrutura do programa

Aula 04: Fluxogramas e condicionais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Instruções, dados e expressões

Introdução à Programação

Unidade 6: Ambiente de Programação Prof. Daniel Caetano

Programação: Vetores

FUNDAÇÃO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO

LP2 Laboratório de Programação 2 Ciência da Computação. Problema proposto

Estrutura de Programas e Tipos de Dados Simples

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

CCO 016 / COM 110 Fundamentos de Programação

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

PROGRAMAÇÃO A. Vetores

Algoritmos. Para encontrar a raiz de uma equação quadrática, são necessários alguns passos detalhados:

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA AMBIENTE DE PROGRAMAÇÃO. Prof. Dr. Daniel Caetano

3. Linguagem de Programação C

Introdução à Programação

Segundo programa: media.c

Introdução à Linguagem C Variáveis e Expressões

11 - Estrutura de um programa em C

Cláudio C. Rodrigues Faculdade da Computação - UFU. Faculdade da Computação - UFU 1

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Modificadores de Tipos

Algoritmos e Programação

Linguagem de Programação C

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná

Revisão. Profa Marina Gomes

Programação. MEAer. Expressões e Instruções. Bertinho Andrade da Costa. Instituto Superior Técnico. 2011/2012 1º Semestre

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 206 Departamento de Informática Centro Tecnológico

Transcrição:

1. Introdução a Linguagem C 1.1 História Entre 1969 e 1973, Dennis Ritchie inventou a linguagem C e foi o primeiro a implementá-la usando um computador DEC PDP-11, que utilizava o sistema operacional Unix. Essa linguagem é resultante de um processo evolutivo de linguagens. O marco inicial foi uma linguagem chamada BCPL, desenvolvida por Martin Richards, que teve forte influência em uma linguagem denominada B, inventada por Ken Thompson. Na década de 1970, B levou ao desenvolvimento de C. Em 1973, a linguagem C tinha se tornado suficientemente poderosa para que grande parte do núcleo do Unix, originalmente escrito na linguagem de programação PDP-11/20 Assembly, fosse reescrito em C. Durante alguns anos, o padrão da linguagem C foi aquele fornecido com a versão 5 do sistema operacional Unix. Em 1978, Ritchie e Kernighan 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. Devido a popularização dos microcomputadores, várias implementações de C foram criadas, gerando, assim, muitas discrepâncias. Para resolver tal situação, o " American National Standards Institute" - ANSI estabeleceu, em 1983, um comitê para definir um padrão que guiasse todas as implementações da linguagem C. Esta versão da linguagem é referenciada como C ANSI. Em 1990, o padrão C ANSI, após sofrer modificações menores, foi adotado pela Organização Internacional de Padrões (ISO) como ISO/IEC 9899:1990. Um dos objetivos do processo de padronização C ANSI foi o de produzir um sobreconjunto do C K&R, incorporando muitas das características não oficiais subsequentemente introduzidas. Entretanto, muitos programas tinham sido escritos e que não compilavam em certas plataformas, ou com um certo compilador, devido ao uso de bibliotecas de funções não padrão e ao fato de alguns compiladores não aderirem ao C ANSI. A linguagem C++ é uma extensão da linguagem C. As instruções que fazem parte desta última representam um subconjunto da primeira. Os incrementos encontrados na linguagem C++ foram feitos para dar suporte à programação orientada a objetos. A sintaxe desta linguagem é basicamente a mesma da linguagem C. 1

1.2 Conceitos básicos O objetivo desta seção é instruir o leitor na compreensão das principais estruturas, comandos e funções da linguagem C. Um programa em C tem a seguinte estrutura: //Inclusão das bibliotecas //Declaração de variáveis globais - opcional //Declaração de funções - opcional int main() //estrutura principal do programa dentro das suas chaves são chamadas todas as funções e variáveis utilizada no programa. //declaração de variáveis //código Outros conceitos interessantes - indica início de um bloco de nível indica fim de um bloco de nível // - comentar uma linha /* - início do comentário de múltiplas linhas */ - final do comentário de múltiplas linhas ; - necessário no final de toda linha que represente: instrução, atribuição e declaração. Bibliotecas mais utilizadas stdio.h contem os comandos básicos de entrada e saída do programa stdlib.h contem os comandos básicos da linguagem C conio.h geralmente é utilizada em programas básicos para utilizar a função getch(); utilizado para colocar o programa em modo de espera da próxima ação do usuário, muito útil para visualizar os resultados de um programa. math.h contem os comandos matemáticos mais avançados, por exemplo, cálculo de potências, pow(número, potência). Para inserir uma biblioteca no código C, basta inserir a seguinte linha: #include <nomebiblioteca.h> Por exemplo: #include <stdio.h> #include <conio.h> Declaração dos principais tipos de variáveis int para variáveis numéricas (números inteiros). Ex.: int a,b,c; float para variáveis numéricas (números flutuantes, ou seja, com casas decimais). Ex.: float a,b,c; double para variáveis numéricas (números flutuantes, ou seja, com casas decimais), com uma precisão maior que o float. Ex.: double a,b,c; char para variáveis do tipo caractere. Ex.: char nome; 2

Tipos de variáveis Tipo Faixa de valores Tamanho(aproximado) char -128 a 127 8 bits unsigned char 0 a 255 8 bits int -32.768 a 32767 16 bits unsigned int 0 a 65.535 16 bits short int -32.768 a 32767 16 bits long -2.147.483.648 a 2.147.483.647 32 bits unsigned long 0 a 4.294.967.295 32 bits float 3.4 x 10-38 a 3.4 x 10 38 32 bits double 1.7 x 10-308 a 1.7 x 10 308 64 bits long double 3.4 x 10-4932 a 1.1 x 10 4932 80 bits Comandos de entrada O comando de entrada é utilizado para receber dados digitados pelo usuário. Os dados recebidos são armazenados em variáveis. Os comandos de entrada mais utilizados na linguagem C são gets e scanf. Exemplo gets(a); scanf( %t, &a); Nota: este comando busca o endereço da variável por isto é necessário inserir o símbolo &. Obs.: para os comandos de entrada e saída são utilizadas as variáveis %t, sendo que "t" pode ser: inteiro: %d ou %i float: %f ou limitando o número de casas decimais %.2f double: %d char: %c ou %s para uma cadeia de caracteres Comandos de saída O comando de saída é utilizado para mostrar dados na tela ou na impressora. Os comando de saída mais utilizado é o printf. Exemplo printf( Texto para o usuário %t, a); Comandos utilizados na saída. \t - insere uma tabulação \n - insere uma quebra de linha Operadores e funções predefinidas em C Lógico Operador Exemplo Comentário && x>5 && x<10 E x>5 x<10 Ou!!(x>5 x<10) Não (negação) 3

Aritméticos Operador Exemplo Comentário = x = y O conteúdo da variável y é atribuído à variável x. (Poder ser atribuído a uma variável o conteúdo de outra variável, uma constate, ou ainda o resultado de uma função. + - x+y x-y Soma o conteúdo de x e y Subtrai o conteúdo de x e y. * x*y Multiplica o conteúdo de x pelo conteúdo de y / x/y Obtém o quociente da divisão de x por y. % x%y Obtém o resto da divisão de x por y. (só pode ser utilizado com parâmetros do tipo inteiro. += x+=y Equivale a x=x+y -= x-=y Equivale a x=x-y *= x*=y Equivale a x=x*y /= x/=y Equivale a x=x/y %= x%=y Equivale a x=x%y ++ x++ Equivale a x=x+1 ++ y=++x Equivale a x=x+1 e depois y=x ++ y=x++ Equivale a y=x e depois x=x+1 -- x-- Equivale a x=x-1 -- y=--x Equivale a x=x-1 e depois y=x -- y=x-- Equivale a y=x e depois x=x-1 Funções matemáticas Função Exemplo Comentário abs abs(x) Obtém o valor absoluto de x. ceil ceil(x) Arredonda um número real para cima. Por exemplo, ceil(3.2) é 4. cos cos(x) Calcula o cosseno de x (x de estar representado em radiano). exp exp(x) Obtém o logaritmo natural e elevado à potência X. floor floor(x) Arredonda um número real para baixo. Por exemplo, floor(3.2) é 3. log log(x) Obtém o logaritmo natural de x. log10 log10(x) Obtém o logaritmo de base 10 de x. M_PI M_PI Retorna o valor de π modf z=modf(x,&y) Decompões o número armazenado em x em duas partes: y recebe a parte fracionária e z, a parte inteira do número. pow pow(x,y) Calcula a potência de x elevado y. sin sin(x) Calcula o seno de x (x de estar representado em radiano). sqrt sqrt(x) Calcula a raiz quadrada de x. tan tan(x) Calcula a tangente de x (x de estar representado em radiano). 4

Relacionais Operador Exemplo Comentário == x==y O conteúdo de x é igual ao conteúdo de y.!= x!=y O conteúdo de x é diferente ao conteúdo de y. <= x<=y O conteúdo de x é menor ou igual ao conteúdo de y. >= x>=y O conteúdo de x é maior ou igual ao conteúdo de y. < x<y O conteúdo de x é menor que o conteúdo de y. > x>y O conteúdo de x é maior que o conteúdo de y. Estrutura condicional (seleção ou decisão) As estruturas condicionais são utilizadas quando existe a necessidade de verificar condições para a realização de uma instrução ou de uma sequência de instruções. Essas estruturas podem ser simples ou composta para transformar o exemplo abaixo em uma estrutura condicional simples remova a instrução else. if (nota<5) printf( Aluno Reprovado ); else printf( Aluno Aprovado ); Estruturas de repetição Uma estrutura de repetição é utilizada quando um trecho do algoritmo ou até mesmo o algoritmo inteiro precisa ser repetido. O número de repetições pode ser fixo ou estar atrelado a uma condição. Assim, existem estruturas para tais situações, descritas a seguir. for(i=0;i<=100;i=i+1) printf( Mostre o numero %d, i); do if (n>m) m=n; while(n!=0); while(n!=0) if (n>m) 5

m=n; 1.1 Trabalhando com vetores e matrizes Vetor também é conhecido como variável composta homogênea unidimensional. Isto quer dizer que se trata de um conjunto de variáveis de mesmo tipo, que possuem o mesmo identificador (nome) e são alocadas sequencialmente na memória. Como as variáveis têm o mesmo nome, o que as distingue é um índice que referencia sua localização. Matriz é uma variável composta homogênea multidimensional. Ela é formada por uma sequência de variáveis, todas do mesmo tipo, com o mesmo identificador (mesmo nome), e alocadas sequencialmente na memória. Uma vez que as variáveis têm o mesmo nome, o que as distingue são índices que referenciam sua localização dentro da estrutura. Uma variável do tipo matriz precisa de um índice para cada uma de suas dimensões. A utilização de vetores ou matrizes na linguagem C pode seguir estes passos: Declaração Neste exemplo é declarado um vetor com 10 posições: int vetorexemplo[9]; Obs.: Os vetores na linguagem C começam a contar do zero. Para declarar uma matriz de bidimensional com 4 linhas e 4 colunas: int matrizexemplo[3][3]; Atualizando valores de vetores/matrizes por atribuição vetorexemplo[0]=10; // atribui o valor 10 para a posição 0 do vetor vetorexemplo[1]=2; // atribui o valor 2 para a posição 1 do vetor Valores do vetorexemplo: 10,2,0,0,0,0,0,0,0,0. matrizexemplo[0][0]=1; // atribui o valor 1 para a linha 0 e coluna 0 da matriz matrizexemplo[1][1]=1; // atribui o valor 1 para a linha 1 e coluna 1 da matriz matrizexemplo[2][2]=1; // atribui o valor 1 para a linha 2 e coluna 2 da matriz matrizexemplo[3][3]=1; // atribui o valor 1 para a linha 3 e coluna 3 da matriz Valores da matrizexemplo: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Atualizando valores de vetores/matrizes utilizando o scanf scanf( %d,vetorexemplo[0]); //guarda valor digitado na posição 0 do vetor scanf( %d,matrizexemplo[0][0]); //guarda valor digitado na linha 0 e coluna 0 da matriz. 6

Obs.: Para mostrar os valores de vetores/matrizes na tela pode ser utilizado o comando printf. Por exemplo: Mostrando valores de vetores/matrizes utilizando printf printf( O valor do vetor na posição %d eh %d, i, vetorexemplo[i]); printf( O valor da matriz na linha %d e coluna %d eh %d, i, j, matrizexemplo[i][j]); Comandos para trabalhar com textos em C Na linguagem C para trabalhar com textos (strings) é necessário trabalhar com vetores de caracteres, como no exemplo a seguir: Declaração char letra; //permite armazenar um caractere char nome[20]; //permite armazenar um texto com até 20 caracteres char listanome[10][20]; //permite armazenar um vetor de 10 textos com até 20 caracteres cada. Atribuição letra = a strcpy(nome, Apostila C ); strcpy(listanome[0], Primeiro Nome ); Comando de entrada scanf( %c, &letra); scanf( %s, &nome); scanf( %s, &listanome[0]); Comando de saída printf( A letra digitada eh %c, letra); printf( O nome inserido eh %s, nome); printf( O nome na posição zero da lista eh %s, listanome[0]); Comandos para manipular textos Para utilizar os comandos abaixo deve ser inserido a biblioteca string.h. Com o seguinte comando: #include <string.h> strcmp(texto1,texto2); //compara texto1 e texto 2, caso eles sejam iguais retorna o valor zero. strcat(texto1,texto2); //concatena o texto1 com o texto 2 strcpy(texto1,texto2);//copia texto2 para texto1. strlen(texto);//retorna o número de caracteres da variável texto *x=strtok(texto, token ); //cria uma lista de palavras separadas pelo token. Conversão de texto em número (necessita da biblioteca stdlib.h) x=atoi(texto); //converte texto em inteiro x=atof(texto); //converte texto em float x=atol(texto); //converte texto em long 7

Bibliografia Ascencio, Ana Fernanda Gomes; de Campos, Edilene Aparecida Veneruchi. Fundamentos da programação de computadores: Algoritmos, Pascal, C/C++, e Java, 2 ed., Pearson, 2007 Barros, A.M.S. ANSI C para quem tem pressa. 2003. Disponível em: http://www.dei.isep.ipp.pt/~abarros/docs/ansi_c.pdf Acessado em: 06/08/2012. Huss, E. The C Library Reference Guide, 1997. Disponível em: http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ Acessado em: 06/08/2012. Puga, S.; Rissetti, G. Lógica de programação e estruturas de dados com aplicações em Java, 2 ed, Pearson, 2009. cplusplus.com Disponível em: http://www.cplusplus.com/reference/ Acessado em: 10/02/2014 8