Buscar

avaliando aprendizado linguagem C 2017

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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:
		
	
 
	Complexidade e Estruturada
	
	Portabilidade e Estruturada
	
	Rapidez e Portabilidade
	
 
	Estruturada e Rapidez
	
	Portabilidade e Modularidade
	
	Qual das características abaixo NÃO pode ser atribuída á linguagem C?
		
	
	Rapidez, pois gera executável compacto
	
 
	Complexidade porque tem muitas palavras reservadas
	
	Portabilidade
	
	Modularidade
	
	Estruturada
	
	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
	
	C tradicional
	
	Padrão C95
	
 
	Padrão C89
	
 
	Padrão C99
	
	Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos construindo?
		
	
	define
	
	const
	
	typedef
	
	struct
	
 
	include
	
	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 70
	
	década de 90
	
	década de 50
	
	década de 60
	
	Estudamos que a linguagem C apresenta várias características. Analise as afirmativas abaixo e assinale a opção correta.
I Com pequenas modificações, um código poderá ser compilado em várias plataformas.
II Não pode ser modularizada
III Possui um propósito específico
IV Considerada de nível intermediário
		
	
 
	Todas estão corretas
	
	Todas estão erradas
	
 
	I e IV estão corretas
	
	II, III e IV
	
	I, III e IV estão corretas
	
	A Linguagem C tem algumas características importantes e uma delas é a Portabilidade, Isso significa dizer que:
		
	
	Um programa executável gerado na plataforma Windows é executado na Plataforma Linux.
	
	A linguagem possui um propósito específico.
	
 
	Com pequenas alterações, o programa poderá ser compilado em várias plataformas.
	
	Podemos dividir o programa em parte menores.
	
	Por ser considerada uma linguagem de baixo nível é mais simples migrar para outra plataforma.
	
	Na função main() da linguagem C, declarações, comandos, estruturas e tudo mais que pertence ao corpo da função estão envoltos por dois elementos.
Assinale a opção que apresenta esses elementos.
		
	
	begin e end
	
	[ e ]
	
	( e )
	
	begin e end;
	
 
	{ e }
	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?
		
	
	isalpha()
	
 
	isalnum()
	
	isnotalphadigit()
	
	isdigit()
	
	isspace()
	
	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
	
	toupper() e stdlib.h
	
	atoi() e math.h
	
 
	tolower() e ctype.h
	
	Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display.
#include 
int main() 
{ 
printf ("%s%d%%","Juros de ",10);
}
		
	
 
	%s%d%% Juros de 10
	
	Nada porque tem muitos %
	
	10 Juros de
	
	% Juros de 10
	
 
	Juros de 10%
	
	Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h.
Assinale o trecho correto que possibilita incluí-las.
		
	
	#define 
#define 
#define 
	
	#include
	
	#include
	
	#include 
#include 
#include 
	
 
	#include stdio.h
#include stdlib.h
#include math.h
	
	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 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/ 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 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.
	
 
	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.
	
	Assinale a função que não é disponível na plataforma Linux.
		
	
 
	return
	
	scanf()
	
	printf()
	
 
	system()
	
	main()
	
	Você estava trabalhando na plataforma Windows e foi definindo várias funções específicas para sua área de atuação.
Um dia, resolveu criar uma biblioteca e nomeou de minhasFuncoes.h, salvando em uma pasta de nome funcoes na raiz do drive C.
Quando foi incluir, usou:
		
	
 
	#include "c:\funcoes\ minhasFuncoes.h"
	
	#include
	
 
	#include minhasFuncoes.h
	
	#include "minhasFuncoes.h"
	
	#include "c:\ minhasFuncoes.h\funcoes"
	
	Qual o nome da função matemática que calcula a potenciação de um número?
		
	
	elevado
	
	double
	
 
	pow
	
	sqrt
	
	pot
	As bibliotecas da linguagem C guardam funções predefinidas da linguagem. Veja o código a seguir e marque a alternativa que contém as bibliotecas necessárias para que este código funcione.
