Prévia do material em texto
Aula 1 1a Questão Com relação a diretiva de pré compilação #define, pode-se dizer que: É usada para parar a execução de um programa É usada parra definições de funções (incluindo a função main()) É usada para definição de constantes É usada para inclusão de arquivos com declarações É usada para declarações de objetos externos (protótipos de funções e variáveis) 2a Questão Arquivos em C podem representar tanto arquivos do sistema quanto dispositivos periféricos, verifique se está correto os arquivos pré- definidos: stdout = Dispositivo de saída de erro padrão (normalmente o monitor) stdaux = Dispositivo de saída principal (normalmente a porta usb) stdin = Dispositivo de entrada padrão (normalmente o teclado) stdprn = Dispositivo de abertura de txt padrão (normalmente a porta paralela) stderr = Dispositivo de saída padrão (normalmente o monitor) 3a Questão Acerca da Linguagem de Programação C, podemos afirmar que: I) Todo programa em C é composto de uma ou mais funções. II) Uma função main deve ser definida em cada programa. III) O C é case sensitive, ou seja, diferencia maiúsculas de minúsculas. IV) O C é baseado na Linguagem UAL. Marque somente a única resposta correta: Somente a afirmativa I é correta. Nenhuma das afirmativas é correta. Somente as afirmativas I e IV são corretas Somente as afirmativas I, II e III são corretas. Somente a afirmativa IV é correta. 4a Questão Observe as afirmativas abaixo e assinale a opção correta. I A linguagem C só pode tem uma função. II A única função obrigatória em um programa codificado na linguagem C é a função main(). III Muitas vezes, poderemos incluir várias bibliotecas em nossos programas se tivermos que usar algumas funções pré-definidas. IV Quando formos incluir bibliotecas, precisamos seguir uma ordem, começando pela biblioteca stdio.h, obrigatoriamente Somente a afirmativa II está correta As afirmativas II e III estão corretas Somente a afirmativa IV está correta As afirmativas III e IV estão erradas As afirmativas I e III estão erradas 5a Questão A diretiva #include < stdio.h> faz referência a: Declarações de funções para tratamento de texto. Declarações de funções para cálculo matemático. Declarações de funções úteis para entrada e saída de dados. Declaração de funções para tratamento numérico. Nenhuma das alternativas acima. 2a Questão 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: Permite a compilação de softwares para plataforma Windows, Linux e Unix. Possui características de Linguagem de baixo nível. Possui características de Linguagem de alto nível. Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo Possibilita o desenvolvimento de funções próprias 3a Questão Qual a vantagem da Linguagem C que está descrita no texto abaixo? 'Linguagem de fácil compreensão, uma vez que usamos três procedimentos básicos: sequência, seleção e iteração.' Simplicidade Estruturada Modularidade Rapidez Portabilidade 4a Questão 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. ISO/IEC 9899:1990 Padrão C89 Padrão C99 Padrão C95 C tradicional 5a Questão A Linguagem C foi inventada e foi implementada no inicio dos anos 70 por Dennis Ritchie em um DEC PDP-11, usando o Sistema Operacional UNIX. Marque a alternativa CORRETA: A linguagem C é uma linguagem compilada e só pode ser executada no Windows. A linguagem C é uma linguaem interpretada e compilada mas só é executada no UNIX. A linguagem C é uma linguagem compilada e pode ser executada em vários sistemas operacionais. A linguaem C é uma linguagem interpretada e pode ser executada em vários sistemas operacionais. A linguagem C é uma linguagem interpretada e só pode ser executada no WINDOWS. 6a Questão Sabemos que a linguagem C apresenta várias vantagens. Quando dizemos que usamos três procedimentos básicos: sequência, seleção e iteração e que é possível gerar um executável rápido, estamos nos referindo às seguintes características na ordem: Portabilidade e Modularidade Rapidez e Portabilidade Portabilidade e Estruturada Complexidade e Estruturada Estruturada e Rapidez 7a Questão 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 70 década de 60 década de 50 8a Questão 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 II, IV e V estão corretas e as demais, erradas. As afirmativas II, III e IV estão corretas e as demais, erradas. As afirmativas IV e V estão corretas e as demais, erradas. 1a Questão 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. Fonte - extensão .txt - editar - executável Código base - extensão .c - compilar - fonte Código de texto - extensão .txt - editar - fonte Executável - extensão .c - compilar - fonte Código fonte - extensão .c - compilar - executável 2a Questão Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos construindo? const typedef include define struct 3a Questão Qual a vantagem da Linguagem C que está descrita no texto abaixo?'Permite que o desenvolvedor defina suas funções.' Portabilidade Simplicidade Modularidade Rapidez Estruturada 4a Questão A Linguagem C tem algumas características importantes e uma delas é a Portabilidade, Isso significa dizer que: Com pequenas alterações, o programa poderá ser compilado em várias plataformas. Um programa executável gerado na plataforma Windows é executado na Plataforma Linux. Podemos dividir o programa em parte menores. A linguagem possui um propósito específico. Por ser considerada uma linguagem de baixo nível é mais simples migrar para outra plataforma. 5a Questão 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. 7a Questão Acerca das variáveis, podemos destacar que os tipos básicos do C, são: string, int, float e double. char, bool, real e int. Nenhuma das alternativas acima char, int, float e double. int, texto, inteiro e double. 8a Questão 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 Tanto a I quanto a IV possibilitam isso Só a III possibilita isso Só a I possibilita isso Só a II possibilita isso Só a IV possibilita isso 1a Questão IDE, do inglês Integrated Development Environment ou Ambiente de Desenvolvimento Integrado, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo.Geralmente os IDEs facilitam a técnica de RAD (de Rapid Application Development, ou "Desenvolvimento Rápido de Aplicativos"), que visa a maior produtividade dos desenvolvedores. Marque a alternativa ERRADA relativa as ferramentas mais comuns encontradas nos IDEs: Ativador - ativa o código fonte para que o mesmo seja executado em qualquer sistema operacional. Depurador (debugger) - auxilia no processo de encontrar e corrigir defeitos no código-fonte do programa, na tentativa de aprimorar a qualidade de software; Compilador (compiler) - compila o código-fonte do programa, editado em uma linguagem específica e a transforma em linguagem de máquina; Linker - liga (linka) os vários "pedaços" de código-fonte, compilados em linguagem de máquina, em um programa executável que pode ser executado em um computador ou outro dispositivo computacional; Editor - edita o código-fonte do programa escrito na(s) linguagem(ns) suportada(s) pela IDE; 2a Questão Uma das características mais marcantes da linguagem C é a sua portabilidade. Os códigos escrito em C são portáveis, o que significa que é possível executa-los nos mais diferentes tipos de arquiteturas. Tendo um programa C compilado para Windows, para executa-lo em Linux, identifique a opção CORRETA: Só é possível copiar o código executável do Linux para o Windows e executa-lo. Ocorrerá erro, pois os programas C não rodam em Linux. Basta apenas copiar o código executável para o Linux e executa-lo. Precisamos recompilar o código fonte para o Linux. Ocorrerá erro, pois todas as instruções da linguagem C são incompatíveis com o Linux. 5a Questão 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. Reuso Portabilidade Modularidade Polimorfismo Flexibilidade 6a Questão A linguagem C/C++ apresenta vantagens e desvantagens em sua utilização. Considere as seguintes afirmativas: |) Possibilidade em programação de alto e baixo nível; ||) Grande período para o aprendizado. |||) Adequação a grandes projetos; Assinale a alternativa que contem apenas vantagens da linguagem C++. | e || Apenas | Apenas ||| || e ||| | e ||| 7a Questão Em C++, quando temos variáveis do tipo CPF, identidade, matrícula, número do telefone, apesar de serem números não fazemos cálculo com eles. Logo podemos declarar estas variáveis como do tipo: boolean string float char int 8a Questão Qual das características abaixo NÃO pode ser atribuída á linguagem C? Portabilidade Modularidade Rapidez, pois gera executável compacto Estruturada Complexidade porque tem muitas palavras reservadas Aula 2 1a Questão Qual a função da stdio.h que exibe formatado um, ou vários caracteres, constante numérica, conteúdo de variável, retorno de função? msg("string") scanf("string") puts("string") putchar("string") printf("string") 2a Questão Um Engenheiro Mecânico tinha um arquivo onde ele gostaria que os nomes dos materiais fossem todos convertidos para letras minúsculas. Observe as linhas abaixo e assinale a opção que contem a função que realiza essa conversão e a biblioteca a qual pertence. atof() e stdlib.h isalpha() e stdlib.h atoi() e math.h toupper() e stdlib.h tolower() e ctype.h 4a Questão Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h. Assinale o trecho correto que possibilita incluí-las. #include stdio.h #include stdlib.h #include math.h #include #include #include #include #define #define #define #include 5a Questão No comando: printf("Esteé o numero: %d", 8); O que é o número "8"? Um endereço Uma variável Um ponto flutuante Uma constante Um caractere 6a Questão Qual o nome da função matemática que calcula a potenciação de um número? elevado double pow sqrt pot 7a Questão 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? isnotalphadigit() isalpha() isalnum() isspace() isdigit() 6a Questão 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 #include "c:\funcoes\ minhasFuncoes.h" #include minhasFuncoes.h #include "c:\ minhasFuncoes.h\funcoes" 4a Questão 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. string.h - Funções para concatenação de strings com inteiros. math.h - Funções matemáticas stdlib.h - Funções de entrada e saida. stdio.h - Funções para gráficos. time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos. 1a Questão Se você precisasse exibir 123.45 onde o total de algarismos da parte inteira com a parte decimal seria igual a 8, preenchendo com zero as que não fossem necessárias e com três algarismos na parte decimal, qual das opções abaixo você escolheria? printf("%f\n", 123.45); printf("%08.3f\n", 123.45); printf("%09.3f\n", 123.45); printf("%8f3\n", 123.45); printf("%.3f\n", 123.45); 3a Questão Temos linhas e colunas na tela. A um conjunto de 8 colunas, chamamos de zona. Estudamos os caracteres \n e \t na Aula 2 Se você precisasse exibir VOU na terceira zona de uma linha estando o cursor na primeira coluna dessa linha e GABARITAR na segunda zona de uma linha que tem, antes dela,duas linhas em branco, qual das opções abaixo você escolheria? printf("\t\t\tVOU\n\n\tGABARITAR\n"); printf("\t\tVOU\n\n\n\tGABARITAR\n"); printf("\t\tVOU\n\tGABARITAR\n"); printf("\t\t\tVOU\n\tGABARITAR\n"); printf("\t\tVOU\n\n\tGABARITAR\n"); 4a Questão Estudamos alguns caracteres especiais que lhe ajudam a formatar a saída de seus programas. Eles também são conhecidos como caracteres de controle ou sequência de escape por serem sempre precedidos pela \ cujo nome em inglês é backslash e por aqui é conhecida como barra invertida ou contra- barra. Observe a linha abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display. printf ("RESULTADO =\\%07d\\\n", 123); RESULTADO =\0000123\ RESULTADO =\\0000000123\\ RESULTADO = 0000123 RESULTADO =\\0000123\\ RESULTADO = 0000000123 5a Questão Se a variável p está armazenando o valor 6, qual valor será armazenado na variável r após ser axecutada a função: r = pow (r,3) 36 216 126 98 18 6a Questão Quais as funções da biblioteca stdio.h, da linguagem C usadas para exibir mensagens na tela? putchar("string") e printf("string") printf("string") e puts("string") printf("string") e msg("string") msg("string") e puts("string") putchar("string") e puts("string") 7a Questão A biblioteca ctype.h é composta de funções que manipulam um caracter.Uma destas funções é toupper(char). Marque a alternativa que indica o retorno desta função: Retorna uma letra convertida para minúscula Retorna diferente de 0 se o argumento for uma letra ou número Retorna uma letra convertida para maiúscula Retorna diferente de 0 se o argumento for um número Retorna diferente de 0 se o argumento for uma letra 8a Questão Saída formatada necessita de muita atenção. Se você precisasse exibir 12345 utilizando 8 casas e preenchendo com zero as que não fossem necessárias, qual das opções abaixo você escolheria? printf("%80d\n", 12345); printf("%d\n", 12345); printf("%d8\n", 12345); printf("%08d\n", 12345); printf("%8d\n", 12345); 1a Questão Qual a funções da biblioteca stdio.h, da linguagem C usada exclusivamente para exibir apenas um caracter na tela? scanf('char') printf('char') msg('char') putchar('char') puts('char') 2a Questão Qual será a saída do comando abaixo: printf("O valor de Pi é %.6f", pi); O valor de Pi é pi O valor de Pi é 3.14 O valor de Pi é 3,14 O valor de Pi é 3.1415926535897932384626433832795 O valor de Pi é 3.141592 3a Questão Assinale a função que não é disponível na plataforma Linux. return printf() main() system() scanf() 5a Questão Qual biblioteca da linguagem C contém as funções para exibir mensagens na tela? stdstring.h tela.h math.h Cio.h stdio.h 6a Questão Na Linguagem C, encontramos três funções que podem exibir na tela. Leia com atenção as afirmativas abaixo e selecione a opção correta I A função puts() exibe uma cadeia de caracteres, mas não exibe conteúdo de variáveis. II A função printf() exibe cadeia de caracteres, conteúdo de variáveis de qualquer tipo, resultado de expressões. III A função putchar() exibe uma cadeia de caracteres ou o conteúdo de variáveis do tipo char com um caractere ou um conjunto de caracteres. A afirmativa I está errada e as demais corretas A afirmativa II está errada e as demais corretas Todas as afirmativas estão corretas A afirmativa III está errada e as demais corretas A afirmativa II é a única correta 7a Questão Um aluno precisava fazer uma citação e deveria colocar uma frase entre aspas. Escolha a opção que poderá resolver o problema dele. printf(\"LPI\"); Como as aspas são usadas para delimitar a cadeia, não se pode fazer isso. printf("\"LPI\"); A solução seria usar aspas simples duas vezes para substituir printf("''LPI''"); . printf("\"LPI\""); 8a Questão Se executarmos o comando printf(ceil(3.2));.O que será exibido na tela? 4 0.2 3.2 3 4.2 Aula 3 1a Questão Um aluno sabia que, no Código ASCII os algarismo de 0 a 9 têm códigos no intervalo fechado de 48 a 57. Ele viu várias linhas em umprograma e gostaria de saber qual a linha que estava exibindo o algarismo de código 51. int num=51; printf("\nValor de num: %c ",num); printf("\nValor de num: %.f ",(float)num); printf("\nValor de num: %.4d",num); printf("\nValor de num: %d ",num); printf("\nValor de num: %.f ",num); 3a Questão O programa em C na figura abaixo, tem a finalidade de calcular a média e comparar tal média com o valor armazenado em i. Porém o programa não irá funcionar corretamente em sua execução. Marque a alternativa que corresponda em qual linha numerada (de 1 a 13) do código-fonte se encontra o erro de programação. Linha 11 Linha 9 Linha 1 Linha 10 Linha 12 4a Questão Considerando que a variável TemperC receba valor de temperatura em graus Celsius digitado pelo usuário e que a variável TemperF seja o resultado da temperatura de entrada em graus Fahrenheit, qual seria a linha de comando correta, sabendo que oF = oC x 1,8 + 32. TemperF = TemperC * (1.8 + 32) TemperF = TemperC * 1,8 + 32 TemperF = (TemperC * 1,8) + 32 TemperF = TemperC x 1.8 + 32 TemperF = (TemperC * 1.8) + 32 5a Questão Analise o trecho de código a seguir e marque a opção que representa o valor armazenado na variável media. int a,b ; float media; a=5; b=2; media=a/b; 3.0 5 2 3 2.5 6a Questão A linguagem C/C++ utiliza variáveis, que podem ser classificadas como globais ou locais. Dentre as opções, assinale a que expressa corretamente à definição de "variável global" da linguagem C/C++. São declaradas dentro do main(). E suas variáveis são escritas dentro do escopo das funções. Não mantêm seu valor em todo o programa e suas variáveis são escritas dentro do escopo das funções. São declaradas no início de um bloco. Seus escopos estão restritos aos blocos em que essas variáveis foram declaradas. Mantêm seu valor em todo o programa e suas variáveis são escritas fora do escopo das funções. São declaradas no final de um bloco. Seus escopos não estão restritos aos blocos em que essas variáveis foram declaradas. 7a Questão Um aluno declarou uma variável real da seguinte forma: float num =145.1; Qual linha ele deverá incluir em seu programa para que exiba o conteúdo com quatro casas à esquerda do ponto decimal e, as demais, à direita. printf("\nValor de num: %.2f ",num); printf("\nValor de num: %8.3f ",num); printf("\nValor de num: %d ",(int)num); printf("\nValor de num: %08.2f ",num); printf("\nValor de num: %.4d",num); 8a Questão 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. 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. Uma variável local só é visualizada pela função onde foi declarada. As variáveis locais não podem ser acessadas de fora do escopo em que foram criadas. Existem funções que não têm variáveis locais. 1a Questão 7a Questão A declaração de uma variável na linguagem C é realizada com a informação do tipo de dado que a variável irá armazenar em seguida o nome da variável. Que tipo de informação é passada para o sistema operacional quando na declaração de uma variável informamos o tipo de dado que esta irá armazenar. endereço de memória alocada tipo de memória alocada quantidade de memória alocada nenhuma informação pra o sistema operacional qualidade da memória alocada 8a Questão Escolha a opção que inclui somente nomes válidos para variáveis na linguagem C. 2nota, a36, x#y, --j 2_ou_1, fim, *h, j i, j, int, obs If, nota_do_aluno_2, HOJE, _yes nota-2 , a36, x_y 3a Questão 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, int, float, double, boolean char, int, real, double, boolean char, int, float, double, void char, integer, float, real, boolean 4a Questão Um programador escreveu o seguinte trecho de código: int a,b,c,x,y,z; a = 1; b = 2; c = 3; x=a++; y=++b; z=--c; Qual o valor das variáveis a,b,c,x,y,z, respectivamente, ao final da execução do trecho em questão? 2,3,4,2,3,1 2,1,2,1,3,2 2,3,2,1,3,2 1,2,3,2,1,3 1,2,3,2,3,1 5a Questão Observe o trecho de código em Linguagem C #include main () { char Ch; scanf("%c", Ch); printf ("Você pressionou a tecla %c",Ch); } Na execução do código acima, ao pressionar qualquer tecla, o resultado sera Imprime a tecla pressionada. O programa não é executado. Ocorre um erro na alocação do valor digitado para variável na memória. Imprime o texto Você pressionou a tecla Ch. Não retorna nenhum valor. 7a Questão : duas uma1 1uma uma duas2 8a Questão Estava pesquisando na internet, quando li, num fórum, um pedido de ajuda que incluía um programa codificado na linguagem C, apresentado abaixo. A pessoa não tinha um compilador e não estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu teria digitado 345 quando foi solicitado um número inteiro de três algarismos. Assinale a resposta CORRETA que apresenta o que foi exibido na tela. -0012 ( Representa a soma dos algarismos do número -345 formatado) - 0.00289(O inverso do número formatado) 0543(O valor absoluto do número espelhado formatado) 0343 (O valor absoluto do resultado da expressão formatada) 0345 (O valor absoluto do número formatado) 1a Questão Sabe-se que os códigos das letras Maiúsculas se encontram no intervalo fechado de 65 a 90(A-Z) e os das letras Minúsculas se encontram no intervalo fechado de 97 a 122(a-z) Qual das linhas abaixo apresenta a letra e Minúscula? char c='A'; printf("\nValor de c: %c ",c); printf("\nValor de num: %c ",toupper(c)+3); printf("\nValor de num: %c",tolower(c)+4); printf("\nValor de c: %d ",c); printf("\nValor de c: %f ",c); 3a Questão Dado o programa na linguagem de programação C abaixo , informe qual os valores das variáveis x, y, a, b, c e d, respectivamente, ao final de sua execução: #include #include int main(int argc, char *argv[]) { int a,b,c,d,x,y; x=10; y=5; a=x++; b=++x; c=--y; d=y--; printf("%d\n",x); printf("%d\n",y); printf("%d\n",a); printf("%d\n",b); printf("%d\n",c); printf("%d\n",d);return 0; } 12, 3, 10, 12, 4, 4 12, 3, 11, 11, 5, 3 11, 7, 12, 10, 3, 5 11, 6, 10, 11, 5, 6 12, 7, 10, 10, 6, 4 5a Questão Em C++, qual o símbolo usado para representar resto da divisão? % / mod div // 6a Questão Com relação a uma variável global podemos afirmar que: O identificador de uma variável global inicia obrigatoriamente com com o caracter 'G'. A declaração de uma variável global é feita fora de qualquer escopo do programa, inclusive fora da função main(). Só é possivel acessar essa variável dentro do escopo da função que esta foi declarada A declaração de uma variável global é feita sempre dentro da função main() O identificador de uma variável global será feito obrigatoriamente com caracteres maiúsculos 7a Questão Analisando o código a seguir, que usa a função getchar(), podemos dizer: /* programa getchar.c */ #include int main(void) { char cLetra; cLetra = getchar(); printf("Letra digitada %c\n", cLetra); printf("Na tabela ASCII %d\n", cLetra); return 0; } O código está correto, pois a função getchar(), não tem nenhuma ação nesse código. O código está errado, pois a função getchar() deve ser usada apenas para dar uma pausa no código. O código está errado, pois a função getchar() retorna um número e seu retorno não pode ser atribuído a uma variável do tipo char. O código está correto, embora a função getchar() retorne um int e este está sendo atribuído a uma variável tipo char. O código está errado, pois a função getchar() nunca retorna um número. Portanto não pode-se usar a linha printf("Na tabela ASCII %d\n", cLetra); 8a Questão Um aluno viu o trecho de programa abaixo e não sabe qual das linhas daria como resposta 4.50 int num1=3, num2=6, num3=4; Indique a linha. printf("\nResultado: %.2f ",(float)num1 + num2/num3); printf("\nResultado: %d ",num1 + num2/num3); printf("\nResultado: %.2d",num1*1.0 + num2/num3); printf("\nResultado: %.2f ",(float)(num1 + num2/num3)); printf("\nResultado: %.2f ",num1 + (float)num2/num3); AULA 4 1a Questão Observe o trecho do programa abaixo: float a, b, c; printf("\n Digite o primeiro numero: "); scanf ("%f",&a); printf("\n Digite o segundo numero: "); scanf ("%f",&b); if (a >= b) { printf("Valor de c: %f" , c = a + b); } else { printf("Valor de c: %f" , c = a - b); } Se o usuário digitar os números abaixo, marque a opção que contém as saídas corretas. 10 e 5 ; 8 e 8 ; 3 e 9 ; 25 e 15 ; 6 e 32. 15 ; 0 ; -6 ; 35 ; 26 15 ; 16 ; 6 ; 40 ; -26 16 ; 0 ; -6 ; 40 ; 26 16 ; - 16 ; -6 ; 40 ; -26 15 ; 16 ; -6 ; 40 ; -26 2a Questão Um programa deve ler um valor inteiro. Caso o valor lido seja positivo deve imprimir a mensagem "Valor positivo". Assinale a opção que apresenta estrutura condicional CORRETA para a solução desse problema. if ( valor != 0 ) if ( valor == 0 ) if (valor < 0 ) if ( valor <= 0 ) if ( valor > 0 ) 3a Questão Na construção de programas na linguagem C, precisamos utilizar os operadores relacionais para montar nossas expressões relacionais. Supondo que as variáveis foram devidamente declaradas, dentre as opções apresentadas qual não apresenta uma expressão relacional correta na linguagem C. x > ( a + b ) x <= ( a + b ) x == ( a + b ) x = ( a + b ) x >= ( a + b ) 4a Questão Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade. Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if ..... O número de ifs encadeados é igual ao número de respostas possíveis, considerando a resposta errada do usuário e não usaria else. Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade. Posso substituir por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário. O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else. Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch(). 5a Questão Observe o trecho de programa abaixo com muita atenção e escolha a opção que mostra o que será exibido. int a = 5, b = 6 , c = 7; if( a > b ) puts(" \nUM\n" ); else if ( ( c - b) % 2 == 0) puts(" \nDOIS\n" ); else if ( (a + b) > c * 2) puts( " \nTRES\n" ); else if( c <= b + a ) puts( " \nQUATRO\n" ); else puts(" \nTodas Erradas\n" ); TRÊS QUATRO DOIS TODAS ERRADAS UM 6a Questão Observe as expressões abaixo que podem fazer parte do comando de teste(if) na linguagem C. Essas expressões podem estar corretas ou apresentarem erros de sintaxe e/ou lógica. Assinale a opção CORRETA. I a > 18 (a é uma variável do tipo int) II n1 = n2 III resp == 'S' && resp== 's' (resp é uma variável do tipo char de um caracter) IV x % 2 == 0( x é um variável do tipo float) As afirmativas I, III e IV não apresentam erros. A afirmativa III apresenta erro. Só a afirmativa I não apresenta erros. As afirmativas I e IV não apresentam erros. As afirmativas I e III não apresentam erros. 7a Questão Verifique o código a seguir e marque a alternativa que representa o que seria exibido na tela se o usuário atribuísse o valor 1 para a variável aux: int main(){ int aux; scanf("%d",&aux); switch(aux) { case 1 : printf("caso 1"); case 2 : printf("caso 2"); break; case 3 : printf("caso 3"); break; case 4 : printf("caso 4"); } caso 2 caso 1 caso 1caso 2 caso 3 caso 2caso 3 8a Questão Qual é a saída de tela, deste trecho de programa? int x=4, y=8; if (x < 2) printf ("%d \n", x); else printf ("%d \n", y); \n4 9 \n8 8 12 1a Questão Se a minha média for maior ou igual a 6 estarei aprovado, caso contrário, estarei reprovado. Qual dos trechos abaixo escritos em C++ representa esta situação? if (media != 6) { cout << "Aprovado"; } else { cout << "Reprovado"; } if (media <= 6) cout << "Aprovado"; else cout << "Reprovado"; if (media > 6) { cout << "Aprovado"; } else { cout << "Reprovado"; } if (media > 6) cout << "Aprovado"; else cout << "Reprovado"; if (media >= 6) cout << "Aprovado"; else cout << "Reprovado"; 2a Questão Observe o trecho abaixo. Supondo que você digitou 8 na entrada de dados, o que será exibido? int num; puts("\nDigite número inteiro\n");scanf("%d", &num); if( num = 5 ) printf(" \nMuito interessante\n" ); printf(" \nDificil"); Dá erro porque só tem um sinal de igual no teste. Dá erro de sintaxe porque faltam as chaves. .Desce o cursor e só exibe Muito interessante. Desce o cursor e exibe Muito interessante. Desce o cursor e exibe Dificil. Desce o cursor e exibe Dificil. 3a Questão Considere o código abaixo. Considere que o usuário digite 3. O que será impresso para o usuário? int main (void ) { int valor; printf ("Digite um valor de 1 a 7: "); scanf("%d", &valor); switch ( valor ) { case 1 : printf ("Domingo\n"); break; case 2 : printf ("Segunda\n"); break; case 3 : printf ("Terca\n"); break; case 4 : printf ("Quarta\n"); break; case 5 : printf ("Quinta\n"); break; case 6 : printf ("Sexta\n"); break; case 7 : printf ("Sabado\n"); break; default : printf ("Valor invalido!\n"); } return 0; } Quinta Segunda Quarta Terca Valor invalido 4a Questão 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; case 90: printf("Pode") ; break; 90: printf("Pode"); case a=90: printf("Pode") ;break; 5a Questão Marque abaixo a instrução que permite parar uma execução dentro de um switch. case close open break stop 6a Questão 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 aprovado com: 6.0 Aluno reprovado com: 6.5 Aluno reprovado com: 6.50 Aluno aprovado com: 6.5 Aluno aprovado com: 6.00 7a Questão Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para selecionar funcionários não estava dando certo. Ele apresentou as cinco opções abaixo. Assinale a única opção que atende à exigência: o candidato ser do sexo feminino e ter idade no intervalo fechado em 18 e aberto em 30. if( sexo == 'f' or sexo == 'F' and idade >= 18 and idade <= 30 ) if( sexo == 'f' || sexo == 'F' && idade >= 18 && idade <= 30 ) if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 ) if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 30 ) if(( sexo == 'f' || sexo == 'F' ) and idade >= 18 and idade < 30 ) 8a Questão O Operador ternário é uma forma elegante de representar if else if, visto que é abreviada. Observe o trecho abaixo e assinale a opção que descreve o que faz. int a=12, b=35, c=7, resp; resp=(a>b && a > c) ?a: (b>c) ? b/c:c; printf (''valor: %d'' , resp); Exibe valor: 0 Exibe valor: 7 Exibe valor: 5 Exibe valor: 35 Exibe valor: 12 1a Questão 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. IV está correta e a I não está correta. I e III estão corretas. II e IV estão corretas. II está correta e a III não está correta. I está errada. 2a Questão 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. três ifs simples e um composto quatro ifs simples switch() com cinco cases switch() com quatro cases e um default quatro ifs simples e um composto 3a Questão Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. ((pontos>=10) || (pontos <=20)) ((pontos>=10) # (pontos <=20)) ((pontos>=10) % (pontos <=20)) ((pontos>=10) && (pontos <=20)) ((pontos>=10) ! (pontos <=20)) 4a Questão 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( sexo == 'M' || sexo == 'm' && (ano >= 1989 && ano <= 2007 ) ) if(ano >= 1989 && ano<= 2007 && sexo== 'M' || sexo == 'm' ) if(sexo == 'M' || sexo == 'm' && ano >= 1989 && ano <= 2007 ) if(ano >=1989 && ano <=2007 && (sexo == 'M' || sexo == 'm' ) ) if( sexo == 'M' || (sexo == 'm' && ano >=1989 && ano<=2007 ) ) 5a Questão A estrutura do if.. else na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção Correta sobre as afirmativas. I As chaves de abertura e fechamento sempre serã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 nem sempre será necessário. Somente a afirmativa I está correta. As afirmativas II e IV estão corretas. .As afirmativas I e III estão corretas. As afirmativas II e III estão corretas Somente a afirmativa IV está correta. 6a Questão Seja o código a seguir, caso o usuário insira o valor 3 na variável num, qual a mensagem aparecerá na tela? #include #include int main () { int num; printf ("Digite um numero: "); scanf ("%d",&num); if(num = 2) printf("O numero eh 2"); else printf("O numero eh diferente de 2"); return(0); } Nenhuma mensagem é exibida, pois há um erro no código. O numero eh diferentede 2 O numero eh 3 O numero eh diferente de 3 O numero eh 2 7a Questão 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. Compara os valores de algumas variáveis dependendo do resultado permite que o programa possa fazer um caminho diferente repetidamente. Compara os valores de algumas variáveis e dependendo do resultado permite que o programa siga por caminhos diferentes. Testa uma expressão e dependendo do resultado permite que o programa siga por caminhos diferentes. 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. 8a Questão Marque a opção que apresenta apenas operadores relacionais: > < == && >= !+ != == =+ > < == >+ >= > < ++ == >= > < == <= >= 3a Questão Em relação aos operadores relacionais, o resultado de sua expressão é sempre igual a: Decisão de parada ao comando while e do... while. Nenhuma das alternativas anteriores. Uma decisão de fluxo para o comando if. Resposta && ou ||. 0 (falso) ou 1 (verdadeiro) 4a Questão Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. =, > e || +, - e * <, > e >= &&, || e ~ &&, >= e || 6a Questão Observe o trecho abaixo: char sexo; int idade; puts("\nEntre com sexo(F/ M) e idade: "); scanf("%c %d", &sexo, &idade); if(toupper(sexo) == 'F' && (idade < 18 || idade > 80)) puts(" \nValor do plano de Saúde com desconto\n"); else puts(" \nValor do plano de Saúde sem desconto\n"); Se o usuário executar três vezes os valores: f 17 / M 17/ F 81, qual opção mostraria as respostas corretas? Valor do plano de Saúde com desconto / Valor do plano de Saúde sem desconto / Valor do plano de Saúde com desconto Valor do plano de Saúde sem desconto / Valor do plano de Saúde sem desconto / Valor do plano de Saúde sem desconto Valor do plano de Saúde com desconto / Valor do plano de Saúde com desconto / Valor do plano de Saúde com desconto Valor do plano de Saúde sem desconto / Valor do plano de Saúde sem desconto / Valor do plano de Saúde com desconto Valor do plano de Saúde sem desconto / Valor do plano de Saúde com desconto / Valor do plano de Saúde sem desconto 7a Questão Marque a opcão que apresenta apenas operadores lógicos: &= || != || !+ !! && || ! > < == > && != 1a Questão Considerando com entrada os seguinte números 5 e 8. Marque a alternativa que contém a resposta do programa na tela para os números digitados. int main() { int a,b; scanf("%d",&a); scanf("%d",&b); while (a < b) { printf("%d",a); a = a + 1; } system("pause"); return 0; } 678 67 5678 56 567 2a Questão João foi realizar uma prova que tinha uma questão com o trecho abaixo. Assinale a opção que esclarece, ou não, o que será exibido int num, c, s = 0; puts("Numero: "); scanf("%d", &num); for(c=1; c < num; c++) if(num % c == 0) s+=c; printf("\nO que exibe? %d\n", s); Exibe 0 porque não está testando se tem divisor. Exibe todos os divisores. Exibe A soma de todos os divisores exceto ele mesmo Exibe A soma de todos os divisores. Dá erro na compilação porque a estrutura do for e a estrutura do if estão sem as { } 3a Questão int main() { int contador = 1; while (contador < 10) { printf("%d ", contador); contador++; } return 0; } 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 4a Questão Sabendo que no programa abaixo foi digitado na sequencia os números 4 e 10. Marque a alternativa que contém a saída gerada pelo programa para a entrada fornecida. #include using namespace std; int main() { int a, b; cin >> a >> b; a = a + 1; while ( a < b ) { cout << " " << a; a = a + 1; } } 4 5 6 7 8 9 10 11 5 6 7 8 9 10 4 5 6 7 8 9 5 6 7 8 9 5 6 7 8 9 10 11 5a Questão Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa, caso o usuário introduza um número positivo maior que zero: #include < stdio.h> //Retire o espaço depois de < quando for compilar int main() { int x, i=1; printf("Entre com numero: "); scanf("%d", &x); while(i<=x) { if(i%2==0) printf("%d\n", i); i++; } return 0; } O código mostra os todos os números ímpares menores ou igual a x. O código mostra os todos os números pares menores ou igual a x. O código mostra os números divisíveis por 2. O código mostra os todos os divisores ímpares de um número. O código mostra os números divisíveis por 3. 6a Questão Considere o trecho de código abaixo. O que será impresso quando o programa for executado? int main() { int contador = 1; //declarando e inicializando a variável de controle while (contador < 10) // Testando a condição { printf("%d ", contador); //Executando um comando dentro do laço contador++; //atualizando a variável de controle } return 0; } 0 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 10 7a Questão João foi realizar uma prova que tinha uma questão com o trecho abaixo e pedia para assinalar a opção que explicava a finalidade da estrutura while nele. int num; puts("\nNumero de ... algarismos:"); scanf("%d", &num); while (num < 100 || num > 999) { puts("\nNumero FORA do Intervalo"); puts("\nNumero de ... algarismos:"); scanf("%d", &num); } Trecho que deixa entrar com vários números enquanto o usuário digitar números no intervalo de 100 até 999. Trecho de Proteção para evitar que o usuário digite número menor do que 100 e maior do que 999. Trecho de Proteção para evitar que o usuário digite número menor do que 100 ou maior do que 999. Trecho de Proteção para evitar que o usuário digite número no intervalo de 100 a 999. Nenhuma finalidade tem esse trecho 8a Questão Quando tomamos conhecimento das três estruturas de repetição, ficamos sem saber, em alguns trechos, o que elas fazem. Observe o trecho abaixo e assinale a opção que esclarece o que está sendo feito. float num; for(;;) { puts("\nNumero: "); scanf("%f", &num); if(num <= 0 ) break; printf("\n%.2f", num *3); } Simula a estrutura do ... while, enquanto num for > 0. Simula a estruturawhile, enquanto num for > 0. Simula a estrutura do ... while, enquanto num for <= 0 Simula a estrutura while, enquanto num for <= 0 Nada porque tem erro na linha do for. 1a Questão Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? for (i = num; i > 0; i++) for ( i = 0; i == num; i++) while (num == 0) enquanto (num > 0) while (num != 0) 2a Questão 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); if (cpf != 0) { // [bloco de comandos] } do{ // [bloco de comandos] } while (cfp !=0); for (cpf=0; cpf !=0; cpf++) { // [bloco de comandos] } do while (cfp !=0) { // [bloco de comandos] } 3a Questão Sabendo que no programa abaixo foi digitado na sequencia os seguinte números: 4 e 10. Marque a alternativa que contém a resposta do programa aos números digitados. int main(){ int a,b; scanf("%d",&a); scanf("%d",&b); a = a + 1; while (a < b){ printf("%d",a); a = a + 1;} system("pause"); return 0;} 5 6 7 8 9 4 5 6 7 8 9 10 3 4 5 6 7 8 9 5 6 7 8 9 10 11 3 4 5 6 7 8 9 10 11 4a Questão Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo e escolha a opção que contém a série exibida pelo código. 1 1 2 3 5 8 13 21 1 3 4 7 9 11 13 0 1 1 2 3 4 5 6 0 1 1 3 2 4 5 7 0 1 1 2 3 5 8 13 21 5a Questão João foi realizar uma prova que tinha uma questão com o trecho abaixo e pedia para assinalar a opção que mostrava quantas vezes seria exibida a mensagem Tenho que estudar. Se fosse você, qual escolheria? int y; for(y=5; y>=25; y+=5); puts("\nTenho que estudar"); 19 vezes 6 vezes Nenhuma vez 1 vez 5 vezes 6a Questão 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 II, III e V estão corretas Somente I e V estão corretas Somente I, II, III e V estão corretas Somente I, III e V estão corretas Somente I, III e IV estão corretas 7a Questão Considere o trecho de código abaixo. O que será impresso quando o programa for executado? int main() { int contador = 1; //declarando e inicializando a variável de controle while (contador <= 10) // Testando a condição { printf("%d ", contador); //Executando um comando dentro do laço } return 0; } 0 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 Nunca vai parar. 1 2 3 4 5 6 7 8 9 10 11 12 13 14... Nunca vai parar. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... 1 2 3 4 5 6 7 8 9 10 8a Questão Um aluno estava fazendo experiências com a estrutura do for e precisava repetir a frase, 10 vezes: Estudar para Prova no final de semana! Sendo assim, construiu vários trechos. Observe as tentativas que ele fez abaixo e assinale a opção correta. I for(x = 2; x <= 20; x++ ) II for(x = 3; x <= 30; x = x + 3 ) III for(x = 0; x <= 10; x = x + 1 ) IV for(x = 2; x <= 11; x++ ) As afirmativas II , III e IV permitem a repetição 10 vezes As afirmativas II e IV permitem a repetição 10 vezes Todas, exceto as afirmativas I e a IV, permitem a repetição 10 vezes Somente a afirmativa II permite a repetição 10 vezes As afirmativas II e III permitem a repetição 10 vezes 1a Questão Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo, supondo que você digitou 2 e 4 quando lhe foram solicitados dois números e escolha a opção que contém a série exibida pelo código. 2 4 6 8 19 12 14 16 2 4 6 10 16 26 42 2 4 6 10 16 26 42 68 2 4 4 8 12 20 32 52 2 4 4 8 12 20 32 2a Questão Analise os códigos descritos nas alternativas de 'A' até 'E' e marque qual o código que fornece exatamente a saída descrita a seguir: Ano valor na conta 0 1000.00 1 1050.00 2 1102.50 3 1157.63 4 1215.51 5 1276.28 b- printf("Ano\t valor na conta\n"); for(i=1;i>5;i++) { vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf); } e- printf("Ano\t valor na conta\n"); for(i=0;i<=5;i++) { vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf); } c- printf("Ano\t valor na conta\n"); for(i=0;i==5;i++) { vf=vp*pow(1+0.05,i); printf("%d \t %5.2f \n",i,vf); } a- printf("Ano\t valor na conta\n"); for(i==1;i<=5;i++) { vf=vp*pow(1+0.05,i); printf("%d \t %5.2f \n",i,vf); } d- printf("Ano\t valor na conta\n"); for(i=0;i<5;i++) { vf=vp*pow(1+0.05,i); printf("%d %5.2f \n",i,vf); } Explicação: os valores de i começando em zero e imprimindo seu valor até 5, só é atenda pela opção "e". 3a Questão Na maioria das linguagens de programação, as estruturas de controle de fluxo são fundamentais para a criação de programas elegantes e de fácil entendimento. Assinale a alternativa correta com relação aos comandos de controle de fluxo da linguagem C, sabendo que o comando for apresenta a seguinte forma geral: for (inicialização;condição;incremento) declaração; Não é permitido omitir a condição no comando for, pois não existiria maneira de parar o laço infinito. Pode-se omitir a declaração, e, mesmo assim, o comando for ainda será válido. O comando continue usado dentro de um laço executa a próxima linha de código independentemente do fato de ela estar dentro ou fora do laço. Sem os comandos de controle de fluxo, só haveria uma maneira de o programa ser executado: de baixo para cima e comando por comando. O comando for garante que o laço seja executado pelo menos uma vez. 4a Questão Um programa que contém a linha de comando abaixo: int soma, i = 0; while ( i < 50000) { if ( i % 7 == 0) { soma = soma + i; } i++ ; Qual será a saída: Soma dos números inteiros menores que 50000 divido por 7. Soma dos números inteiros menores que 50000 com resto 7. Soma dos números inteiros menores que 50000 ímpares. Soma dos números inteiros menores que 50000. Soma dos números inteiros menores que 50000 divisíveis por 7. 5a Questão Qual será a saída do programa abaixo? int main() { int i=0; do { i++; cout << i << endl; } while (i < 2); } 0 1 2 1 22 1 2 0 1 6a Questão Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa: #include < stdio.h> //Retire o espaço depois de < quando for compilar int main() { int x, i; printf("Entre com numero: "); scanf("%d", &x); for(i=1; i<1 + x/2; i++) { if(x%i==0 && i%2!=0) printf("Divisores: %d\n", i); } if(x%2!=0)printf( "Divisores: %d\n", x); return 0; } O código mostra os todos os divisores de um número. O código mostra os todos os divisores ímpares de um número. O código mostra os todos os divisores pares de um número. O código mostra os números divisíveis por 2. O código mostra os números divisíveis por 3. 7a Questão Considere o trecho de código em C a seguir e selecione a opção que indica corretamente o que será exibido ao término da execução. int x=1; int y=5; for (int i = y; i >0 ;i--) x = x * i; printf("x=%d",x); x = x x= 5 120 x = 120 5 8a Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra PROGRAMAÇÃO será impressa, após a execução do trecho de código abaixo. i = 1; while ( i < 20 ) { if ( i % 2 == 0 ) { cout << "\n PROGRAMAÇÃO"; } i++; } Nenhuma vez 9 vezes 10 vezes 19 vezes 20 vezes 2a Questão Analise o trecho de código abaixo e determine qual a saída gerada: int i, A = 0, B = 1 ; for (i = 1; i < 5; i++) { A = B; B = i + B * A; } cout << " A = " << A << " B = " << B; A = 8 B = 67 A = 6 B = 39 A = 39 B = 1525 A = 67 b = 4757 A = 0 B = 1 3a Questão Considere o trecho de código abaixo. O que será impresso quando o programa for executado? int main() { int contador = 10; while (contador > 1) { printf("%d ", contador); contador--; } return 0; } 1 2 3 4 5 6 7 8 9 Nunca vai parar. 1 1 1 1 1 1 1 1 1 1 1 1 ... 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 Nunca vai parar. 10 10 10 10 10 10 10 10... Explicação: A estrutura while repete o bloco enquanto o teste for verdadeiro. Se a variável contador começa com 10 e exibe o valor do contador enquanto ele for maior do que, significa que quando ele for decrementado e chegar a 1, interromperá a repetição; Resposta correta: 10 9 8 7 6 5 4 3 2 4a Questão Qual será a saída do programa abaixo? int main () { int soma = 0; int i = 0; while (i <= 700) { if (i % 7 == 0) { soma = soma +i; } i ++; } cout << soma << endl; } Soma dos números até 700 com resto 7. Soma dos números de 7 a 700. Soma dos números inteiros até 700. Soma dos números divisíveis por 7 até 700. Soma dos números ímpares até 700. 5a Questão Dado o programa abaixo, informe o que vai ser impresso após execução. 21 34 55 89 13 6a Questão Complete o trecho de código abaixo com a expressão condicional adequada para o comando de repetição exibir a mensagem "Boa Noite" 100 vezes. i = 0; while ( ) { cout << "Boa Noite" << endl; i = i + 1; } i != 100 i == 100 i >= 100 i <= 100 i < 100 7a Questão Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa: #include < stdio.h>//Retire o espaço depois de < quando for compilar int main() { int x, i; printf("Entre com numero: "); scanf("%d", &x); for(i=1; i<1 + x/2; i++) { if(x%i==0) printf("Divisores: %d\n", i); } printf( "Divisores: %d\n", x); return 0; } O código mostra os todos os divisores de um número. O código mostra os números divisíveis por 2. O código mostra os todos divisores pares de um número. O código mostra os números divisíveis por 3. O código mostra os todos divisores ímpares de um número. Explicação: O aluno deve compreender que estão sendo testados como divisor todos os números menores que a metade do número introduzido pelo usuário, e caso o número testado tenha divisão exata esse será mostrado. Assim como o próprio número, já que todo número é divisível por ele mesmo. 8a Questão João foi realizar uma prova que tinha uma questão com o trecho abaixo e pedia para assinalar a opção que mostrava quantas vezes seria exibida a mensagem BOM. Se fosse você, qual escolheria? int y; for(y=2; y <= 16; y+= 2) puts( "BOM" ); 9 vezes 8 vezes 10 vezes 16 vezes 15 vezes Explicação: O aluno precisa ter entendido que a estrutura do for usa uma PA ou PG 1a Questão Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa: #include < stdio.h> //Retire o espaço depois de < quando for compilar int main() { int x, i; printf("Entre com numero: "); scanf("%d", &x); for(i=1; i<1 + x/2; i++) { if(x%i==0 && i%2==0) printf("Divisores: %d\n", i); } if(x%2==0)printf( "Divisores: %d\n", x); return 0; } O código mostra os todos os divisores ímpares de um número. O código mostra os números divisíveis por 3. O código mostra os todos os divisores de um número. O código mostra os números divisíveis por 2. O código mostra os todos os divisores pares de um número. Explicação: O aluno deve compreender que estão sendo testados como divisor todos os números menores que a metade do número introduzido pelo usuário, e caso o número testado tenha divisão exata e seja par será mostrado. Assim como o próprio número quando este for par, já que todo número é divisível por ele mesmo. 4a Questão Qual será a saída do programa abaixo? int main () { int soma = 0; int i = 0; while (i <= 700) { if (i % 7 == 0) { soma = soma +i; } i ++; } cout << soma << endl; } Soma dos números até 700 com resto 7. Soma dos números de 7 a 700. Soma dos números inteiros até 700. Soma dos números divisíveis por 7 até 700. Soma dos números ímpares até 700. 5a Questão Dado o programa abaixo, informe o que vai ser impresso após execução. 21 34 55 89 13 6a Questão Complete o trecho de código abaixo com a expressão condicional adequada para o comando de repetição exibir a mensagem "Boa Noite" 100 vezes. i = 0; while ( ) { cout << "Boa Noite" << endl; i = i + 1; } i != 100 i == 100 i >= 100 i <= 100 i < 100 7a Questão Analise o código a seguir e marque a alternativa que exprime o que esse trecho de código executa: #include < stdio.h>//Retire o espaço depois de < quando for compilar int main() { int x, i; printf("Entre com numero: "); scanf("%d", &x); for(i=1; i<1 + x/2; i++) { if(x%i==0) printf("Divisores: %d\n", i); } printf( "Divisores: %d\n", x); return0; } O código mostra os todos os divisores de um número. O código mostra os números divisíveis por 2. O código mostra os todos divisores pares de um número. O código mostra os números divisíveis por 3. O código mostra os todos divisores ímpares de um número. Explicação: O aluno deve compreender que estão sendo testados como divisor todos os números menores que a metade do número introduzido pelo usuário, e caso o número testado tenha divisão exata esse será mostrado. Assim como o próprio número, já que todo número é divisível por ele mesmo. 8a Questão João foi realizar uma prova que tinha uma questão com o trecho abaixo e pedia para assinalar a opção que mostrava quantas vezes seria exibida a mensagem BOM. Se fosse você, qual escolheria? int y; for(y=2; y <= 16; y+= 2) puts( "BOM" ); 9 vezes 8 vezes 10 vezes 16 vezes 15 vezes Explicação: O aluno precisa ter entendido que a estrutura do for usa uma PA ou PG 1a Questão Qual a estrutura de repetição usada para quantidade indeterminada de repetições? while if-else for struct switch Explicação: A linguagem C tem três estruturas de repetição: for, while e do...while. Tem em vista o exposto acima, eliminamos: if-else, switch e struct. Sendo assim, sobram for e while. Estudamos que todas podem simular todas, mas não significa que seja a melhor solução. A estrutura do for em sua sintaxe básica necessita, quando for executada, que o número de repetições seja conhecido enquanto que as duas outras deverão ser escolhidas quando o número de repetições não for conhecido. A resposta correta é while. Gabarito Coment. 2a Questão Considerando com entrada os seguinte números 5 e 10. Marque a alternativa que contém a resposta do programa na tela para os números digitados. int main() { int a,b; scanf("%d",&a); scanf("%d",&b); while (a < b) { printf("%d",a); a = a + 2; } system("pause"); return 0; } Nenhuma das outras alternativas 56789 57911 579 57 Explicação: O aluno deve compreender que estão sendo testados os números menores que o número introduzido pelo usuário, e caso o número testado tenha seja ímpar será mostrado. Assim como o próprio número quando este for ímpar. 4a Questão A programação oferece diversas estruturas de forma a facilitar a programação quanto a sua organização. Alguns dessas estruturas evitam que determinada parte do código tenha de ser repetido diversas vezes. Marque a alternativa que contenha todas essas estruturas. IF e SWITCH CASE IF/ELSE e FOR FOR, WHILE e DO WHILE WHILE, DO WHILE e SWITCH CASE SWITCH CASE e IF/ELSE 5a Questão 1. Sabendo-se que um usuário entrou com o primeiro número (num1) igual a 10 e o segundo (num2) número igual a 20, analise o trecho do código apresentado na figura 1 e marque a resposta que confere exatamente com a saída esperada pelo código. Figura 1 6a Questão Todo laço de repetição dever possuir um critério de parada para que o mesmo não fique executando indefinidamente. Analise o código a seguir e marque a opção que representa um critério de parada a ser introduzido no código, no bloco while, a fim que o código em execução mostre todos os números pares diferente de zero e inferiores ao valor introduzido pelo usuário a variável x. #include < stdio.h> //Retire o espaço depois de < quando for compilar int main() { int x, i=1; printf("Entre com numero: "); scanf("%d", &x); while(i<=x) { if(i%2==0) printf("%d\n", i); } return 0; } x++; i--; i+x; x--; i++; 7a Questão O programa abaixo terá qual saída? int main() { int j = 2; for ( int i = 1 ; i < = 3 ; i++ ) { cout << i * j << endl; } } 1 * 2 2 * 2 2 * 3 12 1 * 2 = 2 2 * 2 = 4 3 * 2 = 6 2 4 6 2, 4, 6 8a Questão Os loops são utilizados para executar um conjunto de instruções várias vezes baseando-se sempre em uma condição que decidirá se continua repetindo ou não. Qual estrutura de repetição abaixo, garante que o bloco de instruções seja executado no mínimo uma vez? while for repeat...util do...while switch 1a Questão Qual o elemento do vetor referenciado por vet[vet[5]]? 3 4 2 9 1 2a Questão A linguagem C permite a inicialização de vetores junto com sua declaração. Dada as alternativas abaixo, selecione a que está incorreta: char valores[] = {'A', 'B', 'C', 'D'}; int valores[] = {10, 15, 20, 25, 30}; char valores[5] = {'A', 'B', 'C', 'D'}; char valores = "ABCD"; int valores[5] = {10, 15, 20, 25, 30}; 3a Questão 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. float notas[150]; float %.1f notas[150]; real notas[150]; int notas[150]; integer notas[150]; 4a Questão Um aluno estava estudando matrizes e se deparou com um pequeno problema: toda vez que ele pedia para exibir o conteúdo de uma variável de uma matriz unidimensional, o resultado que aparecia era outro. Sabe-se que ele dimensionou uma matriz de nome numerosI para armazenar 100 números inteiros e que ele construiu um trecho que exibia, numerado de 1 até 100, os números digitados. Observe o trecho do programa abaixo e assinale a opção onde estão presentes a declaração da matriz e a chamada correta do número escolhido pelo usuário. 5a Questão Qual o elemento do vetor referenciado por vet[3]? 2 0 7 1 4 Na programação estruturada quando implementamos de modo sequencial ocorre um problema com relação ao armazenamento destas variáveis que é a perca de dados armazenados. Para solucionar este problema uma estrutura de dados adequada para isto é: Utilizar funções Utilizar vetores Utilizar funções matemáticas Utilizar estrutura de decisão Utilizar o comando enquanto 7a Questão Um aluno estava estudando a Aula 6 quando se deparou com o trecho abaixo onde dizia que declarava e inicializava o vetor de nome matriculas e do tipo int. int x, matriculas[4]={123,138, 13, 97 }; Ele gostaria de construir um trecho para exibir os dados do vetor na mesma linha. Qual dos trechos abaixo ele usou? for(x = 1; x <= 4; x++ ) printf("%d\n",matriculas[x]); for(x=1; x < 4; x++ ) printf("%d\t",matriculas[x]); for(x = 0; x <= 4; x++ ) printf("%d\n",matriculas[x]); for(x = 0; x < 4; x++ ) printf("%d\t",matriculas[x]); for(x = 0; x < 4; x++ ) printf("%d\n",matriculas[x]); 8a Questão Analise o código a seguir e marque a alternativaque melhor descreve o que está sendo executado. #include < stdio.h> //Retire o espaço depois de < quando for compilar #define T 10 int main() { int x[T], i; for(i=0; i< T; i++)x[i]=i+1; for(i=1; i< T; i+=2) { printf("x[%d]: %d\n", i,x[i]); } return 0; } É declarado um vetor de inteiros com 9 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições ímpares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 9, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 10 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos. É declarado um vetor de inteiros com 9 posições, e preenchido com os números de 1 a 10, a partir da primeira posição.E são exibidos apenas as posições pares do vetor com seus respectivos conteúdos. 1a Questão 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("%&s", &nome); scanf("%s&c", nome[0]); scanf("%s", &nome); scanf("%c", nome[0]); 2a Questão 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? toupr toupper upper convertUpper convertUp 3a Questão Qual das instruções abaixo compara duas strings? strcmp strcamp strcpy strcompa strcat 4a Questão Um programador deve declarar um vetor para armazenar as idades dos alunos de uma turma com 50 alunos. Marque a alternativa correta para a declaração deste vetor, sabendo que o programamdor resolveu identificá-lo como vetorIdade. int vetorIdade[49]; int vetorIdade[50]; float vetorIdade[50]; double vetorIdade[25]; float vetorIdade[49]; 5a Questão Em um programa o programador inseriu a seguinte linha de código: float notas [10]. Esta linha quer dizer: notas é uma variável de potência 10. notas é uma string com 10 caracteres. notas é um vetor com 10 números reais. notas é uma constante de valor 10. notas é uma função para somar 10 números. 6a Questão Um programador precisa declarar vetores para armazenar códigos dos 101 usuários e respectivos valores a pagar. Lembrando que nenhum centavo será descartado, qual das opções abaixo, atenderia ao que ele precisa. int codigos[100], valores[100]; int codigos[101]; float valores[101]; int codigos[100]; float valores[100]; char codigos[100]; float valores[100]; int codigos[101], valores[101]; 7a Questão Qual das alternativas abaixo possui o comando que devolve o numero de caracteres em um uma string? strcout strcap strcat strlen strcamp 8a Questão 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[1000], qtdade[1000], valorC[1000], valorV[1000]; int codigos[999], qtdade[999]; float valorC[999], valorV[999]; double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; double codigos[999], qtdade[999], valorC[999], valorV[999]; int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 1a Questão 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? int numeros[2] = [ 0, 1, 2]; int numeros(2) = { 0, 1, 2}; int numeros[3] = { 0, 1, 2}; integer numeros[3] = [ 0, 1, 2]; int numeros[3] = ( 0, 1, 2); 2a Questão Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta: I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0). II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'. III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um. Somente as sentenças I e III estão corretas Somente as sentenças I e II estão corretas Todas as sentenças estão corretas Somente as sentenças II e III estão corretas Somente a sentença II está correta 3a Questão Observe o trecho abaixo e marque o valor que será mostrado pela variável c após a execução do programa. 8 10 22 14 20 4a Questão Um aluno estava estudando a Aula 6 quando se deparou com a linha abaixo onde dizia que declarava e inicializava o vetor de nome matriculas e do tipo int. int matriculas[]={123,138, 13, 97, 64, 111 }; Achou estranho não ter um número dentro dos [ ] após o nome. Qual o tamanho do vetor e o que ele deveria incluir na linha abaixo para exibir a terceira matrícula? printf( " \n%d ", ?); Tamanho é 5 e para exibir a terceira matricula usaria matriculas[2] Tamanho é 6 e para exibir a terceira matricula usaria matriculas[3] Tamanho é 5 e para exibir a terceira matricula usaria matriculas[3] Não tem como informar o tamanho do vetor, mas para exibir a terceira matricula usaria matriculas[3] Tamanho é 6 e para exibir a terceira matricula usaria matriculas[2] 5a Questão Analise o código a seguir e marque a alternativa que se efetuada mostraria na tela apenas os números ímpares armazenados no vetor. #include < stdio.h> //Retire o espaço depois de < quando for compilar #define T 10 int main() { int x[T], i; for(i=0; i< T; i++)x[i]=i+1; for(i=1; i< T; i+=2) { printf("x[%d]: %d\n", i,x[i]); } return 0; } for(i=1; i< T/2; i+=2) for(i=0; i< T; i+=2) for(i=0; i< T/2; i+=2)for(i=0; i< T; i+=1) for(i=1; i< T; i+=1) 6a Questão Um programador declarou os vetores abaixo e gostaria de fazer o trecho de entrada para armazenar códigos dos 43 funcionários e respectivos salários. int x,codigos[43]; float salarios[43]; A dúvida dele está na linha do for. Você poderia indicar qual ele deveria escolher? for(x = 0; x <= 43 ; x++ ) for(x = 0; x < 43 ; x++ ) for(x = 0; x < 44 ; x++ ) for(x = 1; x <= 43 ; x++ ) for(x = 1; x < 43 ; x++ ) 7a Questão Os chamados vetores e matrizes podem ser considerados como: Estruturas de dados homogêneas Comandos de seleção composta Comandos de repetição Comandos de seleção Estruturas de dados heterogêneas 8a Questão O que será impresso pelo trecho de código abaixo? int vet[5]; int x, s = 0; for (x = 0; x < 5; x++) { vet[x] = x * 2; } s = vet[2] + vet[4]; printf("%d", s); 10 20 8 12 4 Analise o programa a seguir e escolha a opção que ilustra o que será exibido para o usuário caso ele digite o valor 4. quinta quarta sexta terça dia não existe 2a Questão Um programador precisa armazenar em uma tabela a quantidade de alunos, por turma, que tiraram notas abaixo da méida, exatamente na média e acimma da média. Sabendo que a méida é 6.0 e que esta tabela, chamada de mapa, servirá para armazenar as notas das 30 turmas existentes, e que para o programa que está sendo desenvolvido o melhor será organizar as turmas por linhas na tabela. Marque a alternativa que melhor representa a declaração desta tabela. int turmas[30]; int mapa[3][30]; int mapa[30][3]; float mapa[30][30]; float turmas[30]notas[3]; 3a Questão 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. matrizExemplo float[20][10]; int matrizExemplo[10][20]; float matrizExemplo[20][10]; int matrizExemplo[10,20]; matrizExemplo int[10][20]; 4a Questão Observe as afirmativas abaixo e escolha a opção correta, sabendo-se que foi usada a letra V se a afirmativa for verdadeira e F, se for falsa. Nas respostas, aparecem três letras que correspondem, respectivamente, às afirmativas I, II e III. I Matrizes bidimensionais não são Estruturas homogêneas. II Se tivermos dois vetores reais de dimensões deferentes, podemos agrupá-los em uma matriz bidimensional com a dimensão do maior vetor. III Quando precisarmos armazenar 30 nomes, deveremos dimensionar uma matriz bidimensional de char. F V V F F V F F F V V F V V V 5a Questão 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][20]; char nomes [20][30]; char nomes (30); char nomes [30]; 6a Questão O departamento do pessoal de uma empresa precisa de um programa para armazenar nomes, cargos, número de dependentes e salários de 32 funcionários. Um desenvolvedor pensou em algumas linhas que precisariam ser incluídas no código para tornar possível a construção dos trechos de entrada, saída e outros necessários. Observe as declarações abaixo e escolha a que possibilita isso. float sal[32]; int dep[32]; char dados[32][20]; float dadosN[32][2]; char dadosC[32][30]; float sal[32]; int dep[32]; char nomes[32][30], cargos[32][20]; float sal[32]; int dep[32]; char nomes[32], cargos[32]; float sal[31]; int dep[31]; char nomes[31][30], cargos[31][20]; 7a Questão Um lojista gostaria de desenvolver um programa para armazenar os códigos(inteiros), valores de compra e venda (reais) e a quantidade (inteiros) de todos os mil produtos. Pensou em declarar algumas matrizes bidimensionais. 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 CodQtdeVal[999][4]; double CodQtdeVAL[1000][4]; int CodQtde[1000][2]; float valores[1000][2]; double CodQtde[1000][2]; int valores[1000][2]; int CodQtde[999][2]; float valorer[999][2]; 8a Questão Analisando o códio a seguir, pode-se afirmar que: #include #define T 5 int main() { int x[T][T], i,j; for(i=0; i< T; i++) for(j=0; j< T; j++) x[i][j]=j+1; for(i=0; i< T; i++) for(j=0; j< T; j++) printf("x[%d][%d]: %d\t",i, j,x[i][j]); return 0; } Os valores armazenados nos elementos de uma mesma linha na matriz são zerados. Os valores armazenados nos elementos de uma mesma linha na matriz são iguais. O programa não executa pois há falta de chaves. Os valores armazenados nos elementos de uma mesma coluna na matriz são zerados. Os valores armazenados nos elementos de uma mesma coluna na matriz são iguais. 1a Questão 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. float nomes[20][31], salarios[20][14]; char nomes[20][31]; float salarios[20][20]; char nomes[19][31]; float salarios[19][13]; char nomes[20][31]; float salarios[20][14]; char nomes[20]; float salarios[19][13]; 2a Questão Uma matriz é definida como float mat[5][10]; Quantos elementos esta matriz armazena? 5 elementos 45 elementos 10 elementos 36 elementos 50 elementos 3a Questão Um treinador de uma equipe de futebol com 22 atletas gostaria de declarar matrizes para guardar nomes, total de jogadas boas e total de jogadas perdidas. Qual das opções abaixo possibilitaria isso se ele usasse, somente, matrizes bidimensionais? int jogadas[21][1]; char nomes[21][30]; int jogadasB[21], jogadasR[21]; char nomes[21][30] int jogadasB[22], jogadasR[22]; char nomes[22][30]; int jogadas[22][2]; char nomes[22][30]; int jogadas[22][2]; char nomes[22]; 4a Questão Para declararmos uma matriz inteira n de 5 linhas e 4 colunas, fazemos: int n[5][4]; float n[5][4]; char n[5][4]; int n[4][3]; char n[4][3]; 5a Questão 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 programafuncione corretamente. do-for-for-while do-if-else-while while-for-do-for do-if-for-while do-while-for-for 6a Questão Analisando o códio a seguir, pode-se afirmar que: #include < stdio.h > #define T 5 int main() { int x[T][T], i,j; for(i=0; i< T; i++) for(j=0; j< T; j++) x[i][j]=j+1; for(i=0; i< T; i++) for(j=0; j< T; j++) if(i==j)printf("x[%d][%d]: %d\t",i, j,x[i][j]); return 0; } O programa multiplica dois vetores de dimensão igua a 5. O programa cria uma matriz de duas dimensões e exibe todos seus elementos. O programa não executa; O programa cria uma matriz de duas dimensões vazia. O programa cria uma matriz de duas dimensões e exibe os elementos da diagonal principal. 7a Questão Observe o trecho de programa abaixo e selecione a resposta correta. char nome[5][30]; puts("\nNome e ultimo sobrenome: "); scanf( "%s", nome[0]); ... Armazena só o primeiro nome Dá mensagem de erro porque scanf não pode ser usado com vetor de char. Armazena nome e sobrenome. Dá mensagem de erro porque falta & antes de nome Ignora a linha do scanf, mas não tem nenhuma mensagem. 8a Questão Analise o programa a seguir e escolha a opção que ilustra o que será exibido para o usuário caso ele digite o valor 7 . sexta sábado quarta dia não existe quinta 1a Questão 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). Tipo, Nome e Parâmetros. Tipo, Nome, Parâmetros e Corpo da Função. Tipo , Nome, e Corpo da função. Tipo, Parâmetro e corpo da função. Nome, Parâmetro e Corpo da função. 2a Questão Um engenheiro gostaria de definir uma função para resolver um determinado problema. Observe o código abaixo e identifique a opção que exibe o que é retornado pela função. Retorna o total de números digitados e divisíveis por 10 Retorna o total de algarismos do número digitado independente do sinal Nada retorna porque tem erro na função, uma vez que não testa se o número é negativo Retorna 1 se o número digitado for divisível por 10 Retorna 0 caso o número digitado seja negativo 3a Questão 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 30 170 230 215 4a Questão Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada. O menor número é retornado 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 maior número é retornado 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 índice da variável que contem o menor número 5a Questão Ao definirmos uma função, podemos afirmar que: I Toda função tem parâmetros II Quando nada retorna, o tipo é void III Quando todos os parâmetros são do mesmo tipo, é suficiente usar o tipo uma vez e separar os nomes dos parâmetros por vírgulas IV Na passagem por valor, o endereço da variável da função chamadora é passado para a função chamada Após uma análise das afirmativas acima, escolha a opção correta. Somente a afirmativa II está correta As afirmativas II, III e IV estão corretas As afirmativas II e IV estão corretas As afirmativas I e II estão corretas As afirmativas II e III estão corretas 6a Questão Um Engenheiro civil gostaria de construir uma função que pudesse calcular o total de metros lineares que deveriam ser comprados para montar o rodapé de salas retangulares. Ele pediu ao desenvolvedor para definir a função. Assinale a opção que corresponde à definição CORRETA da função. float rodapeRet(float largura, float comprimento); { return largura + comprimento * 2;} float rodapeRet(float largura, float comprimento); { return largura * comprimento;} float rodapeRet(float largura, float comprimento) { return (largura + comprimento)*2;} float rodapeRet(float largura, float comprimento) { return largura * comprimento;} float rodapeRet(float largura, comprimento) { return largura + comprimento * 2;} 7a Questão Quando uma função e chamada e recebe como parâmetro o endereço de uma variável, damos o nome a esta forma de passagem de parâmetros de Passagem por: memória referência ponteiro endereço valor 8a Questão Em todos os programas codificados em linguagem C aparece a função main(). Verifique as afirmativas. I- A execução de um programa em C inicia na primeira linha da função main() II - Alguns programas complexos em C necessitam de mais de uma função main() III - A função main() em detgerminadas situações pode ser opcional no código. IV - Embora muito importante não é possivel escrever um programa em C apenas com a função main(). Marque a alternativa CORRETA: Todas as afirmativas estão corretas As afirmativas I e III estão corretas As afirmativas I e IV estão corretas As afirmativas I e II estão corretas Apenas a afirmativa I está correta 1a Questão Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde deverão se posicionar as demais funções em relação à função main()? Observe as afirmativas abaixo e assinale a resposta CORRETA I Antes da função main() obrigatoriamente. II Depois da função main(), obrigatoriamente, para melhorar a visibilidade, mas nada a acrescentar. III Se depois da função main(), obrigatoriamente, tem que incluir o protótipo antes. IV Pode ser antes da função main(). Somente a afirmativa I está correta. Só a afirmativa III está correta. Somente a afirmativa II está correta. As afirmativas III e IV estão corretas. Somente a afirmativa IV está correta. 2a Questão Seja a função a seguir, onde são passados como parâmetros um vetor e seu tamanho, respectivamente int v[] e tam: void imprime(int v[], int tam) { int i; for(i=0; i< = tam;i++) printf("v[%d]=%d\n", i, v[i]); } Analise o código da função e marque a alternativa correta: O laço de repetição está errado pois tenta acessar fora dos limites do vetor. A função printf() não pode ser usada com vetores. Há erro no uso da função printf(), sabendo que um dos argumentos é um elemento do vetor. Não há problemas com o código da função, esta pode ser executada sem problemas. O cabeçalho da função possui erro , pois neste caso não pode-se usar como valor de retorno void. 3a Questão MARQUE A OPÇÃO REFERNETE VALOR FINAL DA VARIÁVEL RESULT? 7 6 9 11 184a Questão O presidente da construtora Sempre Verde precisou, em um determinado momento, reajustar o salário dos funcionários e, como ele sabia programar porque tinha se dedicado muito à disciplina de Linguagem de Programação I, definiu uma função com o seguinte protótipo: float calcSalario(float salario, float percentual); Baseado nesse protótipo é CORRETO afirmar que a função: Retornará dois valores para a função chamadora. Não retorna nenhum valor para a função chamadora. Recebe dois valores passados por referência. Recebe dois valores, salário e o percentual de reajuste, passados por valor. Retornará o salário somado ao percentual. 5a Questão Analise o código a seguir: #include < stdio.h > #include < stdlib.h > void modifica(int v[]) { int temp=v[0]; v[0]=v[1]; v[1]=temp; } int main(int argc, char *argv[]) { int vetor[]={5,3}; modifica(vetor); printf("vetor[0]=%d\tvetor[1]=%d", vetor[0], vetor[1]); return 0; } Marque a alternativa correta: O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]). A saída que será exibida é v[0]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main(). A saída que será exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=3 e v[1]=3 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=3 e v[1]=5 os valores dos campos do vetor são alterados, na função main(). 6a Questão O cabeçalho de uma função é composto por: < tipo de retorno > nome da função ( lista de parâmetros). A lista de parâmetros, quando houver deve ter os parãmetros separados por vírgula e estes são entradas para a função, enquanto o tipo de retorno indica o tipo de valor que será a saída de uma função. Entretanto algumas funções não retornam nenhum valor, neste caso deve-se usar no seu cabeçalho para tipo de retorno a palavra: float int boolean void return 7a Questão Suponha uma Universidade cujo critério para aprovação seja o seguinte: a soma das duas provas PR1 e PR2 tem que ser maior, ou superior a 14. Caso o aluno não consiga fazer esse total, deverá ir fazer a PR3, cuja nota, acrescida à soma da PR1 com PR2, precisará ser, no mínimo, o que falta para completar 21 pontos. Assinale a opção CORRETA da definição de uma função que receba como parâmetros as notas da PR1 e da PR2, retornando a nota mínima que o aluno precisará tirar na terceira prova para que seja aprovado. void aprovacaoFinal (float pr1, float pr2) { return (21 - pr1 -pr2); } float aprovacaoFinal( float pr1, pr2) { return 21 - ( pr1 + pr2); } float aprovacaoFinal(float pr1, float pr2) { pr3 = (21-pr1-pr2); } float aprovacaoFinal(float pr1, float pr2) { return 21-(pr1 + pr2); } float aprovacaoFinal(float pr1,float pr2) { pr3=(pr1 + pr2); } 8a Questão Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas end main() return begin systema("pause") 2a Questão Analise o código a seguir: #include < stdio.h > #include < stdlib.h > void modifica(int v[]) { int temp=v[0]; v[0]=v[1]; v[1]=temp; } int main(int argc, char *argv[]) { int vetor[]={5,3}; modifica(vetor); printf("vetor[0]=%d\tvetor[1]=%d", vetor[0], vetor[1]); return 0; } Marque a alternativa correta: A saída que será exibida é v[0]=3 e v[1]=5 os valores dos campos do vetor são alterados, na função main(). O programa não executa, pois há erro nas atribuições no corpo da função modifica(int v[]). A saída que será exibida é v[0]=3 e v[1]=3 os valores dos campos do vetor são copiados, na função main(). A saída que será exibida é v[0]=5 e v[1]=3 os valores dos campos do vetor não são alterados, na função main(). A saída que será exibida é v[0]=5 e v[1]=5 os valores dos campos do vetor são copiados, na função main(). 6a Questão Qual o tipo de retorno e quantos parâmetros tem a função abaixo? float media(int n1, int n2, int n3){ return (n1+n2+n3)/3; } Tipo de retorno: float Quantidade de parâmetros: 3 Tipo de retorno: int Quantidade de parâmetros: 3 Tipo de retorno: media Quantidade de parâmetros: 2 Tipo de retorno: media Quantidade de parâmetros: 3 Tipo de retorno: float Quantidade de parâmetros: 2 8a Questão Os programas inicialmente eram desenvolvidos em um único bloco, com a introdução da modularização de programas foi possível garantir uma melhora na legibilidade dos códigos, um maior aproveitamento e reuso de códigos e melhora na manutenção de sistemas. Assim o principal elemento da modularização de programas é: variáveis vetor funções structs tipo de dados 2a Questão 5- Veja o código a seguir: #include < stdio.h > #include < stdlib.h > void imprime(int v[]) { int i; for(i=0;i<10;i++)printf("v[%d]=%d\n", i, v[i]); } int main(int argc, char *argv[]) { int num[]={1,2,3,4,5,6,7,8,9,10}; __________________________ // chamada a função imprime return 0; } Está faltando o segundo comando na função main(), este deve ser uma chamada a função imprime(int v[]). Sabendo-se que o parâmetro a ser passado é um vetor,marque a alternativa com a forma correta da chamada desta função, de modo que o vetor num[] declarado na primeira linha da função main() tenha seus valores exibidos na tela. imprime(num[]); imprime(vet); imprime(v[]); imprime(int num []); imprime(num); 4a Questão 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: Ocorrerá um erro O programa exibirá 4 O programa exibirá 5 O programa exibirá 0 O programa exibirá 9 5a Questão Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa. cout << " Produto = " << multiplicar(a,b); Observe as opções abaixo e escolha aquela onde o protótipo da função está presente. void multiplicar(int a, int b); int multiplicar(int a, int b) ; int multiplicar(int a, b); float multiplicar(int a, int b) void multiplicar(int a, int b) 1a Questão 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 palavrassão dispostas na resposta, devem preencher respectivamente as lacunas. int - open - close float - fopen - fclose char - fopen - fclose int - abrir - fopen char - fopen - fechar 2a Questão Qual o modo de abertura de arquivo me permite ler, mas não escrever? r+ a a+ w r 3a Questão Sabe-se que o modo padrão é o texto logo, não precisa incluir ao final de cada letra t. Observe as opções abaixo e escolha a que deverá ser usada quando se abre um arquivio, pois permite leitura/ escrita e alteração no modo texto(txt). w+ r+ a+ r a 4a Questão 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. 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. Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa. Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema. 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. 5a Questão Complete a lacuna: A função getc() realiza a leitura de arquivos ____________________ . de uma única vez caractere por caracterer palavra por palavra de um vetor de uma frase inteira 6a Questão 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. tipo nome_matriz[numero_linhas][numero_colunas]; tipo nome_matriz[][]; tipo nome_vetor[numero_colunas][numero_linhas]; nome_matriz[numero_linhas][numero_colunas]; tipo nome_matriz[numero_colunas][numero_linhas]; 7a Questão Assinale a opção onde está presente a função que " extrai " dados numéricos de um vetor de char, não do teclado, além de evitar problemas na alternância na leitura de valores numéricos com vetores de char ao trabalharmos com arquivos. fgetc(...); fscanf(...); fgets(...); sscanf(...); fread(...); 8a Questão A função fgets(): lê uma linha inteira de uma vez. imprime uma linha inteira de uma vez. imprime um caracter de cada vez. lê um arquivo inteiro de uma vez. 3a Questão Selecione a opção que apresenta os arquivos padrão de saída, erro e entrada, nessa ordem. stdout, stderr, stdin stdin, stderr, stdout stderr, stdin, stdout stdout, stdin, stderr stdin, stdout, stderr 2a Questão Assinale a opção onde está presente a função que tem como finalidade fechar o arquivo, embora todos os arquivos sejam fechados quando o programa é finalizado. fseek( ...); feof(...); fopen(..); fputs( ...); fclose(...); 3a Questão 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ção para gravar um caractere. Função que fecha um arquivo. Funções para gravação formatadas. Funções para gravar uma linha. Função que detecta o fim do arquivo. 4a Questão 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ções para ler um caractere. Função que fecha um arquivo. Função que detecta o fim do arquivo. Funções para gravar uma linha. 5a Questão 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", "w+"); arq = fopen("texto.txt", "w"); arquivo = fopen("material.dat", "r+"); arq = fopen("texto.txt", "a+"); arquivo = fopen("material.dat", "a+"); 1a Questão Assinale a opção que apresenta a função que seta o indicador de posição do arquivo no início fclose(...); fputs(...); fopen(...); ftell(...); rewind(...); 2a Questão 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. fgetc() fprint() fscanf() sscanf() fgets() 3a Questão 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 gravação Somente para leitura Não precisa abrir o arquivo Para leitura e edição Somente para gravação 4a Questão 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); fwrite(endreçoElemento, tamanho, quantidade, ptrArq); fwrite(endreçoElemento, ptrArq, quantidade); fwrite(quantidade, ptrArq, endreçoElemento,tamanho); fwrite( tamanho, endreçoElemento, ptrArq); 5a Questão A função rewind() de protótipo void rewind (FILE *fp); tem como comportamento: Retornar a posição corrente do arquivo para o fim. Retornar a posição corrente do arquivo para o início. Adiantar a posição corrente do arquivo para o fim. Adiantar para a próxima posição corrente do arquivo. Adiantar a posição corrente do arquivo para o início. 6a Questão 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; } DEF ABCDEFY ABCYDEF ABCDEF ABC 7a Questão Assinale a opção que apresenta o modo de abertura que permite leitura/ escrita e acrescentarao final em um arquivo binário. a+ ab+ w+ r+ rb+ 8a Questão 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("ARQ2", "ARQ"); rename("ARQ", "ARQ2"); rename(ARQ2, ARQ); 1a Questão Assinale a opção que apresenta a função que grava dados em um arquivo binário. printf(...); fprintf(...); fwrite(...); fputs(...); fputc(...); 2a Questão Assinale a opção que apresenta a função que lê dados de um arquivo binário. sscanf(...); fread(...); fgets(...); fgetc(...); fscanf(...);