[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.