39
INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Embed Size (px)

Citation preview

Page 1: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

INTRODUÇÃO A PROGRAMAÇÃO EM C

THOBER CORADI DETOFENO, MSC.

Aula 08

JOINVILLE2013

Universidade do Estado de Santa Catarina – CCT/UDESC

Page 2: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Introdução

A linguagem C foi criada por Dennis Ritchie, em 1972, no centro de Pesquisas da Bell Laboratories;

Uma das grandes vantagens do C é que ele possui tanto características de "alto nível" quanto de "baixo nível";

O C é derivado de uma outra linguagem: o B, criado por Ken Thompson. O B, por sua vez, veio 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, por exemplo:

– Processadores de texto;– Planilhas eletrônicas;– Sistemas operacionais;– Programas de comunicação;

Page 3: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• A geração do programa executável a partir do programa fonte obedece a uma seqüência de operações antes de tornar-se um executável;

• A seqüência para gerar um executável é:

1. Editor (módulo fonte em C)

1. Pré-processador (novo fonte expandido)

1. Compilador (arquivo objeto)

1. Lincador (executável)

Visão Geral de um programa em C

Page 4: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Um programa em C consiste em uma ou várias funções, uma das quais precisa ser denominada main;

• O programa sempre começará executando a função main;

• Toda e qualquer função adicional deve ser adicionar antes ou após a função main;

• Regras gerais:– Toda função é iniciada por chave de abertura (“{“) e encerrada com chave de

fechamento (“}”);

– Toda função deve ser precedida por parênteses, exemplo: main(void);

– As linhas de código são sempre encerradas por ponto e virgula (“;”);

– Os comandos são executados na ordem que aparecem;

– O C é case sensitive,ou seja, letras maiúsculas e minúsculas fazem diferença. Exemplo: soma é diferente de Soma que é diferente de SOMA.

Visão Geral de um programa em C

Page 5: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Exemplo de programa em C

• Compilando e executando este programa você verá que ele coloca a mensagem Ola! na tela. Vamos entender:– A primeira linha do programa é uma linha informativa, é um comentário. O

compilador não irá interpretar seu conteúdo;

– A linha #include <stdio.h> diz ao compilador que ele deve incluir o arquivo-cabeçalho stdio.h. Esse arquivo contém uma série de funções já prontas para auxiliar o desenvolvimento;

– A terceira linha contém a função “main()”. Está e a função que será chamada na execução do programa. Se conteúdo será executado de forma seqüencial.

Visão Geral de um programa em C

/* Um Primeiro Programa */#include <stdio.h>main (){

printf ("Ola!");}

Page 6: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Um programa em C é geralmente salvo com a extensão “.c” e bibliotecas de funções são salvas em arquivos “.h”;

• Quando se desenvolve um programa é importante sempre pensar que no futuro alguém pode vir a dar manutenção neste ou ainda fazer melhorias. Dessa forma é importante manter sempre a organização, para isso algumas regras devem ser respeitadas:– Procure comentar o programa de modo que a pessoa que venha analise o

código entenda o que está acontecendo. Exemplo:

Visão Geral de um programa em C

#include <stdio.h>/* Função que imprime na tela o quadrado de um número */square (int x) {

printf ("O quadrado e %d",(x*x));}main () {

int num;printf ("Entre com um numero: ");scanf ("%d",&num);square(num);

}

Page 7: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Regras gerais (continuação):– Procure tabular o programa para que fique mais fácil a interpretação.

Exemplo:

Visão Geral de um programa em C

#include <stdio.h>#define GRAUS 'G'#define RAD 'R'union angulo{int graus;float radianos;};void main(){union angulo ang;char op;printf("\nNumeros em graus ou radianos? ");scanf("%c",&op);if (op == GRAUS){ang.graus = 180;printf("\nAngulo: %d\n",ang.graus);}else if (op == RAD){ang.radianos = 3.1415;printf("\nAngulo: %f\n",ang.radianos);}else printf("\nEntrada invalida!!\n");}