#include________
#include________
int main()
{
int a=2, b=2, c=8, delt;
delt=(pow(b, 2)-(4*a*c));
system("pause");
return (0);
}
Não leve em consideração os sinais de maior e menor que envolvem o nome das bibliotecas.
		
	
	stdio.h - ctype.h
	
	cmat.h - ctype.h
	
 
	math.h - stdlib.h
	
	stdlib.h - ctype.h
	
 
	stdio.h - stdlib.h
	
	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.
		
	
	time.h - Funções para manipulação de tempo, apenas horas, minutos e segundos.
	
 
	math.h - Funções matemáticas
	
	stdio.h - Funções para gráficos.
	
	stdlib.h - Funções de entrada e saida. 
	
	string.h - Funções para concatenação de strings com inteiros.
	
	Quando precisamos incrementar o valor de uma variável em C, geralmente usamosa forma contrata, com os operadores pré ou pós fixados de acordo com a necessidade.
Supondo as seguintes definições e desconsiderando a necessidade do restante do programa:
Int a = 5;
Int b = 8;
Após a execução das operações na ordem em que são apresentadas, Marque a resposta correta:
		
	
	a += ++b; o valor de a e b são respectivamente: 14 e 8
	
	a = ++b; o valor de a e b são respectivamente: 8 e 9
	
	a += b++; o valor de a e b são respectivamente: 9 e 13
	
 
	a = b++; o valor de a e b são respectivamente: 8 e 9
	
	a += b++; o valor de a e b são respectivamente: 14 e 9
	
	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, integer, float, real, boolean
	
	char, int, float, double, boolean
	
	char, int, real, double, void
	
 
	char, int, float, double, void
	
	char, int, real, double, boolean
	
	Observe abaixo várias funções que recebem dados via teclado. Qual delas permite uma leitura formatada?
		
	
	gets()
	
	fgets()
	
	getchar()
	
 
	scanf()
	
	fgetc()
	
	Na linguagem de programação C, como em outras, na criação de programas, precisamos fazer a entrada e saída de dados no sistema e para tal temos algumas opções.
Das opções apresentadas, qual não é parte linguagem C, conforme o material apresentado nas aulas.
		
	
	fgetc(stdin)
	
	printf ( )
	
 
	cin ( )
	
	scanf ( )
	
	getchar ( )
	
	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.
 
		
	
	- 0.00289(O inverso do número formatado)
	
	0345 (O valor absoluto do número formatado)
	
	0543(O valor absoluto do número espelhado formatado)
	
	-0012 ( Representa a soma dos algarismos do número -345 formatado)
	
 
	0343 (O valor absoluto do resultado da expressão formatada)
	
	Dado o trecho de lógica utilizando o conceito da linguagem de programação C. Diga o resultado das variáveis x, y e z depois da seguinte sequência de operações:
int x,y,z; 
x=y=10; 
z=++x; 
x=-x; 
y++;
x=x+y-(z--); 
		
	
	x = -13 
y = 11 
z = 13
	
	x = -01
y = 01 
z = 10
	
	x = -20
y = 20 
z = 10
	
 
	x = -11 
y = 11 
z = 10
	
	x = 11 
y = 11 
z = 15
	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);
		
	
	\n8
	
	9
	
 
	8
	
	12
	
	\n4
	
	Existe sempre uma dúvida por parte do desenvolvedor se escolhe switch() ou if quando está usando a Linguagem C.
