Olá. Bem vindo de volta. Nesta
aula, vamos discutir alguns dos operadores básicos suportados
pela linguagem de programação c.
Portanto, os operadores, novamente, são apenas símbolos especiais para funções que você
está realizando algum tipo de operação.
Então, vamos discutir basicamente nesta aula 4 tipos
diferentes de operadores.
Os operadores aritméticos,
lógicos, de atribuição e relacionais.
E então vamos discutir em outra aula os operadores bit
a bit e alguns outros operadores especiais que não parecem realmente ser
um operador, mas são, o tamanho do operador e o operador de conversão.
Portanto, um operador aritmético é provavelmente o de bom senso, aquele
com o qual você provavelmente está mais familiarizado. É uma função matemática,
pega 2 operandos e executa cálculos sobre eles.
É infixo entre os operadores e entre os operandos.
Um operador lógico, às vezes chamado de operador booleano, é um
operador que retorna um resultado booleano. Valor verdadeiro ou falso, isso é o que é um booleano.
Portanto, é apenas um operador condicional.
É baseado no resultado booleano de uma ou mais 2 outras expressões,
uma ou duas outras expressões.
Um operador de atribuição apenas define variáveis iguais a valores.
Ele atribui o valor da expressão à sua direita à variável à sua esquerda.
Portanto, é um operando à direita e um operando à esquerda.
Novamente, é infixo.
E então um operador relacional comparará as variáveis umas com as outras.
Portanto, este é um tipo de ordem de tipo comparável, menor que e maior que.
Mas vamos examinar cada um deles porque há muitos,
muitos, muitos operadores diferentes. C suporta um conjunto super rico.
Portanto, os primeiros são esses operadores aritméticos em c.
Estas são as funções matemáticas. Portanto, há uma
pequena tabela que eu encontrei online no
site de pontos de tutoriais, que é legal.
E isso resume todos os operadores aritméticos em c que são suportados.
Portanto, os básicos, como na matemática. Não há nada realmente novo aqui.
No lado esquerdo da mesa está o operador, e
no meio está uma descrição do que ele faz e, à direita, um exemplo.
Portanto, o símbolo de mais que será adicionado
aos operandos. É infixo. Está entre os 2 operandos.
Então, o que você faria é adicionar variáveis,
você poderia adicionar uma combinação de constantes em uma variável ou apenas constantes.
E neste aqui estamos dizendo que a mais b é igual a 30.
Mas o operador e os operandos reais são apenas a mais b.
E então esse seria o exemplo.
Menos subtrai 2 operandos, a menos b.
Portanto, a menos b poderia ser igual a algo como 10 negativo se a for
igual a 20 e b for igual a 10 ou b for
igual a 10 negativo.
O asterisco é para multiplicação.
Novamente infixe entre
os operandos.
Divisão é a barra para a frente.
Porcentagem é o operador de módulo. Este é o operador restante.
Então, se você fosse dizer como uma porcentagem variável
a, o que seria igual. Se b fosse igual a 20, a
fosse igual a
12, o operador de módulo retornaria 8 porque esse é o resto de 20 dividido por 12.
Mais mais e menos menos, esses são operadores específicos de incremento e decrementação.
Eles ainda são chamados de operadores aritméticos, mas você normalmente
só os vê em loops quando repete o
código, mas nem sempre. Quero dizer, neste exemplo
aqui, basicamente você está incrementando uma variável em 1
ou por um valor específico se estiver
fazendo outra coisa. Mas então, se você fizer um mais
mais, seja o que for a, se for 5, não será igual a 6.
E há um operador de decremento,
que diminui o valor inteiro em 1, então um menos menos.
E o mais mais e o menos menos que você deve notar estão após a variável.
Isso é conhecido como postfix.
E o que isso significa é que, se essa variável está
em uma expressão, ela não receberá a variável extra até depois dessa declaração.
Se for
prefixo, será atribuído antes. Então, vamos examinar alguns exemplos desses blocos
de código operacional aritmético para que façam um pouco mais de sentido.
Então aqui estão os blocos de código, aqui está nossa rotina principal.
Já estamos familiarizados com isso. Vou apenas criar algumas variáveis
e fazer algumas operações sobre elas e, em seguida, imprimi-las.
E vou apenas criar inteiros. E não importa se você pode criar flutuadores
para fazer cálculos ou dobra, mas vamos apenas torná-lo básico.
Diremos que a é igual a 33.
Crie outra variável do tipo inteiro e vamos
atribuí-la a 15. Portanto, estamos fazendo uma declaração e uma atribuição em uma única instrução.
E então teremos apenas uma variável de resultado.
E isso vai ser inicializado em 0, então
aqui podemos começar a fazer cálculos. Podemos dizer c,
e podemos fazer atribuições. Não aprendemos sobre atribuições formalmente, mas
sabemos o que são. As atribuições são pegar dados
e colocá-los nessa variável. Portanto, c é igual a
pegar o que quer que esteja no lado direito e colocar o resultado nessa variável.
Então, se dissermos a mais b, novamente,
isso apenas parece uma rotina matemática
normal, e é. Seria apenas 33 mais 15 e qual seria
o valor de c, 48. E então você pode simplesmente imprimir os valores.
Você poderia apenas dizer que c é percentual d usando nosso especificador
de formato e apenas imprimindo c.
E então talvez pudéssemos fazer um feed de linha.
E isso adicionaria apenas 2 números. É tão básico. É simples assim.
Estamos apenas exibindo. Portanto, quando executarmos este
programa, veremos a adição de 33 mais 15.
Nós recompilamos isso, salvamos, digamos build e então
salvamos run.
Você verá que, ao executá-lo após meu verificador de vírus, ele diz que c é 48.
Então você pode brincar com eles. Quero dizer, isso é básico. Então, a mais
b, você pode fazer o menos, você pode fazer o asterisco para multiplicação, e
então você pode fazer a divisão para
barra e então o símbolo de porcentagem que é o módulo.
Isso é interessante porque você sabe que 33 dividido por 15 seria 2 com um resto
de 3, então o resultado será 3 neste caso, vamos apenas ter certeza.
Salve isso e certifique-se de encerrar nossa execução.
E quando o executamos, podemos ver que temos c
é igual
a 3 porque esse é o resto.
Caso contrário, é bastante básico. Os mais importantes com mais
mais são entender o prefixo e o postfix.
Então, se eu dissesse e isso é mais relevante quando você realmente faz isso em uma única instrução, printf.
Digamos que eu imprima um mais mais,
o que vai imprimir é 34 porque você vai
incrementar a em 1
e depois imprimi-lo. Mas você vai fazer isso na instrução
única, vai fazer na mesma linha porque é depois.
Então, na verdade, o que será
exibido aqui é apenas 33.
Não vai realmente incrementar a até a próxima linha de código.
Portanto, se executarmos isso,
você verá que apenas imprimirá 33.
Essa é a diferença entre fazer um mais mais um.
Se você fizer um mais mais um, que é a mesma coisa que
você vai incrementar em um, a diferença aqui é que você vai incrementar em 1 e
então antes que a instrução seja executada. Então, aqui agora,
vamos notar
que temos apenas alguns
avisos, sem erros. E quando o executarmos, agora você verá que a resposta é 34 porque,
na verdade, ele é incrementado antes que a instrução seja executada. E isso é importante saber entre
mais mais o nome da variável versus o nome da variável mais o mais.
Isso é apenas conhecido como prefixo e postfix.
O mesmo aconteceria com o menos, o menos.
Portanto, lembre-se disso para o seu
unário.
Esses também são operadores unários porque têm apenas um operando.
Os outros são operadores binários porque têm um operador
entre os operandos.
Mas entenda o menos menos versus o mais mais.
E também entenda se você colocá-lo antes da variável depois da variável quando
ela realmente vai aumentar ou diminuir.
E, novamente, se estiver após a variável,
ela aumenta ou diminui ali mesmo, antes de
executar a linha de código. Se for um antes da variável,
ele executará a linha de código e, depois de executar a instrução,
irá aumentar ou diminuir.
Mas brinque com isso, abra uma janela, faça
um monte de expressões aritméticas diferentes e veja como tudo funciona.
Agora vamos falar sobre alguns dos outros tipos de operadores.
O próximo grupo de operadores é conhecido como operadores lógicos.
E definimos o que isso significa é basicamente
operadores de tipo condicional. Eles retornam resultados booleanos, valores verdadeiros
ou falsos.
Portanto, os símbolos que representam operadores lógicos são o "e" comercial.
As 2 barras paralelas e o ponto de exclamação.
O E comercial é chamado de operador lógico e.
É também um operador infixo que leva 2 operandos, um à esquerda
e um ao lado. Basicamente, se cada operando
for diferente de 0, a condição se torna verdadeira.
E então diferente de 0 significa 1, o que significa verdadeiro. Portanto, se a for verdadeiro e
b for verdadeiro, a resposta será
verdadeira.
Se a for falso eb for
verdadeiro, a resposta será falsa. Se a for falso eb for falso, a resposta
será falsa. Então, novamente, faremos alguns exemplos disso.
E então as barras paralelas são o operador lógico ou. Novamente, isso deve ser semelhante à sua aula de matemática,
então não quero perder muito tempo com isso. Mas se qualquer um dos 2 operandos
for diferente
de 0, qualquer um deles é verdadeiro, então é verdadeiro. Portanto, se a é verdadeiro eb é falso, isso é verdadeiro.
E essas são expressões que retornam valores.
Portanto, o retorno seria se a for verdadeiro eb for falso, seu retorno será verdadeiro.
E então o operador lógico not, que é o ponto de exclamação, apenas
inverte o estado lógico de seu operando.
Portanto, se a condição for verdadeira, ela retornará falsa.
Portanto, se você disser não a, o ponto de exclamação e a eram verdadeiros a são falsos.
Se você colocar o não fora dos parênteses, tudo o que aeb
avaliou, agora terá o valor oposto.
Portanto, vamos examinar novamente alguns exemplos e blocos de código.
Aqui estão os blocos frios. E, novamente, vou criar algumas variáveis para demonstrar os operadores lógicos.
Novamente, vou apenas criar alguns inteiros, diremos
a igual a 12 e, a seguir, b igual a 20.
E o que seria melhor é
que criaremos um porque não quero utilizar condições, então
apenas criaremos um bool de sublinhado e atribuiremos isso,
direi que serão resultados,
e inicialmente
não atribuir isso a nada.
E então vamos imprimir alguns dados.
Portanto, queremos ver quais são os
valores dessas expressões retornadas se usarmos os operadores lógicos.
Então, aqui vou imprimir o percentual
d, que é um número inteiro. Porque lembre-se, as expressões booleanas são
apenas inteiros.
Variáveis booleanas são inteiros. Portanto, se o valor booleano for 1, isso
significa que é verdade.
Se for 0, é falso. Qualquer outra coisa geralmente 1, é verdade.
Vou imprimir o resultado.
E então vou atribuir alguns dados a ele. Então, se eu disser
que os resultados são iguais a aeb,
isso não fará nenhum sentido porque esses são números.
Portanto, vamos inicializar um igual a verdadeiro
e usar novamente os booleanos.
E aqui vamos dizer que
isso é verdade e isso é verdade.
E quando usamos o
E comercial, isso significa que aeb devem ser verdadeiros para que o retorno seja verdadeiro.
Portanto, os resultados devem imprimir 1 porque
1 representa verdadeiro. Então, vamos construir isso
e ter
certeza de que temos que usar
o espaço de nomes correto. Então, vamos representar 1 para verdadeiro e
1 porque não estamos fazendo
o include certo agora, então isso não é grande coisa. Então, agora nós rodamos, ele deve relatar
verdadeiro, 1 e faz 1.
Agora, se eu mudar qualquer um desses para não verdadeiro, se eu
disser 0, o resultado será falso
porque aeb devem ser verdadeiros para que o resultado seja verdadeiro.
Então, se eu construir e executar, você
verá que o resultado é 0 porque
é falso.
Então, qualquer um se eu mudar a ou b para
0, o que significa falso, o resultado seria falso porque tanto a quanto b têm que ser verdadeiros.
Agora, se eu disser uma barra paralela barra paralela,
que é ou a ou b, apenas uma delas precisa ser verdadeira para que os resultados sejam verdadeiros.
Portanto, neste caso, os resultados devem ser 1.
Então, vamos construir isso e executá-lo.
E agora temos o valor 1.
Portanto, apenas um deles precisa ser verdadeiro. Agora, se eu tornar
ambas falsas, isso
será muito mais aplicável quando falarmos sobre declarações if e condicionais
e tomada de decisões, mas estou demonstrando a lógica booleana aqui.
Agora, ambos são falsos. Portanto, isso
deve retornar 0, que é
falso e ele retorna, 0, muito legal. E o último é apenas o símbolo não, que é o ponto
de exclamação que apenas faz o inverso.
Então, se eu disser não a, se
a for igual a 0, a agora será igual
a 1 ou o resultado será e o resultado será igual a
1, o que realmente é.
Portanto, esses são os 3 operadores lógicos. Novamente, eles serão usados em declarações de decisão normalmente.
Vamos agora prosseguir e falar sobre outro conjunto de operadores.
Agora, aqui estão os operadores de atribuição. Estamos bastante familiarizados com pelo menos o operador de atribuição simples,
que é o símbolo de igual. O símbolo de igual atribui dados,
e isso é bastante básico. C é igual a a mais b, c será o resultado de a mais b.
Agora, há esse tipo composto de operadores
onde você pode fazer mais igual ou menos igual ou estrela igual.
Mais igual é onde você adiciona e o operador de atribuição.
Portanto, ele adiciona o operando direito ao operando esquerdo e atribui
os resultados ao operando esquerdo.
Então você poderia dizer c mais igual a a, e isso é o mesmo que dizer c igual a c mais a.
Menos é exatamente a mesma coisa, exceto que você está subtraindo. Você está subtraindo e depois atribuindo.
Portanto, você subtrai o operando direito do operando esquerdo e atribui os dados.
Então, se você disser que c menos é igual a a, é realmente c igual a c menos a.
É uma notação abreviada, estes mais igual e menos igual.
Você pode escrever coisas um pouco mais rápido
porque você faz 2
operações essencialmente em uma única instrução.
E então multiplica a mesma coisa, estrela igual, multiplica e atribui.
Assim, c estrela igual a a é equivalente ac igual a c vezes a.
Isso é muito simples, eu acho.
Os outros operadores
de atribuição são semelhantes, exceto que você está usando divisão. Então, divisão igual é dividir e depois assinar.
Porcentagem é fazer o módulo e então atribuir o resultado.
Portanto, esses são bastante diretos.
E então temos alguns outros, sobre os quais falaremos em outra palestra com mais detalhes.
Portanto, não vou tocá-los aqui porque são realmente completamente diferentes.
Eles são chamados de operadores bit a bit, que
fica à esquerda e tudo o que estou dizendo aqui é que,
para esses operadores bit a bit sobre
os quais falaremos, você também pode atribuí-los em instruções simples.
Então, deslocando, fazendo um deslocamento para a esquerda e
um deslocamento para a direita e atribuindo, você pode apenas fazer menos do que menos do que igual e escrever maior do que maior do que igual.
E, novamente, o e comercial, a cenoura e a barra paralela
estão todos relacionados a fazer coisas em bits.
Então, vamos voltar a isso, mas eles fazem parte dos operadores de atribuição.
Portanto, o operador de atribuição é muito fácil, atribuir dados e,
se você quiser realmente fazer expressões, algumas
expressões e atribuí-las, você faz as combinações.
Os operadores relacionais são operadores de comparação. Eles comparam 2 valores.
Portanto, isso é importante, igual a igual. Vamos comparar o valor de 2 variáveis.
E se forem iguais, retornará verdadeiro porque retornará uma expressão
booleana, verdadeiro ou falso ou valor booleano.
Ponto de exclamação igual é verificar se os valores 2 operandos são iguais ou não.
Portanto, a não é igual ab é como você deseja ler isso.
Se a for verdadeiro e b
for verdadeiro, isso retornará falso porque eles são iguais.
Portanto, a teria que
ser falso ou b teria que ser verdadeiro ou vice-versa, e isso retornaria verdadeiro. O símbolo de maior que está verificando se a é
ou não maior que b.
Menor que o símbolo, a é menor que b. Maior que igual, a é maior ou
igual e menor que igual.
Então, novamente, tudo isso é matemática básica.
Não vou passar por exemplos no IDE porque isso é muito simples.
O operador de comparação é igual à matemática, maior do que igual e assim por diante.
Então, esperançosamente, temos um bom controle sobre
os operadores básicos aritmética, lógica, atribuição e relacional.
Usei bastante, então você precisa entendê-los. Felizmente, não é muito difícil
ou confuso.
Você vai usar muito disso
em declarações if e declarações de decisão, então forneceremos muitos outros exemplos sobre elas. Obrigada.