#include <stdio.h>#define GRAUS 'G'#define RAD 'R'union angulo{

int graus;float radianos;

};void main(){

union angulo ang;char op;printf("\nNumeros em graus ou radianos? ");scanf("%c",&op);if (op == GRAUS){

ang.graus = 180;printf("\nAngulo: %d\n",ang.graus);

}else if (op == RAD){ang.radianos = 3.1415;printf("\nAngulo: %f\n",ang.radianos);

}else printf("\nEntrada invalida!!\n");}

Page 8: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Regras gerais (continuação):

– Procure sempre usar nomes para variáveis e funções intuitivos. Evite usar, por exemplo, função1(), função2();

– Se a empresa possuir padrões para criação de variáveis e funções, procurar sempre respeitar. Caso contrário procure manter um padrão para seus programas;

Visão Geral de um programa em C

Page 9: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Existem várias IDEs utilizados para desenvolver programas em C, na seqüência será apresentado o DEV C++;

O DEV C++ é uma interface gratuita e pode ser facilmente achado na internet;

Sugestão de link:

http://www.bloodshed.net/dev/devcpp.html

http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe

Ambiente de Programação

Page 10: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Após instalar o programa, ao executar será aberto a seguinte interface:

Ambiente de Programação

Page 11: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Para criar um programa clicar no botão de “Source File”:

Ambiente de Programação

Page 12: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Na tela aberta digitar o seguinte programa:

Ambiente de Programação

Page 13: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Após digitar o programa, clique no botão de salvar;

Quando for salvar o programa selecionar a opção “C source file (*.c ou *.cpp);

Ambiente de Programação

Page 14: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Após salvo, para compilar o programa e então gerar o executável é necessário clicar no botão marcado abaixo:

Ambiente de Programação

Page 15: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Ao clicar será aberto a tela abaixo. Essa tela exibe se o programa foi gerado com sucesso ou se ele tem erros. Para executar o programa, caso ele tenha sido gerado com sucesso clicar no botão a direita do botão de compilar

Ambiente de Programação

Page 16: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Caso de erro o compilador irá sinalizar o local do erro:

Ambiente de Programação

Page 17: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Todos os programas em C vão conter sempre a seguinte estrutura:

O programa deve conter uma ou mais bibliotecas de funções (#include <stdio.h>);

O programa deve conter a função principal ( main() )

Dentro da função principal irá o código do programa;

Primeiros passos

#include <stdio.h>main (){

//Código }

Page 18: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Para iniciar, vamos analisar nosso primeiro programa:

O resultado do programa será a impressão da mensagem:“Primeiro programa”

A impressão da mensagem é dada através do comando printf();

A função printf() imprime o conteúdo que está dentro dos parentêses;

Primeiros passos

#include <stdio.h>main (){

printf("Primeiro programa"); printf("\n\n\n");

system("pause");}

Page 19: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Para iniciar, vamos analisar nosso primeiro programa:

Na quinta linha o programa está imprimindo “\n\n\n”. A combinação de “\” junto com o caractere “n” indica quebra de linha. Nesse caso é pulado 3 linhas;

A sexta linha faz com que o programa contem a função system(). A função system chama uma função do sistema operacional, nesse caso a função pause.

Primeiros passos

#include <stdio.h>main (){

printf("Primeiro programa"); printf("\n\n\n");

system("pause");}

Page 20: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Exemplo 2:

Neste exemplo estamos acessando o drive “C” do computador e então listando todos os diretórios através do comando “dir /w /p”;

Primeiros passos

#include <stdio.h>main (){

printf("Exibindo os diretorios do drive c:"); printf("\n\n\n");

system("c:");system("dir /w /p");system("pause");

}

Page 21: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Variáveis são espaços na memória reservados para armazenar um determinado conteúdo;

Toda variável deve possuir um tipo definido. Através da definição do tipo é determinado o conteúdo que será armazenado;

Os principais tipos de variáveis são:int Armazena números inteiros;float Armazena números decimais;char Armazena caracteres;

Tipo de variáveis

