Você está na página 1de 28

Linguagem C

Parte 2
OBJETIVOS
• Estruturas de Controle/Repetição;
• Funções.

Prof Silvano Oliveira (Linguagem C) 2


Estruturas de Controle
Repetição

Prof Silvano Oliveira (Linguagem C) 3


Laços condicionais com DO...WHILE / WHILE

while (expressão) {
comandos; Laço condicional com teste no início
}

do { Laço condicional com teste no final


comandos;
} while (expressão);

Prof Silvano Oliveira (Linguagem C) 4


Laço condicional

...
int i = 0;
while (i < 10) {
printf("olá!");
i = i + 1;
}
...

Prof Silvano Oliveira (Linguagem C) 5


Laços usando FOR
• Em C, a declaração da variável deve ser realizada antes
do for.
for (inicializacao; condicao; incremento) {
comandos;
}
Exemplo:

int i;
for (i = 0; i < 10; i++) {
printf("olá!");
}
Prof Silvano Oliveira (Linguagem C) 6
I’ll not throw paper airplanes in class

Prof Silvano Oliveira (Linguagem C) 7


I’ll not throw paper airplanes in class

#include <stdio.h>

int main(void) {
int count;
for(count=1;count<=500; count++)
printf("I’ll not throw paper airplanes in class!");
system(”pause”);
return(0);
}

Prof Silvano Oliveira (Linguagem C) 8


Exemplo – Linha de *

#include <stdio.h>

int main() {
int i, n;
printf("Digite um numero: ");
scanf("%d", &n);
for (i=0; i < n; i++) {
printf("*");
}
printf("\n");
return(0);
}
Prof Silvano Oliveira (Linguagem C) 9
Exemplo – Quadrado de *
#include <stdio.h>

int main() {
int coluna, linha, n;
printf("Digite um numero: ");
scanf("%d", &n);

for (linha=1; linha <= n; linha++) {


for (coluna=1; coluna <= n; coluna++) {
printf("* ");
}
printf("\n");
}
return(0);
}
Prof Silvano Oliveira (Linguagem C) 10
Controlando loops
• break e continue
main()
{
int i;
for (i = 0; i < 100; i++) {
if(i > 50 && i < 60) {
continue;
}
printf("%d\n", i);
}
}

Prof Silvano Oliveira (Linguagem C) 11


Funções

Prof Silvano Oliveira (Linguagem C) 12


Introdução às funções
• Uma função é um bloco de código de programa que pode
ser usado diversas vezes em sua execução.
• O uso de funções permite que o programa fique mais
legível, mais bem estruturado.
• Um programa em C consiste, no fundo, de várias funções
colocadas juntas.

Prof Silvano Oliveira (Linguagem C) 13


Introdução às funções
• Argumentos
• Argumentos são as entradas que a função recebe. É através
dos argumentos que passamos parâmetros para a função.
• As funções printf() e scanf() são funções que recebem
argumentos.

Prof Silvano Oliveira (Linguagem C) 14


Declaração

tipo_de_retorno
nome_da_função
(declaração_de_parâmetros)
{
corpo_da_função
}

Prof Silvano Oliveira (Linguagem C) 15


Exemplo – media de 2 números
#include<stdio.h>

float media2(float a, float b) {


return ((a + b) / 2.0);
}

int main() {
float num_1, num_2, media;
puts("Digite dois numeros:");
scanf("%f %f", &num_1, &num_2);
media = media2(num_1, num_2);
printf("\nA media destes numeros eh %f", media);
}

Prof Silvano Oliveira (Linguagem C) 16


Exemplo - soma

#include <stdio.h>
float soma(float a, float b) {
return a + b;
}
int main() {
float n1, n2;
printf("Digite um numero: ");
scanf("%f", &n1);
printf("Digite outro numero: ");
scanf("%f", &n2);
printf("Soma: %f\n", soma(n1, n2));
return 0;
}
Prof Silvano Oliveira (Linguagem C) 17
Procedimentos
• Em C NÃO há procedimentos. O mais próximo de
procedimentos em C são as funções que nada retornam,
ou seja, cujo retorno é void.

Prof Silvano Oliveira (Linguagem C) 18


Exemplo - repeticao
#include <stdio.h>
void repete(char texto[], int n) {
int i;
for (i=0; i < n; i++) {
printf("%s", texto);
}
}
int main() {
char palavra[20];
printf("Digite uma palavra: ");
fgets(palavra, 20, stdin);
repete(palavra, 10);
return 0;
}
Prof Silvano Oliveira (Linguagem C) 19
Exemplo de Função

#include <stdio.h>
/* Funcao simples: so imprime Ola! */
mensagem() {
printf("Ola! ");
}
main() {
mensagem();
printf("Eu estou vivo!\n");
}

Prof Silvano Oliveira (Linguagem C) 20


Exemplo de função

#include <stdio.h>
/* Calcula o quadrado de x */
int square(int x) {
return x * x;
}
main() {
int num;
printf("Entre com um numero: ");
scanf("%d", &num);
printf("\n\nO quadrado e %d\n", square(num));
}

Prof Silvano Oliveira (Linguagem C) 21


Exemplo de função

#include <stdio.h>
int prod(int x, int y) {
return (x*y);
}
main() {
int saida;
saida=prod(12, 7);
printf("A saida e: %d\n", saida);
}

Prof Silvano Oliveira (Linguagem C) 22


Exemplo de função

#include <stdio.h>
float prod(float x, float y) {
return (x*y);
}
main() {
float saida;
saida=prod(45.2, 0.0067);
printf("A saida e: %f\n", saida);
}

Prof Silvano Oliveira (Linguagem C) 23


Exercício
• Escreva uma função para receber dois números e,
depois, exibir a sua soma.

Prof Silvano Oliveira (Linguagem C) 24


Solução

#include <stdio.h>
main() {
float n1, n2;
printf("Digite um numero: ");
scanf("%f", &n1);
printf("Digite outro numero: ");
scanf("%f", &n2);
printf("A soma e: %f\n", (n1 + n2));
}

Prof Silvano Oliveira (Linguagem C) 25


Exercícios
• Sabendo que os argumentos da função "printf" podem
ser expressões (a+b, a/b, a*b...), e não somente
argumentos, faça um programa capaz de ler um valor
inteiro X e imprimir na tela o cubo, o quadrado e a
metade de X.

Ex.: para X= 6, imprimir

Cubo = 18; Quadrado = 36; Metade = 3.


Prof Silvano Oliveira (Linguagem C) 26
Solução

#include <stdio.h>
main() {
float n1;
printf("Digite um numero: ");
scanf("%f", &n1);
printf(“\n Cubo: %f“, n1 * n1 * n1);
printf(“\n Quadrado: %f“, n1 * n1);
printf(“\n Metade: %f“, n1 / 1);
}

Prof Silvano Oliveira (Linguagem C) 27


Obrigado...

Prof Silvano Oliveira (Linguagem C) 28

Você também pode gostar