Você está na página 1de 41

Faculdade de Tecnologia FATEC

Informtica 2 Aula 03

Estruturas Bsicas da Linguagem


Operadores

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

operador de atribuio da linguagem C o =; Por exemplo:

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*/

operador de atribuio no pode ser utilizado para realizar comparaes de igualdade;

atribuio acontece da direita para a esquerda.

Operadores Aritmticos
Os

operadores aritmticos so aplicados sobre dois valores para realizao de alguma operao matemtica; Os operadores aritmticos so:

Soma: + Subtrao: Multiplicao: * Diviso: / Resto da dviso (para nmeros inteiros): %

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

programa aula301.c, altere o cdigo da main() para:

o programa como aula302.c

Operador de Endereo &


As

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.

Operador de Endereo &


Altere

int nome = 10; printf(O valor da variavel nome e: %d, nome); printf(O endereco da variavel nome e: %d,&nome); system(pause)

o cdigo da funo main() do programa aula302.c para:

Salve

o cdigo com o nome aula303.c

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

o cdigo da funo main() do programa aula303.c, por:

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.

Tipos de Argumento para Funo scanf()

Argumentos Utilizados pela Funo scanf() - Retirado de Mizrahi, 2006

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

const int maximo = 35;

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!

Operadores Aritmticos de Atribuio


Operador Funo += Realiza a operao de somar o valor da expresso ao valor j existente na varivel -= Realiza a operao de subtrao o valor da expresso ao valor j existente na varivel *= Realiza a operao de multiplicao do valor da expresso com o valor j existente na varivel /= Realiza a operao de diviso do valor da varivel com a expresso utilizada %= Calcula o resto da diviso do valor da varivel com a expresso utilizada
Exemplo A += 5; Equivalente A = A + 5;

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;

Compara se o valor da esqueda menor ou F <= 10; igual ao valor da direita

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

&& - Operador E || - Operador OU ! - Operador NO

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

if if-else switch - case

C, existem 3 estruturas de deciso:

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 permite a criao de um desvio durante a execuo do programa.

Desvio proporcionado pela estrutura if - Retirado de Barry e Griffiths, 2010

Estrutura if
Modifique
int idade; printf(Qual a sua idade?\n); scanf(%d,&idade); if(idade < 18) { printf(Nao entra na churrascaria!); }

o cdigo da funo main() do programa aula304.c para:

Salve

o programa como aula305.c

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

estrutura if/else como um desvio de rota.

Desvio proporcionado pela estrutura if/else - Retirado de Barry e Griffiths, 2010

Observao quando as estruturas if e if/else


Essas

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;

printf(O valor e 2); break;

} default: {

printf(Valor desconhecido);

Observaes quanto a Estrutura switch-case


O

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;

Observaes quanto a Estrutura switch-case


O

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.

Você também pode gostar