Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores:

Documentos relacionados
Controle de Fluxo Utilizando C

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Controle de Fluxo Utilizando C

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

Módulo 3 Controle de Fluxo

Controle de Fluxo - Condicionais. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C Operadora

controle de fluxo - condicionais

Linguagem C Operadores

Cap. 3 Entrada e Saída e Controle de Fluxo

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

Aula 4 - Operadores. Prof. Laura Silva de Assis. Engenharia de Computação 2 o Período

SSC304 Introdução à Programação Para Engenharias. Operadores em C. GE4 Bio

Capítulo 2 Operadores. A função scanf()

Linguagem C: Elementos fundamentais

RESUMO DE CONCEITOS BÁSICOS DE C

Aula 2 Comandos de Decisão

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Conceitos básicos de programação

Linguagens de Programação I

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

3. Linguagem de Programação C

Entrada. Comando 1 Comando 2. Saída

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais

Controle de Fluxo - Condicionais

Programação Estruturada

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

1

Introducao a Programacao Estruturas de decisão

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Linguagem C: Introdução

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagem C (estruturas condicionais)

Programação Estruturada

Métodos Computacionais em Física

Aula 02 -Introdução àlinguagc Programação: Estrutura-Seleção. OPL e IC1 Prof: Anilton Joaquim da Silva

Parte 1. Programação (linguagem C) Introdução Geral

Lógica de Programação I

Fundamentos de Programação

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Estrutura do programa

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Introdução à Linguagem C++

2º Roteiro de Laboratório Estruturas condicionais

Algoritmos II prof. Daniel Oliveira

Estruturas condicionais

Estruturas de seleção

ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO;

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo

Universidade Federal do Espírito Santo. Programação II. CT IX - Sala 201 Departamento de Informática Centro Tecnológico

Introdução à Programação

Programação Orientada a Objetos

Treinamento Olimpíada Brasileira de Informática

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Comandos de Controle do Programa

Modulo 3: Else, Case, For...

Aula 01. Programação Condicional Programação repetitiva

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

Comandos de decisão. Tiago Alves de Oliveira. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py e Deise Sacol

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática

Estruturas de Controle

Capítulo 4: Condicionais

C Comandos de Controle

Tópicos Cap. 3 Entrada e Saída e Controle de Fluxo Livro printf e scanf if e? while for switch break continue Entrada e Saída Entrada e Saída

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Introdução à Programação I

Linguagem de Programação C. Comandos de Seleção e Desvio

ponteiros INF Programação I Prof. Roberto Azevedo

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

Introdução Operadores Relacionais Lógicos Comando If Comando If...else Comando swich()...case...break Operador condicional ternário

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Estruturas de Decisão em C

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Lógica de Programação Atividade Avaliativa 1 RESPOSTAS

C Operadores e Expressões

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Transcrição:

Operadores A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores: Aritmético: -, +, *, /, %, --, ++ Relacionais: >, <, >=, <=, ==,!= Lógicos: &&,,! Além disso, C tem alguns operadores especiais para tarefas particulares.

Operadores Aritméticos

Operadores Aritméticos Os operadores aritméticos são usados para calcular expressões matemáticas. São classificados em duas categorias: os binários ou unários. Operadores binários Operadores unários (ação): (descrição): + Sinal positivo = Atribuição - Sinal negativo + Adição - Subtração / Divisão * Multiplicação Os operadores unários atuam na inversão de valores.

Operadores de incremento e decremento O operador de incremento (++) soma 1 ao seu operando enquanto que o de decremento (--) subtrai um. Eles podem ser pré-fixados ou pós-fixados Operador Instrução Pós-fixado Pré-fixado ++ var=var+1; var=var++; var=++var; ou var++; ou ++var; -- var=var-1; var=var--; var=--var; ou var--; ou --var;

Operadores de incremento e decremento Exemplos: a++; (equivale a a = a + 1;) Considerando a = 2: Pós-fixado: b = a++; resulta em b = 2 e a = 3 (primeiro atribui, depois incrementa) Pré-fixado: b = ++a; teremos b = 3 e a = 3 (primeiro incrementa, depois atribui)

