Buscar

Linguagem C - Aula 1/5

Prévia do material em texto

Linguagem de 
Programação
Aula 1 – Introdução a Linguagem de 
Programação C
Prof.: Teresinha Letícia da Silva
leticia@cafw.ufsm.br
UFSM
COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN
CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET
Lógica de Programação Prof. Teresinha Letícia da Silva
Objetivos da disciplina
 Definir os componentes básicos de um programa: Áreas
de um programa. Tipos de dados. Variáveis, constantes,
operadores aritméticos e expressões.
 Estruturas de Controle: atribuição, seqüência, seleção,
repetição. Vetores, matrizes.
 Metodologias de desenvolvimento de Programas. Uso
de linguagens de programação imperativa. Testes de
programas. Documentação.
Lógica de Programação Prof. Teresinha Letícia da Silva
Conteúdo programático
 UNIDADE 1 – INTRODUÇÃO
1.1 – Histórico das Linguagens de Programação.
 UNIDADE 2 – DADOS
2.1 - Elementos da Linguagem.
2.2 - Tipos de Dados.
2.3 - Constantes e Variáveis.
2.4 – Operadores.
 UNIDADE 3 - ESTRUTURA DO PROGRAMA
3.1 - Identificação do Programa.
3.2 - Bloco de Declarações.
3.3 - Bloco de Comandos.
3.4 - Exemplo de Estrutura de um Programa.
 UNIDADE 4 – COMANDOS
4.1 – Comandos Simples.
4.2 – Estruturas de Controle.
 UNIDADE 5 – FUNÇÕES
5.1 – Funções.
5.2 – Parâmetros.
5.3 – Recursividade.
 UNIDADE 6 – TIPOS ESTRUTURADOS
6.1 – Tipos Estruturados Homogêneos.
6.2 – Tipos Estruturados Heterogêneos.
 UNIDADE 7 – ARQUIVOS
7.1 – Manipulação de Arquivos e Registros.
Lógica de Programação Prof. Teresinha Letícia da Silva
Bibliografia
 BIBLIOGRAFIA BÁSICA
SCHILDT, H. C Completo e Total. 3. Ed. São Paulo: Makron Books, 1997.
DAMAS, L. Linguagem C. 10. Ed. Rio de Janeiro: LTC, 2007.
HARBISON III, S. P.; STEELE Jr., G. L. C: Manual de Referência 1. Ed. 
Rio de Janeiro: Ciência Moderna, 2002.
 BIBLIOGRAFIA COMPLEMENTAR
MANZANO, J. A. N. G. Estudo Dirigido de Linguagem C. 11. Ed. São 
Paulo: Érica, 2002.
ARAÚJO, J. Dominando a Linguagem C. 1. Ed. Rio de Janeiro: Ciência 
Moderna, 2004.
KERNIGHAN, B. W.; RITCHIE, D. M. C: a Linguagem de Programação. 
1. Ed. Rio de Janeiro: Campus, 1986.
KERNIGHAN, B. W.; RITCHIE, D. M. C: a Linguagem de Programação -
Padrão Ansi. 1. Ed. Rio de Janeiro: Campus, 1989.
Lógica de Programação Prof. Teresinha Letícia da Silva
Avaliação
 Nota 1
 Prova 1 (70%)
 Trabalho/Atividades (30%)
 Nota 2
 Prova 2 (70%)
 Trabalho/Atividades (30%)
Lógica de Programação Prof. Teresinha Letícia da Silva
Linguagens de Programação
 Uma linguagem de programação é um método padronizado para
expressar instruções para um computador.
 É um conjunto de regras sintáticas e semânticas usadas para definir
um programa de computador.
 Uma linguagem permite que um programador especifique
precisamente sobre quais dados um computador vai atuar, como
estes dados serão armazenados ou transmitidos e quais ações
devem ser tomadas sob várias circunstâncias.
 O conjunto de palavras (tokens), compostos de acordo com essas
regras, constituem o código fonte de um software. Esse código fonte
é depois traduzido para código de máquina, que é executado pelo
processador.
Lógica de Programação Prof. Teresinha Letícia da Silva
Sintaxe = Forma
 A sintaxe são as regras que definem o formato de uma 
linguagem, estabelecendo com são compostas e 
combinadas suas palavras.
 Compõe-se de:
 Regras léxicas que descrevem combinações de caracteres 
válidas para formar os tokens(palavras reservadas, operadores, 
comandos);
 E regras sintáticas que descrevem como as palavras podem ser 
combinadas para formar instruções válidas.
Lógica de Programação Prof. Teresinha Letícia da Silva
Semântica = Significado
 A semântica diz respeito ao significado das 
construções sintáticas;
 Um programa pode estar sintaticamente 
