Professional Documents
Culture Documents
Linguagem de Programação
Lista de Exercícios 2
Questão 1 - Limitando o tamanho das strings lidas em função do tamanho das variáveis.
#include <stdio.h>
int main() {
char cpf[12]; //Atente-se à separação de um espaço da string para o '\0'
printf("Digite o CPF:\n");
scanf(" %s", cpf);
printf("%s", cpf);
return 0;
}
O código acima possui um erro, mesmo que tenhamos definido a string “cpf” com apenas 11
caracteres (+1 para o \0), se digitarmos um número que ultrapasse esse limite o valor impresso na
tela ao final da execução contém também os números excedentes. Corrija-o a fim de que sejam
recebidos APENAS os 11 números do CPF.
Questão 3 - Analise o programa abaixo. O que o programa vai imprimir na tela? Tente prever o
valor da variável d para saber. Depois modifique o código para conferir sua resposta.
#include<stdio.h>
int main() {
int a=5, b=1, c=0, d;
d = ++a && b-- || c++;
if (d != 0) {
printf("True\n");
}
else {
printf("False\n");
}
return 1;
}
Questão 4 – Faça um programa que lê três números digitados pelo usuário. O programa deve
apresentar os três números em ordem decrescente. Utilize if-else aninhados.
Questão 6 - Crie um programa para determinar se um número, entre 1 e 10, digitado pelo usuário
é par ou ímpar utilizando switch e somente dois breaks.
#include<stdio.h>
int main (){
int a,b;
scanf("%d %d", &a, &b);
if (a>b){
printf("%d\n", a);
}
else {
printf("%d\n", b);
}
return 0;
}
Questão 8 - Laço for - Faça um programa que receba um número inteiro e crie uma pirâmide
como exemplificado abaixo (exemplos recebendo 3, 4 e 5):
Questão 9 - Laço while – Faça um programa que leia um valor inteiro. A seguir, calcule o menor
número de notas possíveis (cédulas) no qual o valor pode ser decomposto usando laços “while”.
As notas consideradas são de 100, 50, 20, 10, 5, 2 e 1.
Questão 10 - Laço do-while - Qual a diferença entre o laço “while” e “do-while”? Faça um
programa que imprima na tela a tabuada de multiplicação dos números de 1 até 10. O programa
deve exibir o resultado das multiplicações de 1x1, 1x2, ... até 1x10, pedir para o usuário
pressionar uma tecla, e recomeçar com 2x1, 2x2, ... até 2x10, pedir novamente para teclar algo e
seguir assim sucessivamente até chegar em 10x10. Use o comando Do-While.
Questão 11 - Laços aninhados – Faça um programa que receba um número inteiro n do usuário e
imprima todos os números primos de 1 a n.