Logo Passei Direto
Buscar

Inglês

Outros
Verifique o código do programa abaixo, observando o escopo de visibilidade das variáveis:
#include

int A = 200; // variavel global
int B = 444; // variavel global

void escopo1() {
int A;
A = -200;
printf("Valor da variavel local A dentro da função escopo1: %d\n", A);
printf("Valor da variavel global B dentro da função escopo1: %d\n", B);
}

main() {

printf("Valor da variavel global A dentro do main(): %d\n", A);
printf("Valor da variavel global B dentro de main(): %d\n", B);
int A = 10;
printf("Valor da variavel local A dentro do main(): %d\n", A);
A = 20;
escopo1();
printf("Valor da variavel local A dentro do main(): %d\n", A);
}
User badge image
Exercícios Para o Conhecimento

há 2 meses

Respostas

User badge image

Ed Verified user icon

há 2 meses

Para entender o escopo de visibilidade das variáveis no código apresentado, vamos analisar o que acontece em cada parte do programa. 1. Variáveis Globais: `int A = 200;` e `int B = 444;` são variáveis globais, acessíveis em qualquer parte do código. 2. Função `escopo1()`: - Dentro dessa função, há uma declaração de uma variável local `int A;`. Essa variável local "sombra" a variável global `A`, ou seja, quando você usa `A` dentro da função, está se referindo à variável local. - O valor de `A` é definido como `-200`, então `printf("Valor da variavel local A dentro da função escopo1: %d\n", A);` imprimirá `-200`. - `printf("Valor da variavel global B dentro da função escopo1: %d\n", B);` imprimirá `444`, pois `B` é uma variável global e não foi ofuscada. 3. Função `main()`: - O primeiro `printf` imprime `200`, que é o valor da variável global `A`. - Depois, `int A = 10;` declara uma nova variável local `A` que "sombra" a variável global `A` dentro do escopo de `main()`. - O `printf` seguinte imprime `10`, que é o valor da variável local `A`. - Após a atribuição `A = 20;`, o valor da variável local `A` é alterado para `20`. - Quando `escopo1()` é chamada, o valor da variável local `A` dentro de `main()` ainda é `20`, mas isso não afeta a execução da função `escopo1()`. - O último `printf` dentro de `main()` imprime `20`, que é o valor da variável local `A`. Resumindo, os valores impressos serão: - Dentro de `escopo1()`: `Valor da variavel local A dentro da função escopo1: -200` e `Valor da variavel global B dentro da função escopo1: 444`. - Dentro de `main()`: `Valor da variavel global A dentro do main(): 200`, `Valor da variavel local A dentro do main(): 10`, e `Valor da variavel local A dentro do main(): 20`. Se você tiver uma pergunta específica sobre o código ou sobre o escopo, sinta-se à vontade para perguntar!

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Examinando as regras para soma lógica abaixo, vemos que os valores se assemelham à tabela-verdade de uma porta lógica.
Que tipo de porta é essa?
AND
NOR
XOR
OR
NAND

Você chegou à expressão lógica (1) abaixo para implementar um circuito lógico de desligamento de uma máquina.
Porém, o gerente técnico pediu para você usar a expressão lógica (2) no lugar, dizendo que é equivalente a (1). Que regra(s) ele usou para fazer esta alteração?
Distributiva e idempotente
Associativa
De Morgan
Idempotente
Comutativa e distributiva

Nomes de variáveis em C seguem algumas regras. Qual dos seguintes nomes de variável abaixo está errado? _1num num_ _num1 1_num num_1

O programa em C a seguir chama uma função chamada func(), passando os três valores fornecidos pelo usuário. O que a função func() retorna?


 Retorna o primeiro valor fornecido pelo usuário.
 Retorna o segundo valor fornecido pelo usuário.
 Retorna o maior valor fornecido pelo usuário.
 Retorna o menor valor fornecido pelo usuário.
 Retorna último valor fornecido pelo usuário.

Calcule as expressões aritméticas abaixo e considere a precedência entre operadores: Exp1 = 24 - 3 * 5; Exp2 = (4 - 2 * 6) / 4 + 1; Exp3 = 6 / ((2 + 11) % 3) * 4; Marque a opção correta abaixo, que indica o resultado das expressões Exp1, Exp2 e Exp3:
4, 1 e 24
9, -1 e 24
9, 1 e -1
4, -1 e 1
9, -1 e 1

Dentre os operadores da linguagem C, o operador ternário (?) pode substituir a estrutura de condição if¿else. Dado a instrução abaixo: numero >= 0 ? numero++ : numero--; Se o valor da variável (numero) for -10, qual será o resultado do comando?
-11
10
-10
11
9

Um programa gera a sequência: 1 3 5 7 9. Qual das opções abaixo representa o código que gera a sequência acima? Obs: a variável n é do tipo inteira.
for(n=2; n<9; n=n+2) printf("%d '', n);
for(n=1; n<10; n=n+1) printf("%d '', n);
for(n=1; n<=10; n=n+1) printf("%d '', n);
for(n=1; n<=8; n=n+2) printf("%d '', n);
for(n=1; n<10; n=n+2) printf("%d '', n);

Segundo as regras de definição de variáveis, indique qual das variáveis abaixo tem nome correto.


 float 1b2c3;
 int 2idade;
 int num_cliente;
 double break;
 char 13Letra.

Com relação ao conceito de passagem de parâmetros, assinale a opção correta.


 Sempre que uma função é invocada (ou chamada), a função main() continua a executar suas instruções.
 O número de parâmetros enviados para uma função pode ser diferente do número de parâmetros existentes no cabeçalho da função, pois a função emprega os parâmetros que ela necessita.
 Após o término de seu funcionamento, a função tem que devolver um valor para o programa que a invocou.
 O código de uma função só é executado quando esta é invocada em alguma parte do programa a que está de algum modo ligado.
 Um programa em C não precisa da função main() escrita no seu código, quando existem outras funções presentes no programa.

Uma função é composta de duas partes: o cabeçalho e o corpo da função. Você precisa programar uma função que receba três números reais, calcule a média entre eles e retorne o valor da média. Assinale abaixo a opção correta que descreve o cabeçalho da função calcula_media:
float calcula_media(int n1, float n2, float nr3).
float calcula_media(float n1, float n2, float nr3).
int calcula_media(float n1, float n2, float nr3).
void calcula_media(float n1, float n2, float nr3).
float calcula_media(int n1, int n2, int nr3).

Mais conteúdos dessa disciplina