correto mesmo com erros semânticos.
 Erros semânticos comuns ...
 Utilizar uma variável que não foi declarada;
 Acessar uma posição inválida em uma lista 
(vetor);
 Atribuir um conteúdo inválido em uma variável;
Lógica de Programação Prof. Teresinha Letícia da Silva
Linguagens Interpretadas
 Em uma linguagem de programação interpretada um
programa é executado instrução a instrução;
 O comando precisa ser primeiramente traduzido para
linguagem de máquina para só então executado;
 Sua execução é necessariamente mais lenta que
linguagens que são executadas diretamente em código
de máquina (em função da etapa de tradução);
 O código-fonte precisa ficar disponível para ser
interpretado;
Lógica de Programação Prof. Teresinha Letícia da Silva
Linguagens Compiladas
 Em uma linguagem compilada o programa é 
executado somente após toda sua tradução 
ter sido completada;
 Somente o programa executável precisa ser 
disponibilizado (o código-fonte não é 
necessário para a execução);
Lógica de Programação Prof. Teresinha Letícia da Silva
Linguagem de Programação C
 A linguagem C foi criada por Dennis Ritchie, em 1972, no
centro de Pesquisas da Bell Laboratories.
 Sua primeira utilização importante foi a reescrita do Sistema
Operacional UNIX, que até então era escrito em assembly.
 O C é uma linguagem de propósito geral, no entanto é mais
utilizada escrever compiladores, analisadores léxicos, bancos
de dados, editores de texto, etc..
 Suas características são: portabilidade, modularidade,
compilação separada, recursos de baixo nível, geração de
código eficiente, confiabilidade, regularidade, simplicidade e
facilidade de uso.
Lógica de Programação Prof. Teresinha Letícia da Silva
Características
 Imperativa (baseada em um programa principal que
eventualmente executa sub-rotinas);
 Compilada (produz um executável independente);
 Fortemente tipada (as variáveis precisam ser declaradas
com seus tipos de dados associados);
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Estrutura básica de um 
Programa em C 
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Bibliotecas
 Conjunto de funções para realizar tarefas específicas.
 Biblioteca padrão C - ANSI - funções básicas.
 As primeiras linhas do programa indicam as bibliotecas
utilizadas
#include “minha_biblioteca.h” ou
#include <minha_biblioteca.h>
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Bibliotecas
 <stdio.h> Manipulação de entrada/saída.
 <stdlib.h> Diversas operações, incluindo conversão, geração
de números pseudo-aleatórios, alocação de memória, controle
de processo, sinais, busca e ordenação.
 <math.h> Funções matemáticas comuns em computação.
 <string.h> Tratamento de cadeia de caracteres.
 <time.h> Conversão de tipos de dado de data e horário.
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Função main()
 Um programa escrito na linguagem de programação C 
consiste em uma coleção de funções.
 A função main() é a função principal, ou seja, a primeira a 
ser executada.
 O termo int define a função main() como sendo uma 
função que retorna um número inteiro. 
 A função main() pode ou não receber parâmetros.
 Cada programa em C deve ter uma função main().
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Bloco de instruções e 
comentários
 Um bloco de instruções em C é delimitado pelos 
caracteres { }, indicando início e fim de bloco 
respectivamente.
 Após cada comando dentro do bloco de instruções deve 
ser colocado um finalizador de comando que é o ; (ponto-
e-vírgula)
 Os comentários podem ser escritos em qualquer parte do 
código, os delimitadores de comentário são:
 /* */ para comentários com mais de uma linha
 // para comentários de uma linha
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Primeiro Programa
/* Primeiro Programa emC */
#include <stdio.h> //biblioteca de E/S
int main() /*função principal – inicio 
do programa*/
{ /*marca início da função*/
printf(“Meu primeiro programa em C”);
/*função para escrever na tela*/
} /*marca fim da função*/
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Variáveis 
 Uma declaração de variável consiste do
nome do tipo seguido do nome da variável
(em C e C++).
 Todas as variáveis devem ser declaradas
antes de serem usadas.
 As variáveis devem ser declaradas no início
de cada bloco ou no início do programa.
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Nomes de Variáveis
 comece com letras ou sublinhado:
Seguidos de letras, números ou sublinhados
 C é Case sensitive:
peso <> Peso <> pEso
 O padrão C atual especifica que nomes de até 31 caracteres devem 
ser aceitos. Alguns compiladores podem até aceitar nomes maiores 
que isso, mas não considere isso uma regra e não use nomes tão 
longos. 
 não podemos definir um identificador com o mesmo nome que uma 
palavra chave
auto static extern int long if while do ......
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Tipos Básicos de Dados
 determinar um conjunto de valores e as possíveis 
operações realizadas sobre os mesmos ;
 informa a quantidade de memória (bytes);
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Operadores aritméticos 
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Operadores de atribuição 
 Em C e C++ temos os seguintes operadores 
