Introdução à Linguagem C
Funções BásicasLuis Antonio Tavares
luistavares.com
Conceitos Ambiente de desenvolvimento Estrutura de um programa Tipos e variáveis Instruções básicas Operadores Condições Laços de repetição Funções
Tópicos
luistavares.com
Como escrevemos programasem Linguagem C?
Codificação Compilação Executável
luistavares.com
Como escrevemos programas?
Codificação Compilação Executável
#include <stdio.h>#include <conio.h>int main (void) {
printf("Ola Mundo");
getch( ); return 0;
}luistavares.com
Estrutura Inicial de Um Programa
#include <stdio.h>#include <conio.h>int main (void) {
getch( );
return 0;
}
Instruções
luistavares.com
Estrutura Inicial de Um Programa
#include <stdio.h> /* Inclusão de Biblioteca */#include <conio.h> /* Inclusão de Biblioteca */
int main (void) { /* Chave delimita o início do código */
getch( ); /* Função que mantém a tela aberta*/
return 0; /* Retorno informando sucesso */} /* Chave delimita o fim do código */
luistavares.com
printf() – escreve uma mensagem na tela.
scanf() – lê um valor do teclado.
Porém para o uso dessas função é necessário incluir as bibliotecas às quais as funções básicas pertencem:
#include <stdio.h> /* Contém a printf e a scanf */
#include <conio.h> /* Contém a getch */
Funções Básicas
luistavares.com
Primeiro Programa em C
#include <stdio.h>#include <conio.h>int main(void) {
printf(“Ola Mundo!");getch();return 0;
}
luistavares.com
Declarando Variáveis Inteiras
#include <stdio.h>#include <conio.h>
int main(void) {
int a; /* Declarando uma variável inteira */
return 0;}
luistavares.com
Variáveis Inteiras Em Um Programa
#include <stdio.h>#include <conio.h>
int main(void) {int a, q; /* Declarando variável inteira */printf("Informe um valor inteiro: ");scanf("%d", &a); /* Função Leia */q = a * a;printf(“Esse valor ao quadrado eh: %d", q);return 0;
}
luistavares.com
Comparativo com Pseudocódigo
printf("Informe um valor inteiro: ");ESCREVA (“Informe um valor inteiro: ”)
scanf("%d", &a); LEIA (a);
printf(“Esse valor ao quadrado eh: %d", q);ESCREVA (“Esse valor ao quadrado eh: ”, q);
luistavares.com
Declarando Variáveis Reais#include <stdio.h>#include <conio.h>
int main(void) {
float a; /* Declarando uma variável real */
return 0;}
luistavares.com
Variáveis Reais Em Um Programa#include <stdio.h>#include <conio.h>
int main(void) {float a, q; /* Declarando variável real */printf("Informe um valor real: ");scanf("%f", &a);q = a * a;printf(" Esse valor ao quadrado eh: %f", q);return 0;
}
luistavares.com
Comparativo com Pseudocódigo
printf("Informe um valor real: ");ESCREVA (“Informe um valor real: ”)
scanf("%f", &a); LEIA (a);
printf(“Esse valor ao quadrado eh: %f", q);ESCREVA (“Esse valor ao quadrado eh: ”, q);
luistavares.com
Exemplo da Soma de Dois Nos
#include <stdio.h>#include <conio.h>int main(void) {
int a, b, soma; printf("Informe o primeiro numero: ");scanf("%d", &a);printf("Informe o segundo numero: ");scanf("%d", &b);soma = a + b;printf("O salario novo eh: %d", soma);return 0;}
luistavares.com
Sem a Parte que Delimita o Programa
#include <stdio.h>#include <conio.h>int main(void) {
return 0;}
luistavares.com
Apenas o Corpo do Programaint a, b, soma; printf("Informe o primeiro numero: ");scanf("%d", &a);printf("Informe o segundo numero: ");scanf("%d", &b);soma = a + b;printf("O salario novo eh: %d", soma);
luistavares.com
Calcular a idade daqui a 15 anos.Calcular o quadrado de um número simples.
Implementar o problema do salário + abono em Linguagem C.
Implementar o problema do dólar em Linguagem C.
Exemplos que vamos implementar no Laboratório
luistavares.com
Introdução à Linguagem C
CondiçõesLuis Antonio Tavares
luistavares.com
Condições serão usadas sempre que precisarmos testar o valor de uma variável.
Desta forma podemos definir instruções que serão executadas caso um condição seja verdadeira e instruções alternativas, caso a condição não seja verdadeira.
Condições
luistavares.com
Fluxograma Maior Número
Início
Escreva o 1º
número:
A
Escreva o 2º
número:
B
A > B
B
A
Fim
Verdadeiro
Falso
luistavares.com
Algoritmo MAIOR_NUMEROVariaveis
A, B: REAIS;
Inicio ESCREVA ("Digite o primeiro numero: "); LEIA ( A ); ESCREVA ("Digite o segundo numero: "); LEIA ( B ); SE ( A > B ) ENTAO
ESCREVA (“O maior numero eh: ”, A);SENAO
ESCREVA (“O maior numero eh: ”, B);FIM_SE
Fim
luistavares.com
#include <conio.h>#include <stdio.h>int main (void){
float a, b;printf ("Informe o primeiro numero: ");
scanf ("%f", &a);
printf ("Informe o segundo numero: ");
scanf ("%f", &b);
if (a > b){
printf ("O maior numero eh: %f", a);}
else {
printf ("O maior numero eh: %f", b);}
getch( );
return 0;
}luistavares.com
Fluxograma Média
Início
Escreva o 1º
número:
A
Escreva o 2º
número:
B
MEDIA (A+B) / 2
MEDIA
MEDIA >= 60
Reprovado
Aprovado
Fim
Verdadeiro
Falso
luistavares.com
Pseudocódigo ExemploAlgoritmo PROGRAMA_EXEMPLOVariaveis
A, B, MEDIA: REAIS;
Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE (MEDIA >= 60) ENTAO
ESCREVA (“APROVADO!”);SENAO
ESCREVA (“REPROVADO!”);FIM_SE
Fim
luistavares.com
#include <conio.h>#include <stdio.h>int main (void){
float a, b, media;printf ("Informe o primeiro numero: ");
scanf ("%f", &a);
printf ("Informe o segundo numero: ");
scanf ("%f", &b);
media = (a + b) / 2;if (media >= 60){
printf (“Aprovado");}
else {
printf (“Reprovado");}
getch( );
return 0;
}luistavares.com
Maior > Ex.: A > B Maior Igual >= Ex.: A >= B Menor < Ex.: A < B Menor Igual <= Ex.: A <= B Diferente != Ex.: A != B Igual == Ex.: A == B
Exemplo:if ( NUM == 20 ) {
printf(“O NUMERO INFORMADO EH O NUMERO 20!”);
}
Operadores Relacionais
luistavares.com
Operador E Ex.: A > 60 && B < 40
Operador OU Ex.: A > 60 || B < 40
Operador NÃO Ex.: ! (A > 60)
Operadores Lógicos
luistavares.com
Exemplo Operador E:if ( NUM > 20 && NUM < 30 ) {
printf (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”);
}
Exemplo Operador OU:if ( NUM > 20 || NUM < 30 ) {
printf (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”);
}
Operadores Lógicos
luistavares.com
Algoritmo PROGRAMA_EXEMPLOVariaveis
A, B, MEDIA: REAIS;
Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA (A + B) / 2;ESCREVA (“A MEDIA EH: “, MEDIA);SE ( MEDIA >= 60 ) ENTAO
ESCREVA (“Aprovado!”);SENAO SE ( MEDIA >= 30 ) ENTAO
ESCREVA (“Recuperação!”);SENAO
ESCREVA (“Reprovado!”);FIM_SE
Fimluistavares.com
#include <conio.h>#include <stdio.h>int main (void){
float a, b, media;printf ("Informe o primeiro numero: ");
scanf ("%f", &a);
printf ("Informe o segundo numero: ");
scanf ("%f", &b);
media = (a + b) / 2;printf (“A media eh: %f\n", media);
if (media >= 60){
printf ("Aprovado");}
else if (media >= 30) {
printf ("Recuperacao");}
else {
printf ("Reprovado");}
getch( );
return 0;
}luistavares.com
Introdução à Linguagem C
Laços de RepetiçãoLuis Antonio Tavares
luistavares.com
Os laços de repetição ou loops se encarregam de repetir determinado bloco de instruções enquanto uma condição for verdadeira.
Temos basicamente dois tipos de loops em Linguagem C: O for (para) e o while (enquanto).
Laços de Repetição
luistavares.com
O loop while se trata-se do loop mais simples.
Funcionamento: O bloco de código definido neste loop fica em execução enquanto uma determinada condição for verdadeira. Cada vez que o bloco é iniciado, a condição é novamente testada, quando não for mais verdadeira, o loop é encerrado.
Laço de Repetição WHILE
luistavares.com
Sintaxe Loop WHILE
while (condição) {
bloco de código;
}
luistavares.com
Loop ENQUANTO em pseudocódigoALGORITMO LOOP_ENQUANTOVARIAVEIS
CONT : INTEIRO;INICIO
CONT 1;ENQUANTO ( CONT < 5 ) FAÇA
ESCREVA (“Numero: ”, CONT);CONT CONT + 1;
FIM_ENQUANTOFIM
luistavares.com
Loop ENQUANTO em linguagem C#include <conio.h>#include <stdio.h>int main (void){
int cont = 1;while (cont < 5){
printf("Numero: %d\n", cont);
cont = cont + 1;}getch( );return 0;
}
luistavares.com
Exemplo Programa MédiaALGORITMO PROGRAMA_MEDIA_COM_LOOPVARIAVEIS
MEDIA, N1, N2: REAIS;NUM: INTEIRO;
INICIONUM 1;ENQUANTO ( NUM == 1 ) FAÇA
ESCREVA (“Informe a primeira nota: ”); LEIA ( N1 ); ESCREVA (“Informe a segunda nota: ”); LEIA ( N2 ); MEDIA ( N1 + N2 ) / 2; ESCREVA (“Sua media eh: ”, MEDIA); ESCREVA (“Digite 1 se deseja continuar no programa”); LEIA ( NUM );
FIM_ENQUANTOFIM
luistavares.com
#include <conio.h>#include <stdio.h>int main (void) {
float media, n1, n2;int num = 1;while (num == 1) {
printf ("Informe a primeira nota: ");scanf ("%f", &n1);printf ("Informe a segunda nota: ");scanf ("%f", &n2);media = ( n1 + n2 ) / 2;printf ("Sua media eh: %f\n", media);printf ("Digite 1 se deseja continuar no programa: ");scanf ("%d", &num);
}return 0;
}
luistavares.com
O loop for trabalha de uma forma um pouco diferente do loop while.
Funcionamento: No loop for, uma variável pode ser inicializada com um valor qualquer, e o bloco de código definido neste loop vai ser executado enquanto uma determinada condição for verdadeira. Neste loop também definidos uma operação de incremento de uma variável que será feita cada vez que o loop for executado.
Laço de Repetição FOR
luistavares.com
Sintaxe Loop FOR
for (inicialização; condição; incremento) {
bloco de código;}
Exemplo:for (cont=1; cont<=5; cont++) {
bloco de código;}
luistavares.com
Loop PARA em pseudocódigoALGORITMO LOOP_PARAVARIAVEIS
CONT : INTEIRO;INICIO
PARA CONT 1 ATÉ 5, PASSO 1, FAÇAESCREVA (“Numero: ”, CONT);
FIM_PARAFIM
A cada execução do loop dá-se o nome de iteração (iteração sem o N mesmo, não confunda com interação.)
luistavares.com
#include <conio.h>#include <stdio.h>int main (void){
int cont;for (cont=1; cont<=5; cont++){
printf (“Numero: %d”, cont);}
getch( );
return 0;
}
luistavares.com
Loop PARA em linguagem C
O loop do... while é uma derivação do loop while. A diferença é que com esse loop, o bloco de código é executado uma vez antes da condição ser verificada.
Laço de Repetição DO WHILE
luistavares.com
Sintaxe Loop DO WHILE
do {
bloco de código;
} while (condição);
luistavares.com
Loop FAÇA ENQUANTO pseudocódigo
ALGORITMO LOOP_FACA_ENQUANTOVARIAVEIS
CONT: INTEIRO;INICIO
CONT 0;FAÇA
ESCREVA (“Numero: ”, CONT);CONT CONT + 1;
ENQUANTO ( CONT < 5 )FIM
luistavares.com
Loop FAÇA ENQUANTO em C#include <conio.h>#include <stdio.h>int main (void){
int cont = 0;do{
printf("Numero: %d\n", cont);
cont = cont + 1;} while (cont < 5);getch( );return 0;
}
luistavares.com
Maior > Ex.: A > B Maior Igual >= Ex.: A >= B Menor < Ex.: A < B Menor Igual <= Ex.: A <= B Diferente != Ex.: A != B Igual == Ex.: A == B
Exemplo:while ( NUM < 20 ) {
printf(“O NUMERO INFORMADO EH MENOR QUE 20! ”);printf(“INFORME NOVAMENTE UM NUMERO: ”);scanf(“%d”, &NUM);
}
Operadores Relacionais
luistavares.com
Exemplo Operador E:while( NUM > 20 && NUM < 30 ) {
printf (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30! ”);
printf(“INFORME NOVAMENTE UM NUMERO: ”);scanf(“%d”, &NUM);
}
Exemplo Operador OU:while ( NUM > 20 || NUM < 30 ) {
printf (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30! ”);
printf(“INFORME NOVAMENTE UM NUMERO: ”);scanf(“%d”, &NUM);
}
Operadores Lógicos
luistavares.com
Comando break Também é possível deixar o loop rodando em
uma condição que será sempre verdadeira e usar uma condição if com o comando break para encerrar o loop.
Veja o exemplo:
while (1) {printf(“Mensagem Qualquer");cont = cont + 1;if (cont == 5) {
break;}
}luistavares.com
luistavares.com
Exercícios
Introdução à Linguagem C
FunçõesLuis Antonio Tavares
luistavares.com
São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).
Quando uma mesma tarefa é realizada várias vezes em um programa, não é necessário duplicar o código, apenas faz-se a chamada da função que contém o código da tarefa.
Este processo é conhecido como modularização.
Funções
luistavares.com
Uma função deve vir externa ao escopo do main e deve receber um nome;
É necessário informar o tipo de seu retorno (retorno é o dado devolvido pela função), por exemplo:
◦ int para retorno do tipo inteiro;◦float para retorno do tipo real;◦void para função sem retorno.
Como criar uma função em C
luistavares.com
Também é necessário informar os tipos de seus argumentos, quando houver;
O escopo de uma função é delimitado por chaves { }. Exemplo:
void oi( ) {printf ("Oi! \n");
}
Como criar uma função em C
luistavares.com
#include<conio.h>#include<stdio.h>int main( void ) {
/* Chamada de Função Sem Retorno */
oi( ); getch( );return 0;
}luistavares.com
Chamada de função
A palavra int antes do nome da função indica que a função irá retornar um valor inteiro.
int calcula_quadrado(int a) {int result;result = a * a;return result;
}
Função com Retorno em C
luistavares.com
O retorno acontece através do comando return.
int calcula_quadrado(int a) {int result;result = a * a;return result;
}
Função com Retorno em C
luistavares.com
Observe que esta função está recebendo um valor inteiro como argumento, que foi chamado de a.
int calcula_quadrado(int a) {int result;result = a * a;return result;
}
Passagem de Parâmetros
luistavares.com
#include<conio.h>#include<stdio.h>
int calcula_quadrado (int a) {int result;result = a * a;return result;
}
int main (void) {int num, r;printf ("Informe um valor: ");scanf ("%d", &num);r = calcula_quadrado (num);printf ("Quadrado: %d", r);getch ( );return 0;
}
Exemplo Complet
o
luistavares.com
A palavra float antes do nome da função indica que a função irá retornar um valor real;
A função seguinte está dividindo um parâmetro por outro e retornando o resultado.
float divide (float a, float b) {float result;result = a / b;return result;}
Retorno de tipo real em C
luistavares.com
int main(void) {float n1, n2, r;printf ("Informe o primeiro numero: ");scanf ("%f", &n1);printf ("Informe o segundo numero: ");scanf ("%f", &n2);r = divide (n1, n2);printf (“Divisao: %f", r);getch ( );return 0;
}
Chamada para a função
Chamada para a função
luistavares.com
luistavares.com
Exercícios
Top Related