Escolar Documentos
Profissional Documentos
Cultura Documentos
Informtica 2 Aula 03
So os elementos da linguagem que permitem a realizao de operaes entre elementos; A linguagem C rica em operadores, possuindo por volta de 50 deles, sendo alguns mais utilizados que os outros.
Operador de Atribuio
O
A = 5; /*indica que a varivel A recebeu o valor 5 */ int valor = 13; /*declara a varivel valor do tipo interio e atribui o valor 13 a ela. Essa operao de declarar e atribuir um valor a varivel declarada recebe o nome de atribuio*/
CUIDADO!
O
a = b; /*Essa expresso no compara o valor de a com o valor de b, ela coloca o valor da varivel b dentro da varivel a*/
Operadores Aritmticos
Os
operadores aritmticos so aplicados sobre dois valores para realizao de alguma operao matemtica; Os operadores aritmticos so:
Digite
#include <stdio.h> #include <stdlib.h> int main() { //Declarao de variveis int var1, var2, var3; //Inicializao das variveis var1 = 10; var2 = var1/2; var3 = (var1 var2) * 3; //Programa principal printf(O valor do resto da divisao de var1 por var2 e: %d\n, var1%var2); printf(O valor do resto da divisao de var1 por var3 e: %d\n, var1%var3); system(pause); return 0; }
o cdigo abaixo:
Precedncia
Cuidado
com a precedncia dos operadores, isso pode alterar o valor do resultado final da operao; Os operadores *, / e %, tem precedncia maior que os operadores e +; Para garantir que as operaes aconteo da forma desejada, utilizar os parnteses de acordo com a ordem que as operaes devem acontecer.
Precncia
Do
int var1 = 10 4 * 5 + 3; int var2 = (10 4) * (5 + 3); printf(O valor de var1 e: %d\n, var1); printf(O valor de var2 e: %d\n, var2); system(pause);
Salve
variveis so espaos na memria do computador, portanto, cada uma delas possuem um endereo pelo qual o programa consegue utiliza-la; Para acessar o endereo de uma varivel, deve-se utilizar o operador & antes do nome da varivel.
int nome = 10; printf(O valor da variavel nome e: %d, nome); printf(O endereco da variavel nome e: %d,&nome); system(pause)
Salve
Funo scanf()
A
funo scanf() complementar a funo printf(), ela permite a leitura de dados da entrada padro (o teclado); Ela tambm est localizada na biblioteca padro de entradas e sadas (stdio.h);
Funo scanf()
A
sntaxe da funo scanf() similar a funo printf(), devemos enviar uma expresso de controle e os parmetros que ela ir utilizar; A expresso de controle consiste em dizer a funo o tipo dos parmetros que ela ir receber, j seus parmetros so os ENDEREOS das variveis que iram receber os valores.
Funo scanf()
Substitua int a1,a2,a3; printf(Entre com o valor das 3 notas do aluno: ); scanf(%d, &a1); scanf(%d%d, &a2, &a3); printf(A media do aluno foi: %d\n,(a1 + a2 + a3)/3); system(pause); Salve o programa como aula304.c
Funo scanf()
A
funo scanf() pode ser utilizada para realizar a leitura de um valor por vez, ou de multiplos valores ao mesmo tempo; Quando multiplos valores forem ser utilizados para leitura, seus endereos devem ser enviados utilizando o operador de endereo e separados por vrgula.
Qualificador const
O
qualificador const utilizado para dizer que uma varivel declarada possui um valor constante que no poder ser alterado durante a execuo do programa; A varivel que for ser declarada com o qualificador const, deve ter seu valor inicializado.
Qualificador const
A
sintaxe do qualificador :
No
exemplo acima, o tipo da varivel continua sendo inteiro, contudo, seu conteudo, o valor 35, no pode ser alterado durante a execuo do programa; So utilizadas, geralmente, para estabelecer parmetros de configurao.
Converso de Tipo
A
converso de tipo de dado consiste em alterar o tipo do dado que est sendo utilizado, por exemplo, converter um valor do tipo int em um valor do tipo float; A converso pode acontecer de duas formas:
Automtica; Explcita.
Converso Automtica
A
converso automtica de tipo de dado utilizada quando um nmero necessida ser alterado para a realizao de algum calculo, por exemplo, 4.56 + 6; O nmero 6 convertido de inteiro para ponto flutuante; A converso automtica pode realizar converses incorretas, fazendo com que o valor obtido seja diferente do esperado.
Converso Explcita
A
converso explcita consiste em especificar o tipo que o valor deve ser convertido; Sntaxe: (tipoDesejado) valor; Exemplo:
//Converter um tipo int em float int a = 4; printf(O valor de a e: %.2f\n,a); printf(O valor de a e: %.2f\n,(float)a); system(pause);
Incremento Unitrio
O
operador incremento unitrio ++, incrementa o valor de uma varivel em 1 unidade; Sntaxe: valor++ ou ++valor;
Decremento Unitrio
O
decremento unitrio -- consiste emdecrementar o valor de uma varivel em 1 unidade; Sntaxe: valor-- ou valor;
Tanto
para o incremento quanto para o decremento unitrio, a sntaxe ++valor e valor++ realizam a mesma funo, mas em tempos diferentes; O ++valor, incrementa o valor na mesma linha em que a instruo executada; O valor++, incrementa o valor na prxima linha de cdiga, no momento em que o cdigo executado, seu valor no alterado.
CUIDADO!
B -= 7.8;
B = B 7.8;
C *= 2;
C = C * 2;
D /= 3; E %= 9;
D = D / 3; E = E % 9;
Operadores Relacionais
Operador Funo
== != > >= < <= Compara se dois valores so iguais Compara se dois valores so diferentes Compara se o valor da esquerda maior que o valor da direita
Exemplo
A == 5; B != 7.8; C > 2;
Compara se o valor da esquerda maior ou D>= 3; igual ao valor da direita Compara se o valor da esquerda menor que o valor da direita E < 9;
So
utilizados para realizar comparaes assim como os operadores relacionais, com a diferena que as comparaes so realizadas com expresses lgicas (que apresentam como resultado verdadeiro ou falso); So eles:
Operadores Lgicos
Estruturas de Deciso
As
estruturas de deciso so utilizadas para desviar o fluxo normal de execuo do programa; Com as estruturas de deciso, possvel dotar o programa com habilidade de lidar com situaes diferentes.
Estruturas de Deciso
Em
Estrutura if
O
comando if permite que o programa realize um conjunto de aes caso uma expresso de teste seja verdadeira; A sntaxe do comando
if(expressaoControle) { }
acao1; acao2;
Estrutura if
A
Estrutura if
Modifique
int idade; printf(Qual a sua idade?\n); scanf(%d,&idade); if(idade < 18) { printf(Nao entra na churrascaria!); }
Salve
estrutura if/else, permite que um conjunto de aes seja tomada quando a expresso de teste verdadeira e que um conjunto diferente de aes seja tomado quando a expresso for falsa.
Estrutura if/else
Estrutura if/else
Sntaxe:
if(expressao) { acao1; acao2; } else { acao3; acao4; }
Estrutura if/else
A
estruturas podem ser aninhadas, colocadas uma dentro da outra; Quando aninhadas, as estruturas do tipo if/else, cada else vlido para o if mais recente sem um else.
Estrutura switch-case
A
estrutura switch-case consiste em diversas estruturas if aninhadas, onde o teste sempre realizado com a mesma varivel; Ela pode ser aplicada apenas para realizao de comparaes de igualdades (se um valor igual a outro) com valores do tipo inteiro ou caracter.
Sntaxe:
int i = 1; switch(i) {
case 1: { } case 2: {
printf(O valor e 1); break;
} default: {
printf(Valor desconhecido);
valor da varivel utilizada como parmentro comparado com o valor em cada case; O break na fim do conjunto de dados, permite que o programa para de realizar as comparaes e deixe a estrutura, caso ele venha ser omitido, os demais cases vo ser avaliados;
conjunto de dados default executado quando nenhum dos cases encontrado; Se um conjunto de aes for omitido para um case, o prximo conjunto de aes encontrado ser executado. Exemplo:
case 'e': case 'E': { //Executa o mesmo em 'e' e em 'E' }
Bibliogrfia
MIZRAHI,
Victorine Viviane. Treinamento em Linguagem C. Editora Makron Books 2006 BARRY, Paul; GRIFFITHS, David. Use a Cabea! Programao. Editora Alta Books - 2010
Exerccio
Elabore
um programa que receba como entrada o valor de trs notas de um aluno e calcule a mdia dessas 3 notas. Caso a mdio for igual ou maior que 6, o programa dever imprimir aluno aprovado na tela, caso contrrio, dever imprimir aluno reprovado. O programa aceita valores decimais como nota vlida.