Você está na página 1de 8

Assuntos abordados:

• Estrutura da função main()


• Utilização de funções das bibliotecas padrão stdio.h e stdlib.h
• Declaração de variáveis
• Atribuição de valores às variáveis
• Comando de I/O – entrada e saída de dados
• Controle de fluxo – if e else
• Controle de fluxo – for, while e do-while
• Em anexo os códigos comentados

Vanessa Balbo – aluna do segundo do curso Análise de Sistemas


Comparando C com Portugol

Este algoritmo apresenta o resultado da soma de 4 e 6.

Em portugol Em C

VAR #include<stdio.h>
A,B,C: inteiro #include<stdlib.h>
INICIO int main()
A<-4 {
B<-6 int a,b,c;
C<-A+B a=4;
escreva (C) b=6;
FIM c=a+b;
printf("%d",c);
system("pause");
}
Explicação do código
É uma biblioteca padrão de comandos, utilizada neste algoritmo por causa da função printf (de saída de dados)

#include = incluir
#include<stdio.h>
std = standart = padrão
i = input = entrada
o = output = saída

#include<stdlib.h> é uma biblioteca que contém o comando system(“pause”)

int main() está declarando uma função que retorna um valor do tipo inteiro
int - tipo de dado inteiro de retorno
int main()
main() nome de uma função principal
Todo código em C deve ter a função main() e somente uma função main()
{ Indica o INÍCIO do programa
int a,b,c; Declara as variáveis do tipo inteiro
a=4; = é o sinal de atribuição (como o <- no portugol)
b=6; Atribui 6 à variável b
c=a+b; Efetua a soma e atribui o resultado à variável c

Equivale ao escreva do portugol

A função printf não é defaul, ou seja, vem de uma biblioteca externa (stdio.h) e por isso não reconhece os dados
printf(“%d”,c);
trabalhados na função main(), portanto é necessário informar a ela o tipo do dado e onde ele será apresentado.

Para sinalizar que o dado é inteiro usa “%d” ou o “%i”.

Insere uma pausa após a execução para se visualizar o resultado.


system(“pause”);
Apresenta a mensagem “Pressione qualquer tecla para continuar …”

} Indica o FIM do programa


Este algoritmo solicita ao usuário que digite dois números e apresenta a soma deles.

Em portugol Em C

VAR #include<stdio.h>
A,B,C: inteiro #include<stdlib.h>
INICIO int main()
escreva (“Digite dois números”) {
leia (A,B) int a,b,c;
C<-A+B printf("Digite dois numeros");
escreva (C) scanf("%d%d",&a,&b);
FIM c=a+b;
printf("O resultado e %d", c);
system("pause");
}

scanf equivale ao ler do portugol.


scanf(“%d%d,&a,&b); “%d%d” avisa que serão lidos dois números inteiros
& lê ponteiros (uma variável que armazena endereços de memória)

Printf(O resultado é %d, c); O valor da variável será apresentado onde está o %d
Controle de fluxo – desvio – comandos if e else
Este algoritmo lê um número inteiro e escreve se o número é par ou ímpar.
Algoritmo ParImpar O ponto e vírgula (;) tem a função de encerrar
uma instrução e passar para outra.
#include<stdio.h>
#include<stdlib.h> A estrutura if não tem (;) no final
int main() porque a instrução não é encerada aí,
{ neste ponto apenas é apresentada a condição
int n; para verificar qual das instruções
printf("Digite um numero"); posteriores será executada.
scanf("%d",&n);
if(n%2==0) Avaliando a linha de comando if(n%2==0)
{
printf("%d e par", n); % retorna o resto da divisão entre o n e 2
}
else = = verifica a igualdade de valores
{
printf("%d e impar", n); Assim temos o seguinte comando:
}
system("pause"); Se o resto da divisão de n e 2 for igual a zero
} o número é par senão o número é ímpar.
Controle de fluxo - looping – laço
for, while e do-while
Os três algoritmos abaixo geram a seqüência de números 1, 2, 3, 4, 5.

for while do-while


#include<stdio.h> #include<stdio.h>
#include<stdio.h> #include<stdlib.h> #include<stdlib.h>
#include<stdlib.h> int main() int main()
int main() { {
{ int n=1; int n=1;
int n; while(n<=5) do
for (n=1; n<=5; n++) { {
{ printf("%d", n); printf("%d", n);
printf("%d", n); n++; n++;
} } }
system("pause"); system("pause"); while(n<=5);
} } system("pause");
}
for for (n=1; n<=5; n++)
Numa única linha de comando:
•n=1 inicializa a variável de controle
•n<=5 estabelece a condição para saída do laço
•n++ incrementa a variável de controle

while Os processos de inicialização de variável de controle, condição de


saída do laço e incremento da variável de controle são feitos em
linhas independentes.

int n=1;

while(n<=5)

n++;
Mesmas regras do while, porém aqui a condição de saída do laço
do-while será testada somente no final da primeira execução, ou seja, as
instruções serão executadas pelo menos uma vez.
do

Executa as instruções uma vez e testa a condição

while(n<=5);
Dicas de estudos:

• Utilize o DevC++ para treinar

• Neste link você encontra um tutorial para baixar e instalar o programa

• Leia a apostila em anexo desenvolvida pela UFMG

• Acompanhe os exercícios comentados e desenvolva outros algoritmos

Até logo!