Sabemos que existem algumas exigências para se usar o switch().
Analise as opções abaixo e assinale a opção correta.
I Qualquer tipo pode ser usado. 
II Somente o tipo vetor de char que Não pode ser usado. 
III Não pode ser usado intervalo tipo: 1..3 em um case. 
IV Sempre será obrigatório usar o comando break; ao final de um case. 
V Quando o valor digitado não estiver presente em nenhum dos cases, irá para a opção default, caso exista.
		
	
 
	III e V são verdadeiras
	
	II, III e IV são verdadeiras
	
 
	II, IV e V são verdadeiras
	
	I, III, IV e V são verdadeiras
	
	I, III e IV são verdadeiras
	
	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' || sexo == 'F' ) and idade >= 18 and idade < 30 )
	
	if(( sexo == 'f' or sexo == 'F') and idade>=18 and idade < 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 )
	
	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: 35
	
	Exibe valor: 7
	
	Exibe valor: 0
	
 
	Exibe valor: 5
	
	Exibe valor: 12
	
	Se precisarmos testar o conteúdo de uma variável e sabendo-se que só serão executados comandos se o teste retornar verdadeiro, qual estrutura você indicaria para esse caso?
		
	
	printf()
	
	switch()
	
	if else if
	
 
	if
	
	if else
	
	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 apresentauma expressão relacional correta na linguagem C.
		
	
	x == ( a + b )
	
	x <= ( a + b )
	
	x > ( a + b )
	
	x >= ( a + b )
	
 
	x = ( a + b )
	
	Suponha que as notas digitadas pelo usuário sejam respectivamente (4.5; 8.5; 6.5).
int main()
{
float n1, n2, n3, med;
puts("Digites as notas");
scanf("%f", &n1);
scanf("%f", &n2);
scanf("%f", &n3);
med= (n1+n2+n3)/3;
if(med>=7)
printf("Aluno aprovado com: %.1f\n", med);
else
printf("Aluno reprovado com: %.1f\n", med);
system("pause");
return 0;
}
Desconsidere a necessidade da declaração das bibliotecas.
Qual será a mensagem final exibida para o usuário?
		
	
	Aluno reprovado com: 6.50
	
	Aluno aprovado com: 6.5
	
	Aluno aprovado com: 6.0
	
	Aluno aprovado com: 6.00
	
 
	Aluno reprovado com: 6.5
	
	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 .....
 
		
	
 
	Melhor seria substituir, sempre, os ifs encadeados pela estrutura do switch().
	
	Posso substituir ifs encadeados por ifs simples sem prejuízo de qualidade.
	
 
	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.
	
	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 por vários ifs simples e um if composto, ao final, para criticar a resposta errada do usuário.
	Leia com atenção as afirmativas abaixo e escolha a opção correta.
I A estrutura do for, por definição, é ideal quando o número de repetições for conhecido
II A estrutura do for testa ao final enquanto a estrutura while testa no início
III A estrutura while pode simular a estrutura do for e a estrutura do... while
IV A estrutura do for sem nenhum parâmetro, só com os  ;   dentro dos parênteses e com um if no corpo da repetição, pode simular a estrutura while
V Tanto a estrutura do...while quanto a estrutura while, testam no início
		
	
	Somente I, III e V estão corretasSomente 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 IV estão corretas        
	
	Para o programa abaixo qual a saída apresentada?