Operadores - precedência A precedência dos operadores aritméticos é a seguinte: Operadores do mesmo nível de precedência são avaliados pelo compilador da esquerda para a direita; Parênteses podem ser usados para alterar a ordem de avaliação.

Operadores - precedência Observe o exemplo a seguir

Exercícios int n1, n2, n3; n1 n2 n3 n2=n3=0; - 0 0 n1=2; 2 0 0 n1 += n1 * 10; n2 = n1 / 5; n3 = n2 % 5 * 7 ; n2 *= n3-- % 4;

Exercícios int n1, n2, n3; n1 n2 n3 n2=n3=0; - 0 0 n1=2; 2 0 0 n1 += n1 * 10; 22 0 0 n2 = n1 / 5; n3 = n2 % 5 * 7 ; n2 *= n3-- % 4;

Exercícios int n1, n2, n3; n1 n2 n3 n2=n3=0; - 0 0 n1=2; 2 0 0 n1 += n1 * 10; 22 0 0 n2 = n1 / 5; 22 4 0 n3 = n2 % 5 * 7 ; n2 *= n3-- % 4;

Exercícios int n1, n2, n3; n1 n2 n3 n2=n3=0; - 0 0 n1=2; 2 0 0 n1 += n1 * 10; 22 0 0 n2 = n1 / 5; 22 4 0 n3 = n2 % 5 * 7 ; 22 4 28 n2 *= n3-- % 4;

Exercícios int n1, n2, n3; n1 n2 n3 n2=n3=0; - 0 0 n1=2; 2 0 0 n1 += n1 * 10; 22 0 0 n2 = n1 / 5; 22 4 0 n3 = n2 % 5 * 7 ; 22 4 28 n2 *= n3-- % 4; 22 0 27

Operadores Relacionais e Lógicos

Operadores relacionais Os operadores relacionais do C realizam comparações entre variáveis. São eles:

Operadores relacionais Os operadores relacionais retornam verdadeiro (1) ou falso (0). Em C, verdadeiro é qualquer valor diferente de zero. Os operadores relacionais tem precedência menor do que os operadores aritméticos, veja: int a = 10, b = 1, c = 12; a > b + c; O resultado da expressão acima é: Falso

Operadores Lógicos Os operadores lógicos definidos por C são os seguintes: A tabela da verdade dos operadores lógicos são mostrados a seguir, usando 1s e 0s:

Uma expressão lógica é uma comparação que sempre retorna valor verdadeiro ou falso. Podemos atribuir o resultado de uma expressão lógica à uma variável resposta a = b Operadores Lógicos se a possui valor 1 e b possui valor 1, então resposta deve receber true(verdadeiro) se a possui valor 1 e b possui valor 2, então resposta deve receber false(falso) O tipo da variável resposta que armazena os resultados das expressões lógicas é o booleano. Em Pascal temos o tipo boolean que pode receber como valores true (verdadeiro) ou false (falso) enquanto que em C não existe o tipo booleano. O resultado de uma expressão lógica em C pode ser 0 (falso) ou qualquer outro valor inteiro (verdadeiro). Para armazenar um valor booleano em C podemos usar uma variável inteira ou char.

Estrutura condicional Em Pascal if (condição) then begin comandos end else begin comandos end Em C if (condição) { comandos } else { comandos }

Exemplo - IF Um esporte só pode ser praticado por maiores de 18 anos e a divisão é feita por peso: até 80kg é considerado peso-leve, acima de 80kg até 130kg, peso-pesado, acima disso não é permitido praticar este esporte.

Pascal C OBS: quando temos vários scanf seguidos, para limpar o buffer e descartar os enters, usamos o formatador %*c

Pascal C OBS: quando temos vários scanf seguidos, para limpar o buffer e descartar os enters, usamos o formatador %*c

Exemplo #include <stdio.h> int main (void) { int a; printf("insira um numero inteiro:"); scanf("%d",&a); if (a%2 == 0) printf("voce inseriu um numero par!\n"); return 0; }