Page 22: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Todas as variáveis devem ser declaradas antes do seu uso conforme exemplo abaixo:

Tipo de variáveis

#include <stdio.h>main (){ int x; // Declaração de número inteiro float y; // Declaração de número decimal char c; // Declaração de um caractere; char s[40]; // Declaração de uma variável com 60 caracteres;

system("pause");}

Page 23: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Quando criado uma variável, esta permanece ocupando espaço na memória independente de ser utilizada;

• Para ler o valor de uma variável pode-se utilizar a função “scanf()”;

• A função “scanf()” possui dois parâmetros:

1. Tipo da variável;2. Nome da variável;

Tipo de variáveis

Page 24: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Exemplo:

Tipo de variáveis

#include <stdio.h>main (){ int x; float y; char c; char str [40]; printf("Digite um numero inteiro: "); scanf("%d",&x); printf("Digite um numero decimal: "); scanf("%f",&y); printf("Digite uma palavra: "); scanf("%s",&str); printf("Digite um caractere: "); c = getche(); system("pause");}

Page 25: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Conforme demonstrado no exemplo anterior, a função scanf possui dos parâmetros:

– O primeiro parâmetro indica o tipo de variável.• Para números inteiros %d;• Para números decimais %f;• Para textos %s;

– O segundo parâmetro indica o nome da variável. A variável deve vir sempre após “&”;

• Para ler um caractere foi usado a “getche()”:– A função getche lê um caractere e após pula para o comando

seguinte. Não espera o usuário apertar [ENTER].

Tipo de variáveis

Page 26: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Para exibir o valor digitado em tela utiliza-se a função printf;

• No local que deseja exibir a variável utiliza-se %d, %f, %s ou %c para exibir respectivamente um número inteiro, decimal, texto, caractere;

Tipo de variáveis

Page 27: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Exemplo:

Tipo de variáveis

#include <stdio.h>main (){ int x; float y; char c; char str [40]; printf("Digite um numero inteiro: "); scanf("%d",&x); printf("Digite um numero decimal: "); scanf("%f",&y); printf("Digite uma palavra: "); scanf("%s",&str); printf("Digite um caractere: "); c = getche(); printf("\n\n\n"); printf("Inteiro: %d \nDecimal: %f \n",x,y); printf("Palavra: %s \nCaractere: %c \n",str, c); system("pause");}

Page 28: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Para formatar as casas decimais:

Tipo de variáveis

#include <stdio.h>main (){ printf("\n%f",3456.7876543); printf("\n%.1f",3456.7876543); printf("\n%.2f",3456.7876543); printf("\n%.3f",3456.7876543); printf("\n");

system("pause");}

Page 29: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Operadores

Page 30: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Exemplo:

Operadores

#include <stdio.h>main (){ int x, y;

x=10; y=3;

printf("A soma de %d por %d e %d \n",x,y,x+y); printf("A subtração de %d por %d e %d \n",x,y,x-y); printf("A multiplicacao de %d por %d e %d \n",x,y,x*y); system("pause");}

Page 31: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Exemplo:

Operadores

#include <stdio.h>main (){ int x, y; float resultado; float resultado2; x=10; y=3; resultado = (float) x/y; resultado2 = x%y;

printf("A divisao de %d por %d e %.1f \n",x,y,resultado); printf("O resto da divisao de %d por %d e %.2f\n",x,y,resultado2); system("pause");}

Page 32: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Operadores

Page 33: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

printf(“Texto”) imprime na tela um conteúdo;scanf(“Tipo”,&variável) lê uma variável;Variável = getch() lê um caractere sem exibir na tela;Variável = getche() lê um caractere exibindo na tela;

Funções básicas

#include <stdio.h>main (){

char x;printf("Digite o valor de x:");x = getch();printf("\n\n\nx = %c \n",x);printf("Digite o valor de x:");x = getche();printf("\n\n\nx = %c \n",x);system("pause");

}

Page 34: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

gets(variável) lê uma variável texto;putchar(variável) imprime um caractere;toupper(variável) imprime caractere em maiúsculo;tolower(variável) imprime caractere em minúsculo;