main(){
int x,soma=0;
for(x=10; x<=15;x++)
{
  printf(" %d",pow(x,2));
}
system("PAUSE");
return 0;
}
		
	
	20 22 24 26 28 30
	
	10 11 12 13 14 15
	
 
	100 121 144 169 196 225
	
	15 14 13 12 11 10
	
 
	9 10 11 12 13 14 15
	
	Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
		
	
	for ( i = 0; i == num; i++)
	
	while (num == 0)
	
	for (i = num; i > 0; i++)
	
	enquanto (num > 0)
	
 
	while (num != 0)
	
	 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       4       8       12       20       32       52
	
	2       4       6       8       19       12       14       16
	
	2       4       6       10       16       26       42       68
	
	2       4       4       8       12       20       32       
	
 
	2       4       6       10       16       26       42
	
	Durante a criação de um programa, foi percebido que uma parte do código era executada várias vezes, porém não era em uma sequência de repetições e sim esporadicamente. Cada vez que esta parte era executada inicialmente precisava-se de um valor diferente e no final do trecho a resposta nem sempre era a mesma. Era necessário achar alguma forma de evitar a redundância de códigos e melhorar a escrita e desempenho do sistema. Baseado na descrição apresentada acima e utilizando-se da melhor forma os conceitos de programação, qual seria a melhor solução pra o problema:
		
	
	Utilizar a estrutura de loop FOR com o GOTO, para executar a parte do código que se repetia.
	
 
	Criar uma função para executar a parte do código que se repetia.
	
	Utilizar a estrutura de loop WHILE, para executar a parte do código que se repetia.
	
	Utilizar a estrutura de loop FOR, para executar a parte do código que se repetia.
	
	Utilizar a estrutura de loop DO-WHILE, para executar a parte do código que se repetia.
	
	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.
 
		
	
	II está correta e a III não está correta.
	
 
	I e III estão corretas.
	
	I está errada.
	
	IV está correta e a I não está correta.
	
	II e IV estão corretas.
	
	 Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que  se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch().
		
	
 
	case 90: printf("Pode") ; break;
	
	case a=90: printf("Pode") ;break;
	
	case a > 90: printf("Pode") ;break;
	
	90: printf("Pode");
	
	90: printf("Pode"); stop;
	
	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?
		
	
	switch
	
	while
	
 
	do...while
	
	for
	
	repeat...util
	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[1000], qtdade[1000]; float valorC[1000], valorV[1000];
	
	double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
	
	double codigos[999], qtdade[999], valorC[999], valorV[999];
	
	int codigos[999], qtdade[999]; float valorC[999], valorV[999];
	
	A linguagem C permite a inicialização de vetores junto com sua declaração.
Dada as alternativas abaixo, selecione a que está incorreta:
		
	
	int valores[] = {10, 15, 20, 25, 30};
	
	char valores[] = {'A', 'B', 'C', 'D'};
	
	char valores[5] = {'A', 'B', 'C', 'D'};
	
 
	char valores = "ABCD";
	
	int valores[5] = {10, 15, 20, 25, 30};
	
	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?
		
	
	convertUp
	
 
	toupper
	
	upper
	
	toupr
	
	convertUpper
	
	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&c", nome[0]);
	
	scanf("%&s", &nome);
	
	scanf("%c", nome[0]);
	
	scanf("%s", &nome);
	
	A linguagem C, ao contrário de outras linguagens de programação, não possui um tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros
Qual das opções abaixo está correta?
		
	
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/end').
	
 
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\0').
	
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\end')
	
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('{0}').
	
	Em C, strings são vetores de caracteres terminados pelo caractere nulo ('/0').
	
	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};
	
	integer numeros[3] = [ 0, 1, 2];
	
	int numeros[2] = [ 0, 1, 2];
	
 
	int numeros[3] = ( 0, 1, 2);
	
 
	int numeros[3] = { 0, 1, 2};
	Considere que todas as bibliotecas necessárias foram declaradas.
int main()
{
int mat[3][3], i, j, det;
puts("Codigo que calcula o determinante de uma matriz 3x3\n");
____{
puts("Digite os elementos da matriz\n");
____(i=0;i<3;i++)
____(j=0;j<3;j++)
scanf("%d", &mat[i][j]);
fflush(stdin);
det= (mat[0][0]*mat[1][1]*mat[2][2])+ (mat[0][1]*mat[1][2]*mat[2][0]) + (mat[0][2]*mat[1][0]*mat[2][1]) - ((mat[0][1]*mat[1][0]*mat[2][2]) + (mat[0][0]*mat[1][2]*mat[2][1]) + (mat[0][2]*mat[1][1]*mat[2][0]));
printf("\ndet=%d\n", det);
} ____ (det==0);
system("pause");
return (0);
}
Complete as lacunas do código da maneira correta para que o programa funcione corretamente.
		
	
	while-for-do-for
	
	do-while-for-for
	
	do-if-for-while
	
	do-if-else-while
	
 
	do-for-for-while
	
	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 int[10][20];
	
	float matrizExemplo[20][10];
	
	int matrizExemplo[10,20];
	
	matrizExemplo float[20][10];
	
 
	int matrizExemplo[10][20];
	
	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 [30];
	
	char nomes (20,30);
	
 
	char nomes [30][20];
	
	char nomes [20][30];
	
	char nomes (30);
	
	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];
	
	real notas[150];
	
	int notas[150];
	
	float %.1f notas[150];
	
	integer notas[150];
	
	Matrizes são estruturas de dados extremamente poderosas e que são muito empregadas em programas na linguagem C.
