Linguagem C
- Introduo; E/S; Estruturas de Seleo e Repetio
Roteiro
Primeiro Programa em C Tipos, Variveis, Constantes e Operadores Entrada e Sada Estruturas Condicionais Estruturas de Repetio Exemplos (laboratrio) Exerccios
Primeiro Programa C
#include <stdio.h> /* Meu Primeiro Programa */ int main () { printf (Oi, meu primeiro programa!\n"); return(0); }
Tipos
0, 1, -47 0 (zero) possui valor lgico falso Inteiro diferente de 0 (zero) possui um valor lgico verdadeiro 3.14, 1.0, -2.1 C, D, i
Algoritmos e Estruturas de Dados Fundamentais 2013.1 4
char
Variveis
Um local da memria identificado, atravs do qual possvel o armazenamento de um nico tipo. Formato:
Tipo nome;
Exemplo:
int minhaIdade;
Atribuio
Constantes
Um local da memria identificado, atravs do qual possvel o armazenamento de um nico tipo e um nico valor. Formato:
#define NOME valor
Exemplo:
#define PI 3.1415926
Sada
Expresso de controle:
Caracteres a serem exibidos na tela e/ou cdigos de formatao que indicam o formato em que os argumentos devem ser escritos;
Exemplo:
printf("Este o numero dois: %d",2);
Cdigos de formatao
Entrada
A funo scanf() nos permite ler dados digitados no teclado. Sua sintaxe semelhante sintaxe do printf:
scanf("expresso de controle", argumentos);
A lista de argumentos deve ser o endereo na memria dos operandos. O endereo de um tipo bsico obtido atravs do smbolo "&.
10
int num; printf("Digite um nmero: "); scanf("%d",&num); printf("\no nmero %d",num); printf("\no endereo e %u",&num);
}
11
Faa um programa para calcular a mdia ponderada de um aluno. Esse aluno tem duas avaliaes (valendo 10), sendo que a primeira com peso 3 e a segunda com peso 7.
12
13
14
15
Operadores de comparao
Exemplo Devolvem o valor lgico falso (0) se a comparao for falsa, ou valor lgico verdadeiro (diferente de 0) se a comparao for verdadeira.
Algoritmos e Estruturas de Dados Fundamentais 2012.1 16
Estruturas condicionais IF
Faa isto
Sintaxe C
if (condicao){ comandos }
17
Estruturas condicionais IF
18
Caso contrrio...
Sintaxe C
19
Exemplo
int a = 4; if (a>0){ printf(a maior que zero !!!; } else{ printf(a no maior que zero !!!; }
20
Serve para agrupar vrios if.. else.. aninhhados em uma estrutura mais clara e legvel.
if (condicao){ //comandos } else if (condicao 2){ //comandos } else if (condicao 3){ //comandos } else if (condicao 3){ //comandos }
switch (valor){ case 1: comandos break; case 2: comandos break; default: comandos break; }
21
Exemplo
char pontuacao; printf("\n Digite um caracter de pontuacao:"); scanf("%c",&pontuacao); switch( pontuacao ) { case '.': printf("Voce digitou Ponto.\n" ); break; case ',': printf("Voce digitou Virgula.\n" ); break; case ':': printf("Voce digitou Dois pontos.\n" ); break; case ';': printf("Voce digitou Ponto e virgula.\n"); break; default : printf("Nao eh pontuacao.\n" ); };
22
Operadores lgicos
Tambm chamados de operadores booleanos, tem como resultado um valor booleano (verdadeiro ou falso) Normalmente utilizados quando se quer mltiplas condies ou condies alternativas
E:
&&
OU: ||
Sintaxe:
(condicao1) && (condicao2) (condicao1) || (condicao2)
Operadores lgicos
Exemplo (1)
int num = 15; if (num>10) && (num<21){ printf(num est entre 10 e 20); }
24
Operadores lgicos
Exemplo (2)
int num = 8; if (num<10) || (num>100){ printf(num menor que 10 ou num maior que 100); }
25
Permite repetir um bloco de cdigo vrias vezes, sob uma determinada condio. Sintaxe:
do{
bloco }while(condio);
onde:
condio uma expresso lgica ou numrica. bloco um conjunto de instrues (ou comandos).
26
Exemplo:
float num; do{ printf("Digite um numero positivo:"); scanf("%f",&num); }while(num <= 0.0);
27
A estrutura while semelhante estrutura do.. while, porm, esta estrutura faz com que a condio seja avaliada em primeiro lugar.
Sintaxe:
while(condio) {
bloco
}
28
Exemplo:
float num; scanf("%f",&num); while(num<=100) { printf(%f, num); num++; }
29
30
Sintaxe:
for(inicializao; condio; incremento){
bloco
}
onde:
inicializao uma expresso de inicializao do contador. condio uma expresso lgica de controle de repetio. incremento uma expresso de incremento do contador. bloco um conjunto de instrues a ser executado.
31
E agora?
Prof. MSc. Gilvan M. Dures Algoritmos e Estruturas de Dados Fundamentais 2012.1 33
Exerccios
Todos os exerccios realizados anteriormente com pseudocdigo devem ser feitos em C. Nao esquecam de analisar as mensagens de erros e utilizar as facilidades do debug do CodeBlocks!
Faa um programa para calcular a soma dos N primeiros mltiplos de um inteiro K, onde N e K so lidos e so nmeros inteiros e positivos.
Exemplo