Beruflich Dokumente
Kultur Dokumente
ALGORITMOS II
EXPRESSES EM C
Constantes e Operadores
APRENDER A APRENDER
deve ser nossa meta.
EXPRESSES EM C
Problema
Preciso fazer um programa para minha empresa. No entanto, preciso ter certeza que o valor do CNPJ da empresa utilizado no programa no ser alterado durante sua execuo? Preciso fazer um programa que converta temperatura em graus Celsius e mostre a temperatura em fahrenheit
Utilizando a seguinte formula: Fahrenheit = (9/5)*(Celsius) + 32
Como fao para testar se um valor de uma varivel igual ou maior que outra?
Introduo Linguagem C
Constantes
Em C, constantes referem-se a valores fixos que o programa no pode alterar. Para constantes obrigatria a atribuio do valor.
Existem duas formas bsicas para declarar uma constante em C: Usando #define
Voc dever incluir a diretiva de pr processador #define antes de incio do cdigo: A sintaxe para isso (nesse caso, no coloque ponto-e-vrgula no final):
#define [nome da constante] [valor] Ex: #define GERENTE = Joo #define CNPJ = 123.456.77.88-987
Introduo Linguagem C
Constantes
Usando const
Usando const, a declarao no precisa estar no incio do cdigo. A sintaxe para const :
const [tipo] [nome] = [valor]; // uma constante inteira que armazena o nmero 500. // uma constante real que armazena o valor aproximado de PI.
Ex:
Constantes em caractere so envolvidas por aspas simples (). Ex. a e %. Constantes em Strings em so envolvidas por aspas dupla a
Lembre-se a diferente de a
string
Introduo Linguagem C
char
5
Introduo Linguagem C
Prtica
Faa o programa anterior usando declarando com a sintaxe const
Introduo Linguagem C
Operadores de Atribuio
Atribui o valor da direita varivel da esquerda A sintaxe para isso : [nome_varivel] = [expresso] ou [varivel] ou [constante]. O valor pode ser uma constante, uma varivel ou uma expresso
Ex: a = 3; media = (n1+n2+n3+n4) / 4 (L-se media recebe N1+...)
Neste caso, estamos atribuindo o resultado da frmula varivel mdia, ou seja, a varivel mdia est recebendo como valor o resultado da frmula
Atribuies multiplas a = x =y = 4;
Introduo Linguagem C 8
Operadores Aritmticos
OPERADOR AO + Adio * Multiplicao / Diviso % Resto da diviso inteira Subtrao (unrio) -Decremento ++ Incremento
Introduo Linguagem C 9
Ao
Maior que Maior ou igual que Menor que
<=
== != && || !
Operadores - Observao
Em C o resultado da comparao ser ZERO se resultar em FALSO e DIFERENTE DE ZERO no caso de obtermos VERDADEIRO num teste qualquer.
Introduo Linguagem C
11
Operadores - Exemplo
Introduo Linguagem C
12
Operadores - Observao
Operadores relacionais so muito usados quando temos que tomar decises nos algoritmos. Com eles fazemos testes, comparaes, que resultam em valores lgicos (verdadeiro ou falso):
Exemplo: tendo duas variveis, A = 5 e B = 3:
Introduo Linguagem C
13
Exerccio
1. Tendo as variveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expresses so verdadeiras ou falsas.
2. Sabendo que A=3, B=7 e C=4, informe se as expresses abaixo so verdadeiras ou falsas. a) (A+C) > B ( ) b) B >= (A + 2) ( ) c) C = (B A) ( ) d) (B + A) <= C ( ) e) (C+A) > B ( )
Introduo Linguagem C 14
Operadores Lgicos
1. Operadores lgicos combinam resultados lgicos, gerando novos valores lgicos (verdadeiro ou falso). A tabela-verdade abaixo mostra todos os valores possveis de se obter com oper. lgicos:
Operadores Lgicos
1. Combinando operadores relacionais e operado-res lgicos criamos operaes lgicas, que pro-duziro resultados lgicos (verdadeiro ou falso).
Por exemplo, se A = 5, B = 8 e C = 1: (A = B) E (B > C) (A <> B) OU (B < C) NO (A > B) (A < B) E (B > C) (A >= B) OU (B = C) NO (A <= B)
Introduo Linguagem C
16
Comparaes e Testes
int x = 1; int y = 2; printf(%d == %d e %d\n, x, y, x==y );
Comparaes e Testes
if (10 > 4 && !(10 < 9) || 3 <= 4) Como seria avaliado esta instruo? resultaria em Verdadeiro, pois dez maior que quatro E dez no menor que nove OU trs menor ou igual a quatro
Introduo Linguagem C
18
Ambos operadores podem ser usados tanto ser utilizados como prefixo ou sufixo do operando. Ex: x++ e ++x Observemos antes de mais nada que ++x diferente de x++!
Introduo Linguagem C
19
/* x=x+1;
ento x = 11 e y = 11
y=x; */
/* y=x;
x=x+1 */
ento x = 11 e y = 10
Introduo Linguagem C
20
Introduo Linguagem C
21
Operador em tempo de compilaao sizeof Este operador retorna o tamanho em bytes, da varivel ou especificador de tipo que est em seu operando.
Ex: float f; printf(%f, sizeof f); printf(%f, sizeof (int)); Retornar na tela os valores 8 e 2
Introduo Linguagem C
22
Converses de Tipos
Quando forem misturadas variveis de diferentes tipos, o compilador C converter os operandos para o tipo de operando maior, de acordo com as regras descritas a seguir: 1-Todo char e short int convertido para int. Todo float convertido para double. 2-Para os demais pares de operandos valem as seguintes regras em seqncia: 2.1- Se um operando for long double, o outro tambm o ser. 2.2- Se um operando for double, o outro tambm o ser. 2.3- Se um operando for long, o outro tambm o ser. 2.4- Se um operando for unsigned, o outro tambm o ser.
Introduo Linguagem C
23
Exerccios
1) Tendo como dados de entrada a altura de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando a seguinte frmula: peso ideal = (72.7*altura) 58 2) Tendo como entrada o total vendido por um funcionrio no ms de abril, faa um algoritmo que mostres a sua comisso e salrio bruto neste ms, sabendo que o seu salrio base R$1.200,00 e sua comisso de 10% sobre o total vendido.
Introduo Linguagem C
25