TIPOS DE DADOS
Um tipo de dados na programação C++ representa um conjunto de valores que uma derminada variável ou função pode assumir. A linguagem C++ fornece vários tipos de tipos de dados que permitem ao programador seleccionar o tipo apropriado para cada situação.
O tipo de dados em uma linguagem de programação é a colecta de dados com valores com significado fixo e características. Alguns deles são um número inteiro, ponto flutuante, caracteres etc. Geralmente, as linguagens de programação especificam o intervalo de valores que podem ser atribuídos para um determinado tipo de dados. Além disso o tipo de uma variável determina quanto espaço ela ocupa no armazenamento e como o padrão de bits armazenado é interpretado.
Os tipos de dados C++ são usados para:
- Identificar o tipo de uma variável quando declarada.
- Identificar o tipo do valor de retorno de uma função.
- Identifique o tipo de parâmetro esperado por uma função.
O ANSI C++ fornece três tipos de dados:
- Tipos de dados primitivos (primários): Integer, Character, Boolean, Float, double e Void.
- Tipos de dados derivados: Function, Array, Reference e pointer.
- Tipos de dados definidos pelo utilizador(Class, Structure, Union e Enumeration).
Os dados primitivos são descritos a seguir:
Uma função não possui valor e geralmente é usado para especificar o tipo de função ou o valor de retorno. Se a função tiver um tipo nulo, significa que a função não retornará nenhum valor.
int - Usado para denotar um tipo inteiro.
char - Usado para denotar um tipo de caractere.
float, double - Usado para denotar um tipo de ponto flutuante.
int *, float *, char * - Usado para denotar um tipo de ponteiro.
boolean - Usado para denotar um tipo lógico que pode assumir dois valores 0 e 1.
Os tipos de dados podem ser identificados usando uma palavra chave que pode ser usada durante a declaração de variáveis.
Tipo de dados | palavra chave |
---|---|
Boolean | bool |
Character | char |
Integer | int |
Floating point | float |
Double floating point | double |
Valueless | void |
Wide character | wchar_t |
Os tipos de dados podem ser alterados usando os seguintes modificadores:
- signed
- unsigned
- short
- long
A tabela que segue mostra cada o tipo de dados primitivos, o tamanho o espaço de memória e intervalo de valores que podem assumir
Tipo | Tamanho | intervalo |
---|---|---|
char | 1byte | -127 to 127 or 0 to 255 |
unsigned char | 1byte | 0 to 255 |
signed char | 1byte | -127 to 127 |
int | 4bytes | -2147483648 to 2147483647 |
unsigned int | 4bytes | 0 to 4294967295 |
signed int | 4bytes | -2147483648 to 2147483647 |
short int | 2bytes | -32768 to 32767 |
unsigned short int | 2bytes | 0 to 65,535 |
signed short int | 2bytes | -32768 to 32767 |
long int | 8bytes | -2,147,483,648 to 2,147,483,647 |
signed long int | 8bytes | -2,147,483,648 to 2,147,483,647 |
unsigned long int | 8bytes | 0 to 4,294,967,295 |
long long int | 8bytes | -(2^63) to (2^63)-1 |
unsigned long long int | 8bytes | 0 to 18,446,744,073,709,551,615 |
float | 4bytes | |
double | 8bytes | |
long double | 12bytes | |
wchar_t | 2 or 4 bytes | 1 wide character |
A seguir é apresentado um exemplo de um programa que mostra o tamanho de cada tipo de dados.
#include <iostream>
using namespace std;
int main() {
cout << "Tamanho de char : " << sizeof(char) << endl;
cout << "Tamanho de int : " << sizeof(int) << endl;
cout << "Tamanho de short int : " << sizeof(short int) << endl;
cout << "Tamanho de long int : " << sizeof(long int) << endl;
cout << "Tamanho de float : " << sizeof(float) << endl;
cout << "Tamanho de double : " << sizeof(double) << endl;
cout << "Tamanho de wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
using namespace std;
int main() {
cout << "Tamanho de char : " << sizeof(char) << endl;
cout << "Tamanho de int : " << sizeof(int) << endl;
cout << "Tamanho de short int : " << sizeof(short int) << endl;
cout << "Tamanho de long int : " << sizeof(long int) << endl;
cout << "Tamanho de float : " << sizeof(float) << endl;
cout << "Tamanho de double : " << sizeof(double) << endl;
cout << "Tamanho de wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
Exemplo 01:
Crie um programa que permite calcular a idade de uma pessoa.
#include <iostream>
using namespace std;
int main() {
int idade, ano;
cout << "Digite o seu ano de nascimento: " << endl;
cin >> ano;
idade = 2020 - ano;
cout << " A sua idade e': " << idade;
return 0; }
using namespace std;
int main() {
int idade, ano;
cout << "Digite o seu ano de nascimento: " << endl;
cin >> ano;
idade = 2020 - ano;
cout << " A sua idade e': " << idade;
return 0; }
Exemplo 02:
Lê as dimensões de um rectângulo (base e altura), calcular e escrever a área do rectângulo.
#include <iostream>
using namespace std;
int main() {
float base, h, area;
cout << "Digite o valor da base: " << endl;
cin >> base;
cout << "Digite o valor da altura: " << endl;
area = base*h;
cout << " A area do rectangulo e': " << area;
return 0;
}
using namespace std;
int main() {
float base, h, area;
cout << "Digite o valor da base: " << endl;
cin >> base;
cout << "Digite o valor da altura: " << endl;
area = base*h;
cout << " A area do rectangulo e': " << area;
return 0;
}
Especificações de formato de dados
A documentação mais técnica os chama de "especificadores de conversão", pois o que ocorre na maioria das vezes é, de facto, a conversão de um valor numérico em uma sequência de caracteres que representa aquele valor.%d | - número decimal inteiro (int). Também pode ser usado %i como equivalente a %d. |
%u | - número decimal natural (unsigned int), ou seja, sem sinal. |
%o | - número inteiro representado na base octal. Exemplo: 41367 (corresponde ao decimal 17143). |
%x | Número inteiro representado na base hexadecimal. Exemplo: 42f7 (corresponde ao decimal 17143). Se usarmos %X, as letras serão maiúsculas: 42F7. |
%X | - hexadecimal com letras maiúsculas |
%f | número decimal de ponto flutuante. No caso da função printf, devido às conversões implícitas da linguagem C, serve tanto para float como para double. No caso da função scanf, %f serve para float e %lf serve para double. |
%e | número em notação científica, por exemplo 5.97e-12. Podemos usar %E para exibir o E maiúsculo (5.97E-12). |
%E | - número em notação científica com o "e"maiúsculo |
%g | escolhe automaticamente o mais apropriado entre %f e %e. Novamente, podemos usar %G para escolher entre %f e %E. |
%p | - ponteiro: exibe o endereço de memória do ponteiro em notação hexadecimal. |
%c | - caractere: imprime o caractere que tem o código ASCII correspondente ao valor dado. |
Sequência de caracteres (string, em inglês). Exercícios
Quantos quilómetros o carro faz por litro? Qual o preço do litro do combustível? O processamento do algoritmo deve mostrar: Quantos litros de combustível serão gastos com a viagem. Quanto dinheiro será gasto com combustível. |
https://pt.wikibooks.org/wiki/Programar_em_C/Entrada_e_sa%C3%ADda_simples
https://en.wikipedia.org/wiki/C_data_types
https://www.tutorialspoint.com/cprogramming/c_data_types.htm
https://www.geeksforgeeks.org/data-types-in-c/
https://www.programiz.com/c-programming/c-data-types
0 comentários:
Enviar um comentário