Baixe o app para aproveitar ainda mais
Prévia do material em texto
Escreva o que o seguinte programa imprimirá ao ser executado: #include <stdio.h> int main() { char a = 'B'; int x = 20; float y = x/8; float z = 1.0*x/8; printf("a: %c\n", a); printf("x: %i\n", x); printf("y: %f\n", y); printf("z: %f\n", z); return 0; } Questão 2 Considere a estrutura DATA: typedef struct{ char dia[2]; char mes[2]; char ano[4]; }DATA; Escreva uma função que recebe uma cópia de uma estrutura do tipo data e imprime a data correspondente no formato dia/mês/ano. /* Assinatura da função imprimir */ void imprimir(DATA copia){ Questão 3 Escreva o que o seguinte programa imprimirá ao ser executado: #include <stdio.h> void embaralhar(int* a, int* b, int c) { int temp = *a; *a = *b + c; c = *b; *b = temp; } int main() { int x = 10; int y = 20; int z = 35; embaralhar(&x,&y,z); printf("x: %i\n", x); printf("y: %i\n", y); printf("z: %i\n", z); return 0; } Questão 4 O que será impresso pela execução do seguinte programa? #include <stdio.h> #include <malloc.h> int main() { int x = 10; int y = 20; int z = 35; int* a = (int*) malloc(sizeof(int)); int** b = &a; printf("Endereco de x: %p\n", &x); printf("Endereco de y: %p\n", &y); printf("Endereco de z: %p\n", &z); printf("Endereco de a: %p\n", &a); printf("Endereco de b: %p\n", &b); printf("Valor de x: %i\n", x); printf("Valor de y: %i\n", y); printf("Valor de z: %i\n", z); printf("Valor de a: %p\n", a); printf("Valor de b: %p\n", b); *b = &z; *a = 44; printf("Novo valor de x: %i\n", x); printf("Novo valor de y: %i\n", y); printf("Novo valor de z: %i\n", z); printf("Novo valor de a: %p\n", a); printf("Novo valor de b: %p\n", b); return 0; } Questão 5 Escreva uma função chamada atualizar, que não possui retorno (void), que terá quatro parâmetros de entrada: 1. um ponteiro/referência para uma estrutura do tipo DATA (ver a seguir), 2. um inteiro chamado dia, 3. um inteiro chamado mês, e 4. um inteiro chamado ano. Esta função deve atualizar os campos dia, mês e ano da estrutura referenciada pelo primeiro parâmetro da função. /* Estrutura DATA */ typedef struct { int dia; int mes; int ano; } DATA; /* Assinatura da função atualizar */ void atualizar(DATA* pontData, int dia, int mes, int ano) { Questão 6 Dada a estrutura lista linear sequencial vista na videoaula 3, considere que trocamos a função de inserção aprendida na videoaula pela função de inserção inserirNovo apresentada a seguir. Considere que o usuário tenha inicializado sua lista e em seguida inserido os seguintes registros exibirLista: primeiro um com chave igual a 10, depois um com chave 20, em seguida um registro com chave igual a 30 e, por fim, um registro com chave igual a 40. O que será impresso pela função exibirLista (vista na videoaula 3) ao ser chamada depois destas quatro inserções terem sido realizadas? bool inserirNovo(LISTA* l, REGISTRO reg){ if (l->nroElem >= MAX) return false; l->A[l->nroElem] = l->A[0]; l->A[0] = reg; l->nroElem++; return true; }
Compartilhar