Assinale a alternativa incorreta em relação a este conceito.
		
	
	O armazenamento de um valor, em uma variável da matriz bidimensional, poderá ser feito através de um comando de leitura ou de atribuição
	
 
	Não existem matrizes com mais de duas dimensões.
	
	Uma matriz bidimensional poderá armazenamento de vetores do tipo char
	
	Matrizes unidimensionais são conhecidas também como vetores;
	
	Podemos inicializar com valores no ato de sua declaração.
	
	O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores.
Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C.
Assinale a opção que possibilitará fazer o que o professor deseja.
		
	
 
	
float NOTAS[47][5]; 
	
	
float notas[5][47]; 
	
	
float NOTAS[47][47]; 
	
	
float NOTAS[47,5]; 
	
	
float Notas[47][47]; 
	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 índice da variável que contem o menor número 
	
 
	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 chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles.
Assinale a linha onde a declaração atende ao que ele deseja.
		
	
	
char nomes[20][31]; float salarios[20][20]; 
	
 
	
char nomes[20][31]; float salarios[20][14]; 
	
	
float nomes[20][31], salarios[20][14]; 
	
	
char nomes[20]; float salarios[19][13]; 
	
	
char nomes[19][31]; float salarios[19][13]; 
	
	Observe o código apresentado na questão:
#include < stdio.h>
#include < stdlib.h>
int x=4;
void main(){
  int x=5;
  exibir(x); 
  system("PAUSE");      
}
void exibir(int y){
   printf("%d",y);    
}
Dentre as opções abaixo é correto afirmar:
		
	
	O programa exibirá 0
	
	O programa exibirá 4
	
	O programa exibirá 5
	
 
	Ocorrerá um erro
	
	O programa exibirá 9
	
	Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas. 
 
tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN)
{
  corpo da função
 }
 
Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc).
		
	
	Nome, Parâmetro e Corpo da função.
	
	Tipo, Nome e Parâmetros.
	
 
	Tipo , Nome, e Corpo da função.
	
	Tipo, Nome, Parâmetros e Corpo da Função.
	
	Tipo, Parâmetro e corpo da função.
	Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas
		
	
	begin
	
	end
	
	systema("pause")
	
 
	main()
	
	return
	
	Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.
Das opções apresentadas, qual função apresenta a solução para o programador?
		
	
 
	strcont( ).
	
	strcat( ).
	
 
	atoi( ).
	
	strlength( ).
	
	strlen( ).
	 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_vetor[numero_colunas][numero_linhas];
	
	nome_matriz[numero_linhas][numero_colunas];
	
	tipo nome_matriz[numero_colunas][numero_linhas];
	
	tipo nome_matriz[][];
	
 
	tipo nome_matriz[numero_linhas][numero_colunas];
	
	Considere que as bibliotecas necessárias foram devidamente declaradas.
