Universidade do Estado de Santa Catarina – CCT/UDESC
INTRODUÇÃO A PROGRAMAÇÃO EM C
THOBER CORADI DETOFENO, MSC.
Aula 08
JOINVILLE
2013
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;
Visão Geral de um programa em C
•
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
/* Um Primeiro Programa */
#include <stdio.h>
main ()
{
printf ("Ola!");
}
•
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 arquivocabeç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 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:
#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);
}
Visão Geral de um programa em C
•
Regras gerais (continuação):
–
Procure tabular o programa para que fique mais fácil a interpretação.
Exemplo:
#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");
}
Visão Geral de um programa em C
•
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;
Ambiente de Programação
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:
Primeiros passos
Todos os programas em C vão conter sempre a seguinte estrutura:
#include <stdio.h>
main ()
{
//Código
}
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
Para iniciar, vamos analisar nosso primeiro programa:
#include <stdio.h>
main ()
{
printf("Primeiro programa");
printf("\n\n\n");
system("pause");
}
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
Para iniciar, vamos analisar nosso primeiro programa:
#include <stdio.h>
main ()
{
printf("Primeiro programa");
printf("\n\n\n");
system("pause");
}
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
Exemplo 2:
#include <stdio.h>
main ()
{
printf("Exibindo os diretorios do drive c:");
printf("\n\n\n");
system("c:");
system("dir /w /p");
system("pause");
}
Neste exemplo estamos acessando o drive “C” do computador e então
listando todos os diretórios através do comando “dir /w /p”;
Tipo de variáveis
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:
#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");
}
Tipo de variáveis
•
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.
2.
Tipo da variável;
Nome da variável;
Tipo de variáveis
•
Exemplo:
#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");
}
Tipo de variáveis
•
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:
#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");
}
Tipo de variáveis
•
Para formatar as casas decimais:
#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
Operadores
•
Exemplo:
#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");
}
Operadores
•
Exemplo:
#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
Funções básicas
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;
#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");
}
Funções básicas
gets(variável)
putchar(variável)
toupper(variável)
tolower(variável)
 lê uma variável texto;
 imprime um caractere;
 imprime caractere em maiúsculo;
 imprime caractere em minúsculo;
#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");
}
Exemplos
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:
#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");
}
Exemplos
•
Exemplo 2:
#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ícios
1) 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).
Exercícios
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:
Download

include