Prévia do material em texto
1a Questão (Ref.: 201407860247) Acerto: 1,0 / 1,0 A Linguagem C tem algumas características importantes e uma delas é a Portabilidade, Isso significa dizer que: A linguagem possui um propósito específico. Um programa executável gerado na plataforma Windows é executado na Plataforma Linux. Por ser considerada uma linguagem de baixo nível é mais simples migrar para outra plataforma. Podemos dividir o programa em parte menores. Com pequenas alterações, o programa poderá ser compilado em várias plataformas. 2a Questão (Ref.: 201407860261) Acerto: 1,0 / 1,0 Na função main() da linguagem C, declarações, comandos, estruturas e tudo mais que pertence ao corpo da função estão envoltos por dois elementos. Assinale a opção que apresenta esses elementos. begin e end; ( e ) [ e ] begin e end { e } 3a Questão (Ref.: 201407860258) Acerto: 1,0 / 1,0 Você estava trabalhando na plataforma Windows e foi definindo várias funções específicas para sua área de atuação. Um dia, resolveu criar uma biblioteca e nomeou de minhasFuncoes.h, salvando em uma pasta de nome funcoes na raiz do drive C. Quando foi incluir, usou: #include "c:\funcoes\ minhasFuncoes.h" #include minhasFuncoes.h #include "c:\ minhasFuncoes.h\funcoes" #include "minhasFuncoes.h" #include 4a Questão (Ref.: 201407860396) Acerto: 1,0 / 1,0 Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display. #include int main() { printf ("%s%d%%","Juros de ",10); } %s%d%% Juros de 10 10 Juros de Nada porque tem muitos % Juros de 10% % Juros de 10 5a Questão (Ref.: 201407863911) Acerto: 1,0 / 1,0 Na linguagem de programação C, como em outras, na criação de programas, devemos definir os tipos de dados para nossas variáveis de acordo com o problema em questão. Das opções apresentadas qual possui apenas tipos da linguagem C, conforme o material apresentado nas aulas. char, int, float, double, void char, integer, float, real, boolean char, int, float, double, boolean char, int, real, double, boolean char, int, real, double, void 6a Questão (Ref.: 201407431491) Acerto: 1,0 / 1,0 Um engenheiro precisava calcular o valor do imposto a ser pago no carnê leão. Sabe-se que o imposto é calculado sobre o salário bruto. Acompanhe o programa codificado na linguagem C, supondo que você digitou 4000 para primeira solicitação de entrada e 1000, para segunda solicitação. Escolha a opção onde está presente o valor do imposto. Valor do imposto a ser pago: 750.00 Valor do imposto a ser pago: 650.00 Valor do imposto a ser pago: 800.00 Valor do imposto a ser pago: 1000.00 Valor do imposto a ser pago: 850.00 7a Questão (Ref.: 201407860977) Acerto: 1,0 / 1,0 Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro. O dado testado era do tipo inteiro. Assinale a opção que ele escolheu. switch() com cinco cases quatro ifs simples e um composto três ifs simples e um composto switch() com quatro cases e um default quatro ifs simples 8a Questão (Ref.: 201408152705) Acerto: 1,0 / 1,0 Considere o programa abaixo e responda: Qual é o preço total se o usuário comprar 11 laranjas e 10 abacaxis? 18.00 20.00 18.40 16.00 16.40 9a Questão (Ref.: 201407434964) Acerto: 1,0 / 1,0 A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA. I As chaves de abertura e fechamento, sempre, não são obrigatórias. II No teste unimos expressões relacionais com operadores lógicos quando necessário. III A palavra then está presente na estrutura. IV O uso do else poderá não ser necessário. I está errada. II e IV estão corretas. IV está correta e a I não está correta. II está correta e a III não está correta. I e III estão corretas. 10a Questão (Ref.: 201407434987) Acerto: 1,0 / 1,0 Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch(). 90: printf("Pode"); stop; case a > 90: printf("Pode") ;break; 90: printf("Pode"); case 90: printf("Pode") ; break; case a=90: printf("Pode") ;break; 1. Para que possamos criar nossos programas na linguagem C, iniciamos por criar o ______________, o qual pode ser feito através de um editor de texto não formatado e salvo com a ______________ ou mesmo utilizar um editor da linguagem, como o DEV C++. De acordo com o sistema operacional isto pode ser um pouco diferente. Após esta etapa, devemos ___________ e linkeditar o programa gerando o arquivo _____________, o qual após ser executado apresenta o resultado de nosso programa. Das opções apresentadas, marque aquela que completa respectivamente e corretamente os espaços em branco destacados do texto, segundo os conceitos da linguagem C apresentados no material didático da disciplina. Código fonte - extensão .c - compilar - executável Código base - extensão .c - compilar - fonte Fonte - extensão .txt - editar - executável Executável - extensão .c - compilar - fonte Código de texto - extensão .txt - editar - fonte 2. Um dos grandes problemas de empresas que desenvolvem software é a variedade hardware. Como por exemplo, em grandes redes de supermercados, o software instalado não pode ser trocado sem maiores custos e traumas. A linguagem C possui a capacidade de ser compilado ou executado em diferentes arquiteturas (seja de hardware ou de software). Identifique abaixo a capacidade descrita. Flexibilidade Polimorfismo Portabilidade Modularidade Reuso 3. No ambiente Dev-cpp, temos algumas facilidades. Uma delas é quando desejarmos compilar e executar logo em seguida com um único clique ou um pressionamento de uma tecla. Analise as afirmativas abaixo e escolha a opção correta I Pressionar F9(pode ser F11 em versões mais novas) II Clicar no ícone Compilar III Clicar no ícone Executar IV Clicar no ícone Compilar e Executar Só a IV possibilita isso Tanto a I quanto a IV possibilitam isso Só a III possibilita isso Só a II possibilita isso Só a I possibilita isso 4. Na história da linguagem C, alguns momentos foram marcantes devido a acréscimos e/ou modificações significativas embora nem todos os compiladores tenham aderido. Abaixo estão relacionadas alguns deles: - Surge o tipo long long para inteiros; - As funções matemáticas passam a aceitar todos os tipos numéricos; - O caracter // para comentário de uma linha, pode ser usado também; Assinale a opção que contem o nome do documento onde apareceram, pela primeira vez, as modificações acima. Padrão C89 C tradicional Padrão C99 Padrão C95 ISO/IEC 9899:19905. Após o surgimento de várias linguagens de Alto nível, surge a linguagem C . Qual a década em que foi desenvolvida? década de 80 década de 90 década de 60 década de 70 década de 50 6. Estudamos que a linguagem C apresenta várias características. Analise as afirmativas abaixo e assinale a opção correta. I Com pequenas modificações, um código poderá ser compilado em várias plataformas. II Não pode ser modularizada III Possui um propósito específico IV Considerada de nível intermediário I, III e IV estão corretas II, III e IV I e IV estão corretas Todas estão corretas Todas estão erradas 7. Na Aula 1, estudamos algumas características e vantagens da linguagem C. Observe as afirmativas abaixo e assinale a opção que contem a resposta correta. I Tem boa Portabilidade. II Não pode ser modularizada. III É uma linguagem Orientada a Objetos. IV Uma linguagem que pode manipular endereços de memória. V Não possui um propósito especifico. As afirmativas I, IV e V estão corretas e as demais, erradas. As afirmativas I e IV estão corretas e as demais, erradas. As afirmativas IV e V estão corretas e as demais, erradas. As afirmativas II, IV e V estão corretas e as demais, erradas. As afirmativas II, III e IV estão corretas e as demais, erradas. 8. Sabe-se que a linguagem C é uma das mais utilizadas no mundo. Desenvolvida em 1972 é uma linguagem voltada para programadores. Dentre as opções abaixo é incorreto afirmar: Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo Possui características de Linguagem de baixo nível. Permite a compilação de softwares para plataforma Windows, Linux e Unix. Possui características de Linguagem de alto nível. Possibilita o desenvolvimento de funções próprias 1. Considere o código abaixo. Considere que o usuário digite 11. O que será impresso para o usuário? int main () { int num; printf ("Digite um numero: "); scanf ("%d",&num); if (num==10) { printf ("Show!"); } else { if (num>10) { printf ("Top!"); } else { printf ("Mara!"); } } return 0; } 0 Top! Mara! Show! return 0; 2. Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h. Assinale o trecho correto que possibilita incluí-las. #include #include #include #include #include stdio.h #include stdlib.h #include math.h #define #define #define #include 3. Assinale a função que não é disponível na plataforma Linux. main() scanf() return printf() system() 4. Você estava trabalhando na plataforma Windows e foi definindo várias funções específicas para sua área de atuação. Um dia, resolveu criar uma biblioteca e nomeou de minhasFuncoes.h, salvando em uma pasta de nome funcoes na raiz do drive C. Quando foi incluir, usou: #include "minhasFuncoes.h" #include "c:\ minhasFuncoes.h\funcoes" #include minhasFuncoes.h #include #include "c:\funcoes\ minhasFuncoes.h" 5. Um Engenheiro estava construindo um trecho de programa onde pedia que o usuário respondesse com uma letra ou um algarismo. Se o usuário não tivesse respondido, ele enviaria uma mensagem de erro. Ele sabia que precisava aprender mais alguma estrutura, mas, no momento, pensou em experimentar uma função que pudesse lhe dar um retorno. Pesquisou nas bibliotecas estudadas na aula 2 e achou. Qual o nome dessa função? isdigit() isalnum() isnotalphadigit() isspace() isalpha() 6. Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display. #include int main() { printf ("%s%d%%","Juros de ",10); } Nada porque tem muitos % % Juros de 10 10 Juros de %s%d%% Juros de 10 Juros de 10% 7. No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows. Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa? Usar um editor de texto para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc. Usar o terminal para digitar o código/ salvar sem se preocupar com extensão/ e digitar uma linha de comando, também no terminal, usando o compilador gcc. Usar um editor de texto para digitar o código/ salvar com extensão c/ digitar uma linha de comando no terminal, usando o compilador gcc que irá gerar o executável e executá-lo em seguida. Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo. Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável / digitar o nome do executável no terminal para executá-lo. 8. Qual o nome da função matemática que calcula a potenciação de um número? double sqrt pow elevado pot 1. As bibliotecas da linguagem C guardam funções predefinidas da linguagem. Veja o código a seguir e marque a alternativa que contém as bibliotecas necessárias para que este código funcione. #include________ #include________ int main() { int a=2, b=2, c=8, delt; delt=(pow(b, 2)-(4*a*c)); system("pause"); return (0); } Não leve em consideração os sinais de maior e menor que envolvem o nome das bibliotecas. cmat.h - ctype.h math.h - stdlib.h stdio.h - stdlib.h stdlib.h - ctype.h stdio.h - ctype.h 2. Na linguagem de programação C, como em outras, na criação de programas, precisamos fazer a entrada e saída de dados no sistema e para tal temos algumas opções. Das opções apresentadas, qual não é parte linguagem C, conforme o material apresentado nas aulas. printf ( ) fgetc(stdin) scanf ( ) getchar ( ) cin ( ) 3. Observe abaixo várias funções que recebem dados via teclado. Qual delas permite uma leitura formatada? fgets() fgetc() scanf() gets() getchar() 4. Na linguagem de programação C, como em outras, na criação de programas, devemos definir os tipos de dados para nossas variáveis de acordo com o problema em questão. Das opções apresentadas qual possui apenas tipos da linguagem C, conforme o material apresentado nas aulas. char, int, real, double, void char, integer, float,real, boolean char, int, real, double, boolean char, int, float, double, boolean char, int, float, double, void 5. Um programa de cadastro deve solicitar cpf,nome e telefone de alunos até que o cpf seja igual a 0. Que estrutura em C melhor representa esta tarefa? while{ // [bloco de comandos] } do (cfp !=0); for (cpf=0; cpf !=0; cpf++) { // [bloco de comandos] } if (cpf != 0) { // [bloco de comandos] } do{ // [bloco de comandos] } while (cfp !=0); do while (cfp !=0) { // [bloco de comandos] } 6. Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas. De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto. math.h - Funções matemáticas stdlib.h - Funções de entrada e saida. string.h - Funções para concatenação de strings com inteiros. stdio.h - Funções para gráficos. time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos. 7. Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA. As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas. Uma variável local só é visualizada pela função onde foi declarada. Duas, ou mais funções, podem declarar variáveis locais com os mesmos nomes. A função main() pode acessar qualquer variável local de qualquer função. Existem funções que não têm variáveis locais. 8. Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C. nota-2 , a36, x_y 2_ou_1, fim, *h, j If, nota_do_aluno_2, HOJE, _yes 2nota, a36, x#y, --j i, j, int, obs 1. Se precisarmos testar o conteúdo de uma variável e sabendo-se que só serão executados comandos se o teste retornar verdadeiro, qual estrutura você indicaria para esse caso? switch() if else if if else if 2. Um desenvolvedor construiu um código onde estava presente o trecho abaixo. char resp; scanf("%c", &resp); switch(toupper(resp)) ; { case 'A': puts("Digitou a letra A" ); break; case 'E': puts("Digitou a letra E" ); break; case 'i': puts("Digitou a letra I" ); case 'O': puts("Digitou a letra O" ); case 'U': puts("Digitou a letra U" ); break; default: puts("Nao digitou vogal" ); } Analise as afirmativas abaixo e assinale a opção correta. I Se digitar I, aparece: Digitou a letra I / Digitou a letra O/ Digitou a letra U uma mensagem em cada linha. II Se digitar i, aparece: Nao digitou vogal. III Se digitar o, aparece:Digitou a letra O/ Digitou a letra U uma mensagem em cada linha. IV Se digitar a, aparece: Nao digitou vogal. V Se digitar A, aparece: Digitou a letra A. II e, IV são verdadeiras III e IV são verdadeiras II, III e V são verdadeiras Só a a III é verdadeira I, III e IV são verdadeiras 3. Existe sempre uma dúvida por parte do desenvolvedor se escolhe switch() ou if quando está usando a Linguagem C. Sabemos que existem algumas exigências para se usar o switch(). Analise as opções abaixo e assinale a opção correta. I Qualquer tipo pode ser usado. II Somente o tipo vetor de char que Não pode ser usado. III Não pode ser usado intervalo tipo: 1..3 em um case. IV Sempre será obrigatório usar o comando break; ao final de um case. V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção default, caso exista. I, III e IV são verdadeiras II, IV e V são verdadeiras III e V são verdadeiras I, III, IV e V são verdadeiras II, III e IV são verdadeiras 4. Um aluno de LPI gostaria de testar duas condições, usando somente uma estrutura if. Abaixo as duas condições a serem testadas: a) O ano de nascimento que precisa estar no intervalo fechado de 1989-2007. b) O sexo que precisa ser masculino. Sabe-se que o sexo se encontra em uma variável do tipo char de nome sexo e o ano em uma variável do tipo int de nome ano. Além disso, ele deseja que seja aceita tanto a letra M quanto a letra m. Assinale a opção que resolve o problema desse aluno. if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' ) if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) ) if( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) ) if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 ) if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) ) 5. O desenvolvimento de um programa precisa atender as necessidades do usuário final, para isto o desenvolvedor conta com algumas estruturas que facilitam a construção de seu código fonte. Uma delas é a estrutura condicional if. Das opções apresentadas marque a qual melhor define esta estrutura. Testa uma condição e dependendo do resultado permite que o programa siga por caminhos diferentes repetidamente. Compara os valores possíveis para uma variável e dependendo do resultado permite que o programa siga por caminhos diferentes. Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por caminhos diferentes. Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente. Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos diferentes. 6. Suponha que as notas digitadas pelo usuário sejam respectivamente (4.5; 8.5; 6.5). int main() { float n1, n2, n3, med; puts("Digites as notas"); scanf("%f", &n1); scanf("%f", &n2); scanf("%f", &n3); med= (n1+n2+n3)/3; if(med>=7) printf("Aluno aprovado com: %.1f\n", med); else printf("Aluno reprovado com: %.1f\n", med); system("pause"); return 0; } Desconsidere a necessidade da declaração das bibliotecas. Qual será a mensagem final exibida para o usuário? Aluno reprovado com: 6.50 Aluno aprovado com: 6.5 Aluno aprovado com: 6.0 Aluno aprovado com: 6.00 Aluno reprovado com: 6.5 7. Marque abaixo a instrução que permite parar uma execução dentro de um switch. case break close open stop 8. Em programação é possível que haja decisões usando o IF. Todo IF deve vir seguido de uma condição que deve ter como resultado Verdadeiro ou Falso. Considerando esta afirmativa, qual das opções abaixo deve apresentar erro na compilação. if (z = 21) if (y >= 14) if (a != 6) if (x <= 8) 1. Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? while (num == 0) for ( i = 0; i == num; i++) enquanto (num > 0) for (i = num; i > 0; i++) while (num != 0)2. Durante a criação de um programa, foi percebido que uma parte do código era executada várias vezes, porém não era em uma sequência de repetições e sim esporadicamente. Cada vez que esta parte era executada inicialmente precisava-se de um valor diferente e no final do trecho a resposta nem sempre era a mesma. Era necessário achar alguma forma de evitar a redundância de códigos e melhorar a escrita e desempenho do sistema. Baseado na descrição apresentada acima e utilizando-se da melhor forma os conceitos de programação, qual seria a melhor solução pra o problema: Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia. Utilizar a estrutura de loop FOR, para executar a parte do código que se repetia. Utilizar a estrutura de loop DO-WHILE, para executar a parte do código que se repetia. Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia. Criar uma função para executar a parte do código que se repetia. 3. Para o programa abaixo qual a saída apresentada? main(){ int x,soma=0; for(x=10; x<=15;x++) { printf(" %d",pow(x,2)); } system("PAUSE"); return 0; } 9 10 11 12 13 14 15 20 22 24 26 28 30 15 14 13 12 11 10 100 121 144 169 196 225 10 11 12 13 14 15 4. Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch(). case a=90: printf("Pode") ;break; case a > 90: printf("Pode") ;break; case 90: printf("Pode") ; break; 90: printf("Pode"); 90: printf("Pode"); stop; 5. Qual a estrutura de repetição usada para quantidade indeterminada de repetições? if-else struct switch while for 6. Leia com atenção as afirmativas abaixo e escolha a opção correta. I A estrutura do for, por definição, é ideal quando o número de repetições for conhecido II A estrutura do for testa ao final enquanto a estrutura while testa no início III A estrutura while pode simular a estrutura do for e a estrutura do... while IV A estrutura do for sem nenhum parâmetro, só com os ; dentro dos parênteses e com um if no corpo da repetição, pode simular a estrutura while V Tanto a estrutura do...while quanto a estrutura while, testam no início Somente I, III e IV estão corretas Somente I e V estão corretas Somente I, III e V estão corretas Somente I, II, III e V estão corretas Somente II, III e V estão corretas 7. A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA. I As chaves de abertura e fechamento, sempre, não são obrigatórias. II No teste unimos expressões relacionais com operadores lógicos quando necessário. III A palavra then está presente na estrutura. IV O uso do else poderá não ser necessário. I está errada. I e III estão corretas. II está correta e a III não está correta. IV está correta e a I não está correta. II e IV estão corretas. 8. Qual será a saída do programa abaixo? int main() { int i=0; do { i++; cout << i << endl; } while (i < 2); } 0 1 2 0 1 1 2 2 1 2 . Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos. Pensou em declarar algumas matrizes unidimensionais para tornar isso possível. Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima? double codigos[999], qtdade[999], valorC[999], valorV[999]; int codigos[999], qtdade[999]; float valorC[999], valorV[999]; double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 2. A linguagem C permite a inicialização de vetores junto com sua declaração. Dada as alternativas abaixo, selecione a que está incorreta: int valores[5] = {10, 15, 20, 25, 30}; int valores[] = {10, 15, 20, 25, 30}; char valores[] = {'A', 'B', 'C', 'D'}; char valores[5] = {'A', 'B', 'C', 'D'}; char valores = "ABCD"; 3. Uma empresa possui uma série de programas desenvolvidos em C que acessam um mesmo arquivo. Um dos problemas constatados é a falta de padronização no armazenamento de dados neste arquivo. Alguns aplicativos gravam em caixa alta (letras maiúsculas), outros em caixa baixa (letras minúsculas) e alguns não administram isto. Para tanto, foi definido, por padrão, que todos os caracteres lidos devem ser convertidos para caixa alta imediatamente após a leitura do mesmo. Qual função do C devo incluir nos programas para efetuar a conversão de caractere a caractere? toupper upper convertUp convertUpper toupr 4. A linguagem C, ao contrário de outras linguagens de programação, não possui um tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros Admitindo-se que existe declarado um vetor chamado nome de 50 posições(nome[50]), qual das opções abaixo efetua corretamente a leitura de seu primeiro nome? scanf("%s", nome); scanf("%c", nome[0]); scanf("%&s", &nome); scanf("%s&c", nome[0]); scanf("%s", &nome); 5. A linguagem C, ao contrário de outras linguagens de programação, não possui um tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros Qual das opções abaixo está correta? Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/0'). Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/end'). Em C, strings são vetores de caracteres terminados pelo caractere nulo ('{0}'). Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\0'). Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\end') 6. Assim como nas variáveis, podemos inicializar os vetores assim que declaramos. Sabendo-se que existe um vetor de 3 posições do tipo inteiro, qual das opções abaixo correspondo a correta forma de se declarar e inicializar este vetor? integer numeros[3] = [ 0, 1, 2]; int numeros[2] = [ 0, 1, 2]; int numeros[3] = ( 0, 1, 2); int numeros(2) = { 0, 1, 2}; intnumeros[3] = { 0, 1, 2}; 7. Os chamados vetores e matrizes podem ser considerados como: Estruturas de dados heterogêneas Comandos de seleção Comandos de seleção composta Comandos de repetição Estruturas de dados homogêneas 8. Qual o elemento do vetor referenciado por vet[vet[5]]? 3 4 2 1 9 1. O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores. Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C. Assinale a opção que possibilitará fazer o que o professor deseja. float NOTAS[47,5]; float NOTAS[47][5]; float Notas[47][47]; float NOTAS[47][47]; float notas[5][47]; 2. Considere que todas as bibliotecas necessárias foram declaradas. int main() { int mat[3][3], i, j, det; puts("Codigo que calcula o determinante de uma matriz 3x3\n"); ____{ puts("Digite os elementos da matriz\n"); ____(i=0;i<3;i++) ____(j=0;j<3;j++) scanf("%d", &mat[i][j]); fflush(stdin); det= (mat[0][0]*mat[1][1]*mat[2][2]) + (mat[0][1]*mat[1][2]*mat[2][0]) + (mat[0][2]*mat[1][0]*mat[2][1]) - ((mat[0][1]*mat[1][0]*mat[2][2]) + (mat[0][0]*mat[1][2]*mat[2][1]) + (mat[0][2]*mat[1][1]*mat[2][0])); printf("\ndet=%d\n", det); } ____ (det==0); system("pause"); return (0); } Complete as lacunas do código da maneira correta para que o programa funcione corretamente. do-if-else-while do-while-for-for do-if-for-while do-for-for-while while-for-do-for 3. Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar. Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para atender a necessidade citada. int notas[150]; float notas[150]; float %.1f notas[150]; integer notas[150]; real notas[150]; 4. Qual o elemento do vetor referenciado pela expressão MAT[0][2]? 1.2 2.7 1.1 3.2 6.4 5. Supondo que está desenvolvendo um programa de cadastro de alunos, qual das opções declara corretamente uma matriz caracter que suporte 30 nomes de até 20 caracteres? char nomes [20][30]; char nomes (30); char nomes (20,30); char nomes [30][20]; char nomes [30]; 6. As matrizes, assim como os vetores, são muito importantes para facilitar o trabalho de um programador, por isso é extremamente importante saber como utiliza-la. Assinale a alternativa em que há uma matriz bidimensional, do tipo inteiro, com 10 linhas e 20 colunas, declarada de forma correta. int matrizExemplo[10,20]; int matrizExemplo[10][20]; matrizExemplo float[20][10]; float matrizExemplo[20][10]; matrizExemplo int[10][20]; 7. Matrizes são estruturas de dados extremamente poderosas e que são muito empregadas em programas na linguagem C. Assinale a alternativa incorreta em relação a este conceito. Uma matriz bidimensional poderá armazenamento de vetores do tipo char Não existem matrizes com mais de duas dimensões. Matrizes unidimensionais são conhecidas também como vetores; O armazenamento de um valor, em uma variável da matriz bidimensional, poderá ser feito através de um comando de leitura ou de atribuição Podemos inicializar com valores no ato de sua declaração. 1. Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada. O valor retornado corresponde ao índice da variável que contem o menor número Nada retorna porque o nome do vetor da função main é diferente do nome do vetor da função descobre O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número O menor número é retornado O maior número é retornado 2. O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles. Assinale a linha onde a declaração atende ao que ele deseja. char nomes[20][31]; float salarios[20][20]; char nomes[19][31]; float salarios[19][13]; char nomes[20]; float salarios[19][13]; float nomes[20][31], salarios[20][14]; char nomes[20][31]; float salarios[20][14]; 3. Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas. tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função } Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc). Nome, Parâmetro e Corpo da função. Tipo, Nome, Parâmetros e Corpo da Função. Tipo, Parâmetro e corpo da função. Tipo , Nome, e Corpo da função. Tipo, Nome e Parâmetros. 4. Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano. Das opções apresentadas, qual função apresenta a solução para o programador? strcont( ). atoi( ). strcat( ). strlength( ). strlen( ). 5. Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas end systema("pause") begin return main() 6. Observe o código apresentado na questão: #include < stdio.h> #include < stdlib.h> int x=4; void main(){ int x=5; exibir(x); system("PAUSE"); } void exibir(int y){ printf("%d",y); } Dentre as opções abaixo é correto afirmar: O programa exibirá 9 O programa exibirá 4 O programa exibirá 5 Ocorrerá um erro O programa exibirá 0 7. Dada a função abaixo, qual o valor que será retornado quando esta função for chamada com: perc(200, 15) float perc(float val, float perc) { float resp; resp = val + val * (perc/100); return resp; } 130 215 230 1. Qual o modo de abertura de arquivo me permite ler, mas não escrever? w a r+ r a+ 2. Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes. Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional. nome_matriz[numero_linhas][numero_colunas];tipo nome_matriz[][]; tipo nome_matriz[numero_colunas][numero_linhas]; tipo nome_vetor[numero_colunas][numero_linhas]; tipo nome_matriz[numero_linhas][numero_colunas]; 3. Considere que as bibliotecas necessárias foram devidamente declaradas. int main() { FILE *arq ; int i; _____ c ; arq = _____ ( " jornal.txt " , " r " ) ; if ( arq == NULL ){ printf ( " Erro na abertura do arquivo " ) ; system ( " pause " ) ; exit ( 1 ) ; } else for ( i = 0; i<5; i++){ c = fgetc ( arq ) ; printf( "%c", c ) ; } _____( arq ) ; system ( " pause " ) ; return 0; } Complete as lacunas do código para que o programa funcione corretamente. A ordem em que as palavras são dispostas na resposta, devem preencher respectivamente as lacunas. char - fopen - fechar int - open - close float - fopen - fclose char - fopen - fclose int - abrir - fopen 4. Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico. Das afirmativas apresentadas qual define corretamente qual a finalidade da função feof() . Funções para leitura formatada. Função que fecha um arquivo. Função que detecta o fim do arquivo. Funções para ler um caractere. Funções para gravar uma linha. 5. A função fgets(): imprime um caracter de cada vez. imprime uma linha inteira de uma vez. lê um caracter de cada vez. lê um arquivo inteiro de uma vez. lê uma linha inteira de uma vez. 6. Na manipulação de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter erros: devido a não existência do arquivo; ao arquivo estar corrompido; etc, não sendo possível abrir o mesmo. Das afirmativas apresentadas qual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas. Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema. A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variável associada ao arquivo, comparando com o valor NULL. O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado e retornado uma mensagem padrão para o usuário. A palavra chave FILE, que permite fazer a associação do arquivo, mantem o valor NULL caso não seja possível abrir o arquivo, desta forma, utilizando o if, o usuário pode mandar uma mensagem adequada para o usuário. Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa. 7. Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de texto.txt, que foi associado com a variável de nome: arq, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura para ler e/ou gravar dados no fim do arquivo corretamente seguindo as regras da linguagem. arquivo = fopen("material.dat", "r+"); arquivo = fopen("material.dat", "a+"); arq = fopen("texto.txt", "a+"); arquivo = fopen("material.dat", "w+"); arq = fopen("texto.txt", "w"); 8. Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico. Das afirmativas apresentadas qual define corretamente qual a finalidade da função fputc() . Funções para gravar uma linha. Função que detecta o fim do arquivo. Função para gravar um caractere. Função que fecha um arquivo. Funções para gravação formatadas. 1. Suponha que o arquivo dados.txt contém a cadeia de caracteres "ABCYDEF" e nada mais. O que o seguinte programa imprime? int main( void) { FILE *entrada; int c; entrada = fopen( "dados.txt", "r"); while ((c = getc( entrada)) != EOF) printf( "%c ", c); fclose( entrada); return EXIT_SUCCESS; } ABCDEF ABC ABCDEFY ABCYDEF DEF 2. Uma das ultimas funções estudadas foi a rename(). Suponha que o nome do arquivo é inicial é ARQ e o novo deve ser ARQ2, e é constante. Assinale a alternativa que apresenta a sintaxe correta para a função. rename("ARQ", ARQ2); rename("ARQ, ARQ2"); rename("ARQ", "ARQ2"); rename("ARQ2", "ARQ"); rename(ARQ2, ARQ); 3. A função _________ funciona como a função scanf(), porém, ao invés de ler os dados de teclado, estes dados são lidos de um arquivo. fscanf() fgets() sscanf() fgetc() fprint() 4. A função rewind() de protótipo void rewind (FILE *fp); tem como comportamento: Retornar a posição corrente do arquivo para o fim. Adiantar para a próxima posição corrente do arquivo. Retornar a posição corrente do arquivo para o início. Adiantar a posição corrente do arquivo para o fim. Adiantar a posição corrente do arquivo para o início. 5. Nas aulas aprendemos sobre as funções de leitura e gravação. A respeito da função fwrite assinale a alternativa correta. fwrite(endreçoElemento, tamanho, quantidade, ptrArq); fwrite( tamanho, endreçoElemento, ptrArq); fwrite(endreçoElemento, tamanho, quantidade); fwrite(endreçoElemento, ptrArq, quantidade); fwrite(quantidade, ptrArq, endreçoElemento,tamanho); 6. Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo. Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade. Para leitura e edição Somente para leitura Para leitura e gravação Somente para gravação Não precisa abrir o arquivo