[Powered by Google Translate] Precedencia é como responder á pregunta, o que a operación que temos que facer primeiro?
A resolución de ecuacións matemáticas ou liñas de análise de código de ordenador,
hai regras estritas de precedencia á que adheridos
para que todos os ordenadores e as persoas poden obter o mesmo resultado.
>> En primeiro lugar, a regra máis importante para lembrar, especialmente en probas de erro,
é que sempre traballar a partir dos parénteses máis internos para fóra.
Usando parénteses extra pode ser unha táctica de depuración útil,
pero non é unha boa práctica para mazá do seu código con parénteses innecesarios.
Aproveitar o tempo para aprender as regras básicas de operación de precedencia.
>> A segunda regra xeral é que cando os operadores teñen priorty igual,
simplemente resolver de esquerda a dereita.
Ao tratar coa matemática sinxela, comezan con parénteses,
a continuación, facer a multiplicación e división, e para rematar facer adición e subtracción.
Multiplicación e división teñen a mesma prioridade,
porque son esencialmente realizar a mesma operación.
Ao final división é simplemente multiplicando polo inverso dun valor.
Do mesmo xeito, a subtracción é simplemente engadindo un valor negativo.
>> Imos facer un exemplo.
Seguindo a orde de precedencia, imos comezar cos parénteses. Nove menos 1.
Isto dará 8. Entón, podemos pasar a división e multiplicación.
Imos resolver de esquerda a dereita. Entón, 10 dividido por dous e 5.
Temos 5 veces 8 aquí, e que nos dará 40.
A continuación, pasamos á seguinte orde de precedencia.
Entón, estivemos con 3 e 40 menos 1.
Novo só resolvendo esquerda a dereita,
porque non hai xeito prioridade entre a adición e subtracción.
Podemos dicir 3 e 40 é de 43, menos 1 e 42. Esa é a nosa resposta.
>> Existen dous tipos de operadores de decremento e incremento;
A forma de prefixo, sufixo e forma.
A forma de sufixo, i + +, é comunmente usado en loops,
o que significa que o valor da corrente é usada na expresión, e en seguida, é incrementado.
Así, o valor só será diferente a próxima vez que a variable é utilizada.
Por outra banda, o incremento ou decremento prefixo significa que o valor actual
é incrementado ou decrementado en primeiro lugar, e, a continuación, é usado na expresión.
>> Imos dar un exemplo co enteiro x.
Imos define-lo igual a 5.
Se usarmos o operador sufixo nel e dicir x + +, x nesta liña aínda é 5.
Se fósemos para imprimir lo obteriamos o valor 5.
Pero indo feito de x1 á fronte é igual a 6.
Entón, aquí nesta liña x é igual a 6, e imprimiu obteriamos o valor 6.
Agora, se foi utilizado o seu fornecedor de prefixo, + + x, x é incrementado en primeiro lugar, e, a continuación, o valor é usado.
Polo tanto, é igual a 7 nesta liña.
O incremento do curso de 6 a 7, e se nós imprimir lo teriamos o valor 7.
>> A nuance último precedencia que veremos se encarga de notación de punteiro.
O operador dereference, estrela, ten prioridade sobre operadores matemáticos básicos,
pero non sobre o incement sufixo e operadores de decremento.
Isto nos leva ao noso exemplo final.
Imos dar o enteiro x e define-lo igual a 7.
Tamén imos facer unha y punteiro e define-lo igual ao enderezo de x.
Para que, cando y dereference debemos obter o valor 7.
Agora, nesta liña de código, temos unha situación un tanto ambigua.
Estamos dereferencing y primeiro, e despois aumentando o valor 7?
Ou estamos incrementando o punteiro e logo dereferencing isto?
En realidade, xa que o operador de incremento sufixo ten precedencia sobre
o operador dereference, estamos intentando incrementar o punteiro y,
que mover o punteiro do tamaño de bytes int.
Esencialmente dar un enderezo nalgún momento totalmente distinto na memoria,
e despois imos dereferencing-lo.
Polo tanto, esta é a liña moito sentido.
Se realmente quería incrementar o valor de 7,
teriamos que poñer o operador dereference con y entre parénteses.
Entón poderiamos incrementa-lo.
Así, mentres non estariamos incrementando o valor de x, o segundo a última liña de código,
na última liña de código que faría y dereference infact
para obter o valor x e incrementar iso.
Nós quedaría co valor de x é igual a 8.
>> Aquí está unha rápida recapitulação das regras precedencia que falamos.
Nós imos comezar cos parénteses máis internos e traballar fóra.
A continuación, pasamos a operadores de sufixo, como i + + ou I -.
Entón dereference e enderezo de operadores como estrela x ou x comercial,
e os operadores de prefixo como + + i ou - i.
Finalmente, facer as operacións matemáticas simples, como división, multiplicación, módulo.
A continuación, adición, subtracción.
Isto é precedencia. Son Jordan Jozwiak, e este é CS50.
Nós imos dereference e usar o enderezo e - como frase que?
Eu son feito. Okay.