Upload
internet
View
107
Download
4
Embed Size (px)
Citation preview
INTRODUÇÃO A PROGRAMAÇÃO EM C
THOBER CORADI DETOFENO, MSC.
Aula 08
JOINVILLE2013
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;
• 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
• 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
• 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!");}
• 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);
}
• 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");}
• 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
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
Após instalar o programa, ao executar será aberto a seguinte interface:
Ambiente de Programação
Para criar um programa clicar no botão de “Source File”:
Ambiente de Programação
Na tela aberta digitar o seguinte programa:
Ambiente de Programação
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
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
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
Caso de erro o compilador irá sinalizar o local do erro:
Ambiente de Programação
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 }
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");}
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");}
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");
}
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
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");}
• 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
• 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");}
• 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
• 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
• 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");}
• 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");}
Operadores
• 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");}
• 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");}
Operadores
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");
}
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");}
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
• 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");}
• 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");}
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).
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