de atribuição:
= += –= *= /= %=
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Operadores 
relacionais e lógicos
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Operadores de 
incremento e decremento
 Em C e C++ também temos os operadores 
de incremento e decremento:
++ incremento de um
-- decremento de um
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos de 
Entrada e Saída
 A função “printf()”
 A função “printf” é a função para saída 
formatada de dados.
SINTAXE:
printf(“<string de controle>“,<lista de argumentos>);
Exemplo:
printf("Este é um programa em C");
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos de 
Entrada e Saída
 Além de códigos de formato e caracteres normais a string de
controle pode conter ainda caracteres especiais iniciados pelo
símbolo “\”
 \n  nova linha
 \t  tabulação
 \b  retrocesso (backspace)
 \”  aspas
 \\  barra
 \0  nulo
 \a  sinal sonoro
Exemplo:
printf("Este é um programa em C. \n Este texto estará em uma nova 
linha.");
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos de 
Entrada e Saída
 Para escrever o valor de uma variável deve-se
especificar onde o valor da variável deve ser impresso.
 Isso é feito através da especificação do código de
formato e definição de qual variável imprimir.
 Isso é feito dando-se mais um argumento à função
printf().
 Exemplo:
printf(“O valor da variável é %d”, variavel);
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos de 
Entrada e Saída
 Códigos de formato:
%c  caracter simples
%d  decimal
%f  ponto flutuante
%ld  inteiro “longo”
%o  octal
%s  cadeia de caracteres
%x  hexadecimal
%lf  double
Deve haver uma variável ou 
constante para cada código 
de formato! O tipo das 
variáveis ou constantes 
também deve coincidir com os 
códigos de formato. 
printf(“%d %f %c %lf”, a,b,c,d);
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos de 
Entrada e Saída
 A função “scanf()” 
 É a função de entrada formatada de dados pelo teclado. Sua sintaxe 
é similar à da função “printf“.
SINTAXE:
scanf(“<expr. de controle>“, <lista de argumentos>);
 A expressão de controle pode conter tanto códigos de formatação 
precedidos pelo sinal “%”, que indicam o tipo dos dados a serem 
lidos, como caracteres de espaçamento.
Exemplo:
scanf(“%d”,&variavel);
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Operador de 
Endereço &
 Um endereço de memória é o nome que o computador usa para 
identificar uma variável
 Toda variável ocupa uma área de memória e seu endereço é o 
primeiro byte por ela ocupado
 Quando usamos & precedendo uma variável estamos falando 
do endereço desta variável na memória
Lógica de Programação Prof. Teresinha Letícia da Silva
Exercício
Faça um programa em C para ler um número inteiro, que 
tenha no máximo três dígitos, e escrever a saída da seguinte 
forma:
CENTENA = x Exemplo: 157
DEZENA = x Centena = 1
UNIDADE = x Dezena = 5
Unidade = 7
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Estruturas de 
Decisão
 Permitir testes para decidir ações 
alternativas:
 if
 if - else
 switch
 (?:) Operador Condicional
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos condicionais
Estrutura if
 O comando if é usado para executar um 
segmento de código condicionalmente. 
 A forma mais simples do comando if é:
if (expressão) 
ação;
#include <stdio.h>
int x;
int main()
{
x = 10;
if (x>15)
{
printf("X é maior que 15\n");
}
}
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos condicionais
Estrutura if
 No caso do comando if-else o programa pode ter duas ações distintas. 
Se a expressão for verdadeira, será executado o conjunto de ações do 
comando1. Se for falsa será executado o conjunto de ações do 
comando2. 
if (expressão) 
{
comando1;
}
else {
comando2;
} 
#include <stdio.h>
int x, y;
int main()
{
x = 10;
y = 20;
if (x>15 && y>15)
{
printf("X e Y são maiores que 15\n");
}
else
{
printf("X e Y não são maiores que 
15\n");
}
}
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comandos condicionais 
Estrutura if
 O comando if não necessita de uma expressão lógica no lugar do
teste. Em C, qualquer expressão que resultar ZERO será considerada
como FALSA e qualquer outro valor é considerado VERDADEIRO.
 Em C também temos o comando if – else if - else que é
freqüentemente utilizado para executar múltiplas comparações
sucessiva. Sua forma geral é:
if (expressão1)
ação1;
else if (expressão2)
ação2;
else
ação3;
 Deve-se tomar cuidado com os comando if-else aninhados. O else
sempre está associado ao if mais próximo dentro do mesmo nível de
comandos. Blocos mais internos não são considerados.
Lógica de Programação Prof. Teresinha Letícia da Silva
Exercício
 Uma pessoa, ao realizar uma compra em um supermercado, recebe 
um número da sorte para concorrer a um prêmio no final do mês. O 
cálculo do número da sorte é feito da seguinte forma:
a) Caso a compra seja inferior a R$500,00 o número da sorte = 5000 -
Valor da compra * Idade
b) Caso a compra seja superior a R$500,00 o número da sorte = 50000 
- Valor da compra * Idade
c) Caso a compra seja igual a R$500,00 o número da sorte = Idade * 
Idade
Faça um algoritmo que receba o Valor Total da Compra e o Ano de 
Nascimento e informe ao usuário qual foi seu número da sorte.
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando de Seleção 
múltipla: SWITCH ou CASE 
 Quando se deseja testar uma variável ou uma 