Exemplo #include <stdio.h> int main (void) { int a; printf("insira um numero inteiro:"); scanf("%d",&a); if (a%2 == 0) { printf("voce digitou o numero %d\n",a); printf("voce inseriu um numero par!\n"); } return 0; }

Exemplo #include <stdio.h> int main (void) { int a; printf("insira um numero inteiro:"); scanf("%d",&a); if (a%2 == 0) printf("voce inseriu um numero par!\n"); else printf("voce inseriu um numero impar!\n"); return 0;

if aninhado #include <stdio.h> int main (void) { int a, b; printf("insira dois numeros inteiros:"); scanf("%d%d",&a,&b); if (a%2 == 0) if (b%2 == 0) printf("voce inseriu dois numeros pares!\n"); return 0; }

if com operador lógico int main (void) { int a, b; printf("digite dois numeros inteiros:"); scanf("%d%d",&a,&b); if ((a%2 == 0) && (b%2 == 0)) printf ( "Voce digitou dois numeros pares!\n"); return 0; }

Operador condicional C possui também um chamado operador condicional. Trata-se de um operador que substitui construções do tipo:... if ( a > b ) maximo = a; else maximo = b;... Sua forma geral é: condição? expressão1 : expressão2; se a condição for verdadeira, a expressão1 é considerada; caso contrário, considera-se a expressão2. O comando: maximo = a > b? a : b ; substitui a construção com ifelse mostrada acima.

Exercício Dados três números naturais, verificar se eles formam os lados de um triângulo e ainda dizer se é um triângulo retângulo. Testar com lados 3, 4 e 5. Lembre-se que para ser triângulo: a<(b+c) b<(a+c) c<(a+b) Para ser triângulo retângulo: hipotenusa 2 =cateto 2 +cateto 2 Lembre-se que a hipotenusa é o maior lado!

Correção #include <stdio.h> int main() { int a, b, c; printf("digite tres numeros naturais: "); scanf("%d%d%d", &a,&b,&c); /*verifica se forma triangulo*/ if ((a<(b+c))&&(b<(a+c))&&(c<(a+b))) { if ((a*a == b * b + c * c) (b*b == a * a + c * c) (c*c == a * a + b * b)) printf("o triangulo é retangulo\n"); else printf("o triangulo não é retangulo\n"); } else printf("os valores digitados não formam um triangulo \n"); return 0; }

Exemplo SWITCH/CASE A mãe pergunta ao filho sobre o que ele gostaria de comer entre bolo, salgado, pipoca ou sorvete. Dependendo da resposta, ela compra os ingredientes corretos para o preparo da opção escolhida. Se ele disser outra coisa qualquer, ela nega.

Pascal C Notem que no Pascal temos else e em C temos default

Exemplo #include <stdio.h> int main (void) { int n; printf("digite um numero\n"); scanf ("%d", &n); switch (n) { case 1: printf(" domingo\n"); break; case 2: printf(" segunda-feira\n"); break; case 3: printf(" terça-feira\n"); break; case 4: printf(" quarta-feira\n"); break; case 5: printf(" quinta-feira\n"); break; case 6: printf(" sexta-feira\n"); break; case 7: printf(" sábado\n"); break; default: printf(" inválido\n"); break; } return 0; }

Exercício Faça uma calculadora de quatro operações usando a estrutura switch printf("digite: numero op numero\n"); scanf ("%f %c %f", &num1, &op, &num2);

/* calculadora de quatro operações */ Exercício case '*': #include <stdio.h> printf(" = %f\n", num1*num2); int main (void) break; { case '/': float num1, num2; { char op; if(num2!=0) printf("digite: numero op numero\n"); printf(" = %f\n", num1/num2); scanf ("%f %c %f", &num1, &op, &num2); else switch (op) printf(" não existe divisão por 0\n"); { } case '+': default: printf(" = %f\n", num1+num2); printf("operador invalido!\n"); break; break; case '-': } printf(" = %f\n", num1-num2); return 0; break; }