Funções básicas

#include <stdio.h>main (){ char x[100]; printf("Digite o valor de x:"); gets(x); printf("\n\n\n\n"); putchar(x[0]); printf("\n\n\n\n%c",toupper(x[0])); printf("\n\n\n\n%c",tolower(x[0])); system("pause");}

Page 35: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

1. Faça um programa em C que leia o nome e as idades de duas pessoas e mostre o nome das pessoas com a respectiva idade e então mostra a soma das idades.

1. Faça um programa em C que leia duas notas, os pesos de cada nota e mostre a média ponderada. Média Ponderada = (nota 1 * peso nota 1) + (nota 2 * peso nota 2) / soma dos pesos.

Exemplos

Page 36: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Exemplo 1:

Exemplos

#include <stdio.h>main (){ char p1[100], p2[100]; int id1, id2; printf("Digite o nome da pessoa 1: "); scanf("%s",&p1); printf("Digite a idade da pessoa 1: "); scanf("%d",&id1); printf("\nDigite o nome da pessoa 2: "); scanf("%s",&p2); printf("Digite a idade da pessoa 2: "); scanf("%d",&id2); printf("\n\n%s: %d",p1,id1); printf("\n\n%s: %d",p2,id2); printf("\n\nSoma: %d",id1+id2); system("pause");}

Page 37: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

• Exemplo 2:

Exemplos

#include <stdio.h>main (){ float n1,n2,p1,p2; printf("Digite a nota 1: "); scanf("%f",&n1); printf("\nDigite o peso da nota 1: "); scanf("%f",&p1); printf("\nDigite a nota 2: "); scanf("%f",&n2); printf("\nDigite o peso da nota 2: "); scanf("%f",&p2); printf("\n\n"); printf("Media: %f",(n1*p1 + n2*p2)/(p1+p2)); system("pause");}

Page 38: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

Exercícios1) Faça um programa em C que leia dois números e mostre o produto desses números.

2) Faça um programa em C que leia dois números e troque o conteúdo destas variáveis entre si. Mostrar os novos conteúdos.

3) Faça um programa em C que leia três números, efetue o cálculo das expressões abaixo e mostre os resultados. (A – B) * C; (( x – 5) * y) – z.

4) Faça um programa em C que leia uma temperatura em graus Fahrenheit e converta / mostre em graus Centígrados. Centígrados = (Fahrenheit – 32) * 5 / 9.

5) Maria quer saber quantos litros de gasolina precisa colocar em seu carro e quanto vai gastar para fazer uma viagem até a casa de sua irmã. Faça um programa em C que leia:

A distância da casa de Maria até sua irmã; O consumo do carro de Maria (KM rodados / litro); O preço da gasolina (litro).

E mostre as informações que Maria necessita.

6) Faça um programa em C de auxilio para vendedores. A partir de um valor lido, mostrar: O total a pagar com desconto de 10%; O valor de cada parcela, no parcelamento de 3 x sem juros; A comissão do vendedor, no caso da venda ser a vista (5% sobre o valor com desconto); A comissão do vendedor, no caso da venda ser parcelada (5% sobre o valor total).

Page 39: INTRODUÇÃO A PROGRAMAÇÃO EM C THOBER CORADI DETOFENO, MSC. Aula 08 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

7) Faça um programa em C que leia um valor inteiro em segundos, e converta / mostre no formato hh:mm:ss.

8) Faça um programa em C que leia quanto você ganha por hora e o número de horas trabalhadas no mês. Na seqüência, calcule e mostre o total do seu salário no referido mês.

9) Faça um programa em C para calcular a quantidade necessária de latas de tinta para pintar uma parede com X metros de largura por H metros de altura. Considere que o consumo de tinta por metro quadrado é 2.5 litros e a quantidade de tinta por lata é 8 litros.

10) Faça um programa em C que leia o salário bruto mensal de um funcionário, calcule e mostre os valores conforme modelo abaixo:

Exercícios