Вы находитесь на странице: 1из 37

Linguagem de Programação

C
Introdução

Prof.José Augusto Cintra


http://www.josecintra.com/blog
Introdução
Nestas aulas abordaremos conceitos básicos da
linguagem C.
Pressupõe-se que o leitor já possua
conhecimentos de algoritmos e lógica de
programação em pseudocódigo (Portugol).
Você pode achar material e exercícios
resolvidos sobre o assunto no meu blog em:

http://josecintra.com/blog/algoritmos-logica-programacao-aulas/

2
Parte I

Conceitos básicos

3
Histórico
 Criada por Denis Ritchie e Kenneth
Thompson, na década de 1970, para uso em um
computador DEC PDP-11 em Unix
 C++ é uma extensão da linguagem C
 O sistema Unix, assim como a maioria dos
software de base são escritos em C e C++
 Existem compiladores C para praticamente
todos os processadores existentes.

Kenneth Thompson (à esquerda) e Dennis Ritchie (à direita),


os criadores da linguagem C
4
Ranking das linguagens

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

5
Estrutura básica de um programa C

diretivas para o pré-processamento


declaração de variáveis globais
main ()
{
declaração de variáveis
comandos
}

6
Estrutura básica de um programa C
 Diretiva #include permite incluir uma
biblioteca
 Bibliotecas contêm funções pré-definidas,
utilizadas nos programas
 Exemplos:

#include <stdio.h> Funções de entrada e saída


#include <stdlib.h> Funções padrão
#include <math.h> Funções matemáticas

#include <string.h> Funções de texto

7
Comentários

 Use comentários, iniciados por // ou entre


/* */

/* isto é um
comentário */

// isto também é um comentário

8
Exemplo

/* meu primeiro programa C */


#include <stdio.h>
#include <stdlib.h>
main()
{
printf ("Alo mundo!"); //mostra
system("PAUSE"); //fica parado
}

 Obs:Todos os comandos devem terminar com


ponto e virgula (;)

9
Declaração de variáveis
 Os nomes das variáveis devem conter apenas
letras, dígitos e o símbolo _ e iniciar com
letra ou _
 C diferencia letras maiúsculas de
minúsculas!
 De início, trabalharemos com os tipos
abaixo:

Portugol C
inteiro int
real float

10
Declaração de variáveis
Em Portugol Na Linguagem C

var
media : real float media;
idade : inteiro int idade;

11
Entrada de Dados
 Usaremos a função “scanf” que será o
equivalente à função “leia” do Portugol

 scanf ("formatos", &var1, &var2,...)

 Osformatos que usaremos, por enquanto


são:

 “%d”  inteiro decimal


 “%f”  float

12
Entrada de Dados
Em Portugol Na Linguagem C...

Para as variáveis Para as variáveis


N1 do tipo inteiro e N1 do tipo int e
N2 do tipo real N2 do tipo float

leia(N1) scanf ("%d",&n1);


leia(N2) scanf ("%f",&n2);
leia(N1,N2) scanf (“%d%f”,&n1,&n2);

13
Operadores matemáticos

Operador Exemplo Comentário


+ x + y Soma x e y

- x – y Subtrai y de x

* x * y Multiplica x e y

/ x / y Divide x por y

% x % y Resto da divisão de x por y

++ x++ Incrementa em 1 o valor de x

-- x-- Decrementa em 1 o valor de x

14
Operadores de atribuição
 O operador de atribuição do C é o sinal de
igual (=) que seria o equivalente ao <- do
Portugol

Exemplo:

int idade, nova_idade;


idade = 18;
nova_idade = nova_idade + 1;

15
Operadores de atribuição

Operador Exemplo Comentário


= x = y Atribui o valor de y a x

+= x += y Equivale a x = x + y

-= x -= y Equivale a x = x – y

*= x *= y Equivale a x = x * y

/= x /= y Equivale a x = x / y

%= x %= y Equivale a x = x % y

16
Saida de dados
 Usaremos a função “print” que será o
equivalente à função “escreva” do Portugol

 printf ("formatos", var1, var2,...)


 Os formatos que usaremos, por enquanto são:

 “%d”  inteiro decimal


 “%f”  float

17
Saída de Dados
Em Portugol Na Linguagem C...

Para as variáveis Para as variáveis


N1 do tipo inteiro e N1 do tipo int e
N2 do tipo real N2 do tipo float

