Obtenha as melhores soluções para suas perguntas no Sistersinspirit.ca, a plataforma de Q&A de confiança. Junte-se à nossa plataforma de perguntas e respostas e obtenha informações precisas de especialistas em diversas áreas. Nossa plataforma oferece uma experiência contínua para encontrar respostas confiáveis de uma rede de profissionais experientes.

Sejam as variáveis a, b e c do tipo int (inteiro). Considerando as linhas de código na linguagem C abaixo:

a = 3, b = 2, c = 2;
c++;
c += !a >= b && c != b;

Assinale a alternativa que corresponda ao valor da variável c ao final da execução:

Sagot :

Resposta:

A alternativa "B" está correta.

Explicação:

Na primeira linha as variáveis a, b, c (todas do tipo int) são inicializadas com os valores 3, 2 e 2, respectivamente;

Na segunda linha a variável c é incrementada em 1 unidade. Logo, c = 3 e as demais variáveis permanecem inalteradas (a = 3 e b = 2);

Na terceira linha temos a expressão lógica !a >= b && c != b sendo somada ao valor de c e atribuída à própria variável c ;

Do lado esquerdo da expressão temos a verificação se a negação de a (!a) é maior ou igual a b. Como o valor de a é diferente de zero, portanto considerado na linguagem C como um valor verdadeiro, a sua negação será considerada como falso, ou seja, 0 (zero). E como b tem valor igual a 2, o resultado de !a >= b (0 >= 2) será falso (F);

Do lado direito da expressão temos a verificação se a variável c é diferente de b. Após ter sido incrementada, c = 3. E como b = 2, c != b será verdadeiro (V);

Substituindo na expressão !a <= b && c != b, temos F && V, ou seja, falso E verdadeiro, o que resulta em falso;

Resta atribuir o resultado da expressão lógica à variável c.

Como c é do tipo inteiro, o valor falso será representado pela linguagem C como 0 (zero);

Substituindo em c += !a >= b && c != b, temos c += 0, que é o mesmo que c = c + 0.

Assim, c = 3 + 0 = 3.