Exercícios Resolvidos de Programação em Linguagem C

Enviado por Comunidade Wikiteka e classificado em Computação

Escrito em em português com um tamanho de 3,24 KB

I - Assinale V ou F:

  • a) (F) MAIN não é uma palavra-chave da linguagem C (o correto é main).
  • b) (F) Podemos guardar em um long int valores muito maiores que em um int.
  • c) (F) \t representa uma tabulação; \2t não é uma sequência de escape válida.
  • d) (V) x+=2*t+y; é equivalente a x=x+2*t+y;.
  • e) (V) O formato %c imprime caracteres ASCII.
  • f) (F) O formato %C não é um padrão para caracteres maiúsculos em C.
  • g) (F) O formato %b não imprime números em binário nativamente.
  • h) (V) O formato %x imprime números em hexadecimal.
  • i) (V) O formato %X imprime números em hexadecimal com letras maiúsculas.
  • j) (V) Um arquivo de texto plano padrão DOS apresenta tamanho maior que o padrão UNIX devido aos caracteres de fim de linha (CRLF).
  • k) (F) Uma string em C é uma sequência de caracteres terminada pelo caractere nulo \0.

II - Qual a saída dos programas a seguir?

a) Análise de Condicional

#include <stdio.h>
main() { int al=25; if(50>=al && al>=10) printf("Está dentro do intervalo"); }
Nota: O código original não mostrava nada devido à sintaxe incorreta da condição.

b) Manipulação de Vetores

#include <stdio.h>
main() { char mt[7] = {'B','o','m', ' ', 'd','i','a'}; puts(mt); }
Nota: Exibe lixo de memória, pois falta o caractere nulo '\0' ao final do vetor.

c) Comparação de Strings

main() { char str[] = "Esta é uma string"; if(strcmp(str, "Esta é uma string") == 0) printf("As strings são iguais"); }
Nota: Comparação de strings em C deve ser feita com strcmp da biblioteca <string.h>.

d) Manipulação de Arquivos

Nota: O programa original falha na abertura pois foi aberto em modo leitura ("r") e tentou-se realizar escrita (fputc).

III - Exercício de Programação: Função bioskey()

#include <bios.h>
#include <stdio.h>
#include <process.h>
void main(void) {
int tecla, i;
FILE *sai;
static char *nometecla[] = {"HOME", "LEFT", "RIGHT", "END", "INS", "DEL", "ENTER", "BKSPC", "ESC"};
sai = fopen("teclas.h", "w");
if(sai == NULL) { printf("Erro na criação do arquivo"); exit(0); }
for(i=0; i < 9; i++) {
printf("\n%s: ", nometecla[i]);
tecla = bioskey(0);
fprintf(sai, "#define %s 0x%04X\n", nometecla[i], tecla);
}
fclose(sai);
}