Você está na página 1de 9

07/04/2015

Escolade
Escola deCiência
CiênciaeeTecnologia
Tecnologia
Superior de Tecnologia
Curso: Superior em Analise
de Tecnologia em e
Desenvolvimento
Análise de Sistema
e Desenvolvimento de Sistema

Fundamentos de
Programação II - C

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Acentuação no Console
• Para que o DEV C++ mostre os acentos no console,
temos que acrescentar as seguintes linhas:
#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "Portuguese");
}
2

1
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

O que será impresso na tela?


#include<stdio.h>
int main()
{
printf ("Teste %% %%\n");
printf ("%f\n",40.345);
printf ("Um caractere %c e um inteiro %d\n",'D',120);
printf ("%s eh um exemplo\n","Este");
printf ("%s%d%%","Juros de ",10);
return 0;
}
3

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Operadores Relacionais
Operador Exemplo Comentário
== 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 0 se falso e qualquer coisa


diferente de 0 para verdadeiro.
4

2
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

#include <stdio.h>
int main()
{
int i, j;
printf("\nEntre com dois números inteiros: ");
scanf("%d%d", &i, &j);
printf("\n%d == %d eh %d\n", i, j, i==j);
printf("\n%d != %d eh %d\n", i, j, i!=j);
printf("\n%d <= %d eh %d\n", i, j, i<=j);
printf("\n%d >= %d eh %d\n", i, j, i>=j);
printf("\n%d < %d eh %d\n", i, j, i<j);
printf("\n%d > %d eh %d\n", i, j, i>j);
printf("\n\n");
return 0;
}
5

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

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 um ou ambos os operandos são
verdadeiros 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 ).

3
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Tabela Verdade
• E (&&) – somente será verdade • OU (||) – somente será falso se
se todas as respostas forem todas as respostas forem falsas.
verdadeiras. Exemplo: Exemplo:

1 && 1 1 1 || 1 1
1 && 0 0 1 || 0 1
0 && 1 0 0 || 1 1
0 && 0 0 0 || 0 0
7

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Tabela Verdade

• NÃO (!) – a estrutura será negada, alterando o


seu valor. Exemplo:

!1 0
!0 1

4
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Operadores Unários
• Os unários agem sobre uma variável apenas.
Operador Exemplo Equivale
++ x++ x=x+1
(incremento)
-- x-- x=x-1
(decremento)

• Estes operadores podem ser pré-fixados ou pós- fixados. A


diferença é que quando são pré-fixados eles incrementam
e retornam o valor da variável já incrementada. Quando
são pós-fixados eles retornam o valor da variável sem o
incremento e depois incrementam a variável.
9

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Exemplos
• Pré-fixado (prefixo)
x=23; y=++x;
teremos, no final, y=24 e x=24.

• Pós-fixado (sufixo)
x=23; y=x++;
teremos, no final, y=23 e x=24.
10

5
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Exercício X
10
Y
10 11
Z

• Qual o resultado do algoritmo abaixo? 11 11 10


#include<stdio.h> -11
int main() -11
{
int x,y,z;
x=y=10;
z=++x;
printf("A variável z vale: %d\n", z);
x=-x;
printf("A variável x vale: %d\n", x);
y++; Tela:
printf("A variável y vale: %d\n", y); 11
x=x+y-(z--); -11
printf("A variável x vale: %d\n", x);
11
printf("A variável z vale: %d\n", z);
-11
return 0;
} 10

11

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Exercício
• Qual o resultado das variáveis x, y depois da
seguinte sequência de operações:
Z
10
X 11
Z=10 28 12
X=2+(z++)+(z++)+5
2+ 10 + 11 +5 = 28 // O valor 11 não siginifica incremento de Z ,mas sim o valor atual de Z

Z=10 Z
10
X
X=2+(z++)+(++z)+5 29
11
2+ 10 + 12 +5 = 29 12

12

6
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Operadores Binários
• Os binários usam duas variáveis e retornam um terceiro
valor, sem alterar as variáveis originais.
Operador Exemplo Equivale

+= x += y x=x+y
-= x -= y x=x-y
*= x *= y x=x*y
/= x /= y x=x/y
%= x %= y x=x%y

13

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Precedência de Operadores Aritméticos

• Operadores do mesmo nível de precedência são


avaliados pelo compilador da esquerda para direita.
• Obviamente, parênteses () podem ser usados para
alterar ordem de prioridade

14

7
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Exercícios
1) Indique o resultado das expresssões, sendo:
x=6.0; y=2; z=4.0; a=8; b=7.5; c=12
a) x - y * ++a
b) x-y*a>c%y
c) y != c
d) c % y <= y % c
e) !(a>b)
f) ((z/a)+b*--y)
g) (c=7)||(b<2)
h) (c=7)&&(b<2)
15

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Estrutura Condicional – If .. Else


#include <stdio.h>
int main ()
{
int num; else
printf ("Digite um numero: "); {
scanf ("%d",&num); printf ("\n\nVoce errou!\n");
if (num==10) printf ("O numero e diferente
{ de 10.\n");
printf ("\n\nVoce acertou!\n"); }
printf ("O numero e igual a return 0;
10.\n"); }
}
16

8
07/04/2015

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

#include <stdio.h> #include <stdio.h>


int main () int main ()
{ {
int num; int num;
printf ("Digite um numero: ");
printf ("Digite um numero: ");
scanf ("%d",&num);
scanf ("%d",&num); if (num==10)
if (num>10) {
printf ("\n\nO numero e maior que 10"); printf ("\n\nVoce acertou!\n");
else if (num==10) printf ("O numero e igual a 10.\n");
}
{
else
printf ("\n\nVoce acertou!\n"); {
printf ("O numero e igual a 10."); if (num>10)
} printf ("O numero e maior que 10.");
else if (num<10) else
printf ("O numero e menor que 10.");
printf ("\n\nO numero e menor que 10");
}
return 0; return 0;
} }
17

Escola de Ciência e Tecnologia


Curso: Superior de Tecnologia em
Análise e Desenvolvimento de Sistema

Exercícios If
• Faça um programa que peça dois números ao
usuário e mostre qual o maior e qual o menor.
• Escreva um programa em C que recebe um inteiro
e diga se é par ou ímpar.
• Para doar sangue é necessário ter entre 18 e 67
anos. Faça um aplicativo na linguagem C que
pergunte a idade de uma pessoa e diga se ela
pode doar sangue ou não.
18

Você também pode gostar