escreva(N1) printf ("%d“,n1);


escreva(N2) printf ("%f“,n2);
escreva(N1,N2) printf (“%d%f”,n1,n2);

18
Exemplo completo
//Cálculo da média
#include <stdio.h>
#include <stdlib.h>
main()
{
//Declaração de variáveis
float nota1, nota2, media;
//Entrada de dados
printf ("Digite primeira nota: ");
scanf ("%f" ,&nota1);
printf ("Digite segunda nota: ");
scanf ("%f" ,&nota2);
//Processamento
media=(nota1+nota2)/2;
// Saída de dados
printf ("Media = %f",media);
system("PAUSE");
19
}
Parte II

Estruturas de Decisão

20
Estruturas de Decisão

São estruturas que, dada a avaliação de uma


expressão lógica (condição), permitem a
escolha de um fluxo de instruções a ser
executado
ƒ
No máximo só podem existir dois fluxos de
instruções:
Um se a condição for Verdadeira e outro se a
condição for Falsa

Para avaliar as expressões, podemos usar os


operadores relacionais e os operadores
lógicos
21
Operadores Relacionais

Operador Exemplo Significado


== x == y O conteúdo de x é igual ao de y?

!= x != y O conteúdo de x é diferente do de y?

<= x <= y O conteúdo de x é menor ou igual ao de y?

>= x >= y O conteúdo de x é maior ou igual ao de y?

< x < y O conteúdo de x é menor que o de y?

> x > y O conteúdo de x é maior que o de y?

As expressões relacionais em C retornam:


1 se verdadeiro
0 se falso.
22
Operadores Lógicos
 && (E lógico): retorna verdadeiro se ambos
os operandos são verdadeiros e falso nos
demais casos.
Exemplo: if( a>2 && b<3).

 || (OU lógico): retorna verdadeiro se pelo


menos um dos operandos é verdadeiro, e
falso se ambos são falsos.
Exemplo: if( a>1 || b<2).

 ! (NÃO lógico): usada com apenas um


operando. Retorna verdadeiro se o operando
é falso e vice-versa.
Exemplo: if( !var ). 23
Tabela Verdade

Tabela E Tabela OU Tabela NÃO

VeVV V ou V  V Não V  F

VeFF V ou F  V Não V  F

FeVF F ou V  V

FeFF F ou F  F
24
Estrutura de Decisão
Em portugol, o Na linguagem C a
comando de decisão sintaxe é esta;
tem a seguinte
sintaxe: if (<condiçao>) {
<bloco de comandos>
se <condição> entao }
<bloco de comandos> else {
senao
<bloco de comandos>
<bloco de comandos> }
fimse

25
Estrutura de Decisão
Observações:
 Em C, a condição deve estar entre
parênteses;
 Não existe a cláusula then e fimse;
 O bloco de comandos deve estar entre
chaves{} (a menos que seja um único
comando;
 A cláusula else é opcional;
 A expressão é avaliada. Se ela for
verdadeira, o bloco if é executado. Caso
contrário, o bloco do else (se existir) é
executado;
 Lembre-se: Apenas o código associado ao
if ou else será executado, nunca ambos.
26
Exemplo

Escreva um algoritmo para determinar se uma pessoa é


maior ou menor idade.

#include <stdio.h>
#include <stdlib.h>
main (){
int idade;
printf ("Digite a idade da pessoa: ");
scanf ("%d", &idade);
if (idade >= 18)
printf ("Pessoa é maior de idade.\n");
else
printf ("Pessoa é menor de idade.\n");
system("pause");
}
27
Parte III

Estruturas de Repetição

28
Estruturas de Repetição

São estruturas que permitem executar um


trecho de código várias vezes de acordo com
uma condição de parada.

Na linguagem C podemos escolher entre três


tipos de estruturas de repetição:

 while (avalia a condição no início do laço)


 do while (avalia a condição no fim do laço)
 for (Usada principalmente em contagens)

Como veremos a seguir...

29
Estrutura while

while (condição){
<blocos de comandos>
}

 Não esquecer dos parênteses;


 O bloco de comandos será executado
enquanto a condição for verdadeira;
 O programador deve cuidar para que a
condição fique falsa em algum
momento, do contrário o programa fica
indefinidamente repetindo os
comandos.

30
Exemplo while
#include <stdio.h>
#include <stdlib.h>
//Exibir os números de 1 a 10 usando o
comando while
main()
{
int cont = 1 ;
do while(cont <= 10) {
printf ("%d \n", cont);
cont++;
}
system("PAUSE");
}
Pergunta: O que vai acontecer se você
inicializar a variável cont com o valor 11?

31
Estrutura do while
do {
<blocos de comandos>
} while (condição);

• Não esquecer dos parênteses;


• Os comandos serão executados pelo menos
uma vez. E continuarão sendo executados
enquanto a condição for verdadeira;
• O programador deve cuidar para que a
condição fique falsa em algum momento, do
contrário o programa fica indefinidamente
repetindo os comandos.

32
Exemplo do while
#include <stdio.h>
#include <stdlib.h>
//Exibir os números de 1 a 10 usando o
comando do while
main()
{
int cont = 1 ;
do {
printf ("%d \n", cont);
cont++;
} while (cont <=10)
system("PAUSE");
}
Pergunta: O que vai acontecer se você
inicializar a variável cont com o valor 11?

33
Estrutura for

for (var=inicio; condição; incremento){


<bloco de comandos>
}

 Não esquecer dos parênteses;


 Os comandos serão executados enquanto a
condição for verdadeira
 O incremento ou decremento é executado
automaticamente após a execução dos
comandos

34
Exemplo for
#include <stdio.h>
#include <stdlib.h>
//Exibir os números de 1 a 10 usando o
comando for
main()
{
int cont ;
for (cont = 1; cont <= 10; contador++ )
{
printf ("%d \n", cont);
}

system("PAUSE");

}
35
Comando break
E para forçar o término da repetição?
Use um break.
Exemplo: Saída:
#include <stdio.h> 1
#include <stdlib.h> 2
main(){ 3
int I; 4
for (I=1; I<=10; I=I+1){ 5
printf ("%d\n",I); após o FOR: 5
if (I==5) break; Press any key
} to continue...
printf(“apos o FOR: %d\n",I);
}

Atenção para o valor de saída da variável de controle 36


Saiba mais...
Estas aulas foram adaptadas e compiladas a
partir dos seguintes textos disponíveis na
Internet:

www.deinf.ufma.br/~cav/c-basico.ppt
www.inf.ufrgs.br/~alvares/INF01040/Aula5-IntroducaoC.ppt
http://www.fsc.ufsc.br/~canzian/root/tutorial-c-unicamp.pdf

Consulte o blog para materiais complementares e exercícios


resolvidos
http://www.josecintra.com/blog

37

Вам также может понравиться