expressão em relação a diversos valores usamos o 
comando de seleção múltipla.
 O valor da expressão seletora é comparado com cada 
elemento da lista de valores. Se existir um valor igual 
será executada somente a seqüência relacionada ao 
valor. Caso contrário, ou nenhuma seqüência será 
executada, ou a seqüência relacionadaá cláusula 
padrão será executada se ela existir.
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando de Seleção 
múltipla: SWITCH ou CASE 
 Sua sintaxe é:
switch (expressão) {
case <valor1>:
<comandos1>;
break;
case <valor2>:
<comandos2>;
break;
...
case <valor n>:
<comandos n>;
break;
default:
<comandos_padrão>;
}
Lógica de Programação Prof. Teresinha Letícia da Silva
Exercício
 Escreva um algoritmo para ler um valor 
inteiro de 1 a 7 e escrever a descrição do dia 
da semana correspondente. Caso o valor 
digitado esteja fora desse intervalo o usuário 
deverá ser alertado.
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando ?:
 Forma compacta de expressar uma instrução if – else
 (condição) ? expressão1 : expressão2
 Max = (num1 > num2) ? num1 : num2
 Note:
if (num1 > num2) max = num1;
else max = num2;
 Exemplo:
ABS = (num < 0) ? - num : num; 
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando for
for (<início>;<condição>;<incremento>) <comando>;
Na forma mais simples:
• Inicialização:
• expressão de atribuição
• sempre executada uma única vez
• Teste:
• condição que controla a execução do laço
• é sempre avaliada a cada execução
• verdadeiro continua a execução
• falso para a execução 
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando for
•Incremento:
• define como a variável de controle será alterada
• é sempre executada após a execução do corpo do laço
Exemplo: imprimindo números pares
#include<stdio.h>
main ( )
{
int numero;
for ( numero = 2; numero < 10; numero += 2 )
printf (“ %d”, numero);
}
Saída 2 4 6 8
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando for
 Flexibilidade: qualquer expressão de um laço “for” pode conter 
várias instruções separadas por vírgula.
for (x=0,y=0;x+y<100;++x,y=y+x) 
printf(“%d”,x+y);
Esta instrução inicializaria x e y com zero, incrementando x de
1 em 1 e y receberia seu valor acrescido do de x. O resultado
a cada iteração seria impresso desta forma: 0 (x=0 e y=0) 2
(x=1 e y=1) 5 (x=2 e y=3) 9 14 e assim sucessivamente.
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando for – Loop Vazio
 A presença do ponto e vírgula finalizando o 
comando, força a execução do loop sem que 
seja executado qualquer outro comando.
for(i=0;i<10;i++);
Lógica de Programação Prof. Teresinha Letícia da Silva
Exerício
 Faça um programa em C que escreve os 
números múltiplos de 7 entre 100 e 200, bem 
como a soma destes números.
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando While
while <condição> <comando>;
Exemplo: Contagem
#include <stdio.h>
main()
{
int i=0;
while (i < 10) {
printf(“%d”,i);
i++;
}
}
• O loop se repete, 
enquanto a condição 
for verdadeira
Lógica de Programação Prof. Teresinha Letícia da Silva
Revisão... Comando do - while
 Ao contrário das estruturas “for” e “while” que testam a condição 
no começo do loop, “do / while” sempre a testa no final, garantido 
a execução ao menos uma vez da estrutura.
do {
<comandos>;
} while <condição>;
Exemplo: Término determinado pelo 
usuário.
#include <stdio.h>
main()
{
int num;
do {
scanf(“%d”,&num);
} while (num < 100);
}
Lógica de Programação Prof. Teresinha Letícia da Silva
Exercício
 Faça um programa que, para um número
indeterminado de pessoas: leia a idade de
cada pessoa, sendo que a leitura da idade 0
(zero) indica o fim dos dados e não deve ser
considerada;
- calcule e escreva o número de pessoas;
- calcule e escreva a idade média do grupo;
- calcule e escreva a menor idade e a maior
idade.

Outros materiais

Perguntas Recentes