int main() {
FILE *arq ;
int i;
_____ c ;
arq = _____ ( " jornal.txt " , " r " ) ;
if ( arq == NULL ){
printf ( " Erro na abertura do arquivo " ) ;
system ( " pause " ) ;
exit ( 1 ) ;
} else
for ( i = 0; i<5; i++){
c = fgetc ( arq ) ;
printf( "%c", c ) ;
}
_____( arq ) ;
system ( " pause " ) ;
return 0;
}
Complete as lacunas do código para que o programa funcione corretamente.
A ordem em que as palavras são dispostas na resposta, devem preencher respectivamente as lacunas.
		
	
	int - open - close
	
	float - fopen - fclose
	
	char - fopen - fechar
	
	int - abrir - fopen
	
 
	char - fopen - fclose
	
	Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico.
Das afirmativas apresentadas qual define corretamente qual a finalidade da função fputc() .
		
	
	Funções para gravação formatadas.
	
	Funções para gravar uma linha.
	
	Função que fecha um arquivo.
	
 
	Função que detecta o fim do arquivo.
	
 
	Função para gravar um caractere.
	
	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ção que detecta o fim do arquivo.
	
	Funções para leitura formatada.
	
	Funções para gravar uma linha.
	
	Funções para ler um caractere.
	
	Função que fecha um arquivo.
	
	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 apresentadasqual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas.
		
	
	Não é possível tratar este tipo de erro, pois precisamos da estrutura Try ... Catch que consegue prevenir e evitar o fechamento do programa.
	
	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.
	
 
	A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variável associada ao arquivo, comparando com o valor NULL.
	
	O tratamento é feito com um if, e tendo havido problemas no arquivo de texto, o mesmo é eliminado e retornado uma mensagem padrão para o usuário.
	
	Não é necessário tratar, pois não existindo o arquivo ele simplesmente cria um novo e nunca terá problema.
	
	Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de texto.txt, que foi associado com a variável de nome: arq, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura para ler e/ou gravar dados no fim do arquivo corretamente seguindo as regras da linguagem.
		
	
	arquivo = fopen("material.dat", "r+");
	
	arq = fopen("texto.txt", "w");
	
	arquivo = fopen("material.dat", "w+");
	
	arquivo = fopen("material.dat", "a+");
	
 
	arq = fopen("texto.txt", "a+");
	
	A função fgets():
		
	
	lê um arquivo inteiro de uma vez.
	
 
	lê uma linha inteira de uma vez.
	
	imprime um caracter de cada vez.
	
	imprime uma linha inteira de uma vez.
	
	lê um caracter de cada vez.
	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;
}
		
	
	ABCDEFY
	
	ABCDEF
	
 
	ABCYDEF
	
	ABC
	
	DEF
	
	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(ARQ2, ARQ);
	
	rename("ARQ, ARQ2");
	
	rename("ARQ2", "ARQ");
	
	rename("ARQ", ARQ2);
	
	A função _________ funciona como a função scanf(), porém, ao invés de ler os dados de teclado, estes dados são lidos de um arquivo.
		
	
 
	fscanf()
	
	fprint()
	
	fgetc()
	
	sscanf()
	
	fgets()
	
	A função rewind() de protótipo
void rewind (FILE *fp);
tem como comportamento:
		
	
	Adiantar a posição corrente do arquivo para o início.
	
	Retornar a posição corrente do arquivo para o fim.
	
	Adiantar para a próxima posição corrente do arquivo.
	
 
	Retornar a posição corrente do arquivo para o início.
	
	Adiantar a posição corrente do arquivo para o fim.
	
	Nas aulas aprendemos sobre as funções de leitura e gravação.
A respeito da função fwrite assinale a alternativa correta.
		
	
	fwrite(quantidade, ptrArq, endreçoElemento,tamanho);
	
	fwrite(endreçoElemento, tamanho, quantidade);
	
	fwrite(endreçoElemento, ptrArq, quantidade);
	
 
	fwrite(endreçoElemento, tamanho, quantidade, ptrArq);
	
	fwrite( tamanho, endreçoElemento, ptrArq);
	
	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.
 
		
	
	Não precisa abrir o arquivo
	
	Para leitura e edição
	
	Para leitura e gravação
	
	Somente para gravação
	
 
	Somente para leitura

Outros materiais