Tipos de dados básicos em C
- 24-07-2022
- Toanngo92
- 0 Comments
No artigo anterior, aprendemos como as variáveis armazenam valores em computadores e a sintaxe para declaração de variáveis, neste artigo abordaremos os tipos de dados na linguagem C, relembrando o conhecimento de Na lição anterior, entendemos que ao declarar um dado type para uma variável armazenar, o computador nos alocará automaticamente um local de memória ( memory address ) com um tamanho especificado ( memory size ) apenas o suficiente para armazenar o tipo de dados que desejamos. E como a linguagem de programação C requer uma sintaxe estrita, você não pode atribuir um valor desse tipo de dados a uma variável de outro tipo de dados, uma vez que você declara qualquer tipo de dados para a variável, você só pode atribuir um valor. variável.
Mục lục
Palavras-chave (palavras-chave) na declaração de variável C
Se você não entender o conceito de palavras-chave, você pode reler o artigo Estrutura do programa C, lista de palavras-chave (palavras-chave) em linguagem C para entender o conceito novamente. Aqui, falamos sobre as palavras-chave para determinar o tipo de dados da variável ao declarar a variável. Ao declarar uma variável, é necessário certificar-se de que o nome da variável não pode ter a mesma palavra-chave (o nome da variável pode conter palavras-chave, mas não pode ser idêntico, por exemplo:
int int; // lỗi int intNum; // không lỗi
Lista de tipos de dados básicos em C
Tipos comuns de dados armazenados em variáveis incluem:
- Dados numéricos
- Inteiro. Exemplo (6 ou -5)
- Número real. Exemplo (5,20 ou 7,234)
- Números positivos
- Números negativos
- Dados de texto (por exemplo, "abcde" , "estou tentando")
- Dados lógicos (verdadeiro/falso)
Quando os dados são armazenados em variáveis de diferentes tipos de dados, eles requerem diferentes quantidades de memória. A quantidade de memória atribuída a uma variável depende do tipo de dados da variável (semelhante a outras linguagens de programação). Sintaxe em C ao usar tipos de dados:
data_type variable_name //kiểudữliệu tên_biến data_type function_name(){ // do something here // kiểudữliệu tên_hàm }
Na linguagem C, existem 5 tipos básicos de dados:
int – tipo de dados inteiro, usado para representar inteiros na natureza (abreviado interger ), ocupa 2 bytes de memória. (Exemplo 5 ou 100 ou 10000)
float, double – tipo de dados de número real, representando quantidades decimais como em matemática, tipo float ocupa 4 bytes e pode representar 6 números após decimal (por exemplo, 5,999999), e tipo double ocupa 8 bytes de área de memória, representando 10 dígitos após decimal
char – tipo de dado de caractere, ocupa 1 byte de memória representando caracteres únicos ( 'A','a','B','1','2' …). Observe que o caractere '1' é diferente do inteiro 1
void – tipo de dados usado para declaração de função (não usado para declaração de variável), usado para declarar uma função que não retorna um valor. Será mencionado no conceito de funções.
Tipo de dados derivados
Um modificador usado para combinar com tipos de dados numéricos básicos para atender a diferentes situações (reduzir o tamanho da memória, aumentar o tamanho da memória, aumentar a representação de variáveis), ajudar a tornar o programa mais otimizado, economizar memória do sistema ou representar números maiores do que as variáveis de tipo de dados normais podem representar. (Será mencionado no exemplo abaixo)
sinal – tipo de dados com sinal
unsigned – tipo de dados não assinado
long – aloca duas vezes o tamanho da memória do tipo de dados
short – aloca metade do tamanho da memória do tipo de dados
Sintaxe da declaração:
sign int a; // khai báo biến integer a có dấu unsign int b; // khai báo biến interer b không dấu short float c; // khai báo biến float nhưng cấp phát 1 nửa kích thước vùng nhớ => 2 bytes unsign long double d; // khai báo biến double nhưng cấp phát gấp đôi kích thước vùng nhớ => 16 bytes và biểu diễn số thực không dấu
Então por que cada tipo de dado ocupa uma quantidade diferente de memória, para entender melhor esse problema, entendemos mais ou menos da seguinte forma, em termos de computadores, computadores são projetados a partir de componentes eletrônicos, incluindo componentes eletrônicos. dados, e interpreta apenas 0,1 como o equivalente à corrente de comutação em equipamentos eletrônicos. Assim, para representar qualquer tipo de dado, o computador eventualmente o converte em binário. Portanto, todo número, todo caractere ou string de caracteres quando colocado em linguagem de máquina para executá-lo também será convertido para o valor 0 e 1. Se você quiser aprender mais sobre a representação, leia mais artigos escreva Representação inteira em operações binárias e binárias .
Por exemplo, o número 31 quando representado em binário será 11111, com tipo de dados int , serão alocados 2 bytes, equivalente a 16 bits e armazenar a seguinte sequência de números na memória RAM: 00000000011111 (o zero inicial). o sinal de quantidade para determinar se o inteiro é positivo ou negativo)
(000011111)₂ = (0 × 2⁸) + (0 × 2⁷) + (0 × 2⁶) + (0 × 2⁵) + (1 × 2⁴) + (1 × 2³) + (1 × 2²) + (1 × 2¹) + (1 × 2⁰) = (31)₁₀
Assim, com um inteiro regular, ele só pode representar o maior número 32767 (0111111111111111) e o menor é -32767( 0111111111111111)
Quanto ao caractere ( char ), será alocado 1 byte equivalente a 8 bits, que é um conjunto de caracteres na codificação ASCII (American Information Interchange Code Standard), cada um desses caracteres pode ser representado completamente nos números do formulário e podemos corresponder diretamente na tabela de códigos. Por exemplo, para o caractere 'A', o código ascii decimal é 65 , armazene a seguinte sequência na RAM: 01000001.
Semelhante a float e double , mas esses dois tipos de dados são bastante complicados de representar, então não os mencionei aqui, e vemos que quanto mais complexo o tipo de dados, mais memória é necessária para a memória.
Tabela de exemplo que descreve microdados variáveis
Tipos de dados | Tamanho da memória (em bits) | Faixa de desempenho |
---|---|---|
Caracteres | 8 | -128 -> 127 (código ASCII) |
não assinado | 8 | 0 -> 255 |
caractere assinado | 8 | -128 -> 127 (código ASCII) |
int | 16 | -32.678 -> 32.767 |
não assinado | 16 | 0 -> 65,535 |
assinado int | 16 | -32.678 -> 32.767 |
int curto | 8 | -128 -> 127 |
int longo | 32 | -2.147.483.648 -> 2.147.483.647 |
Exemplo de declaração de variável básica:
/* khai bao thu vien chuan */ #include<stdio.h> #include<stdlib.> /* end khai bao thu vien chuan */ int main() { // khai bao bien so nguyen int songuyen; // gan gia tri cho so nguyen bang 5 songuyen = 5; // khai bao va gan luon gia tri cho so nguyen int songuyencach2 = 6; // khai bao bien c la ki tu va gan bang ky tu 'A'; char c = 'A'; // khai bao bien so thuc va gan gia tri bang 5.1 float sothuc = 5.1; }
Sobre a função sizeof()
A função sizeof é uma função interna da linguagem de programação c, usada para medir o tamanho do tipo de dado, o valor de retorno da função será um inteiro, representando o tamanho do tipo de dado que verificamos.
A sintaxe da função sizeof:
#include stdio.h #include stdlib.h int main(){ int a; a = sizeof(int); printf("%d",a); return 0; } // kết quả in ra trả về 2 với hệ 16 bit, 4 với hệ 32 và 64bit
Introdução à função printf()
A função printf é uma função no sistema de entrada e saída da linguagem C, esta é uma função clássica, muitas vezes usada para imprimir dados de variáveis para a tela através do especificador de formato . Falaremos mais profundamente na entrada do artigo, na saída. Neste artigo, darei um exemplo de como usar a função printf básica e os formatadores para que todos possam entender o problema.
A sintaxe da função printf() :
printf("%d",a); // in biến a dưới dạng só nguyên (decimal) printf("%f",b) // in biến dưới dạng số thực (float) printf("%c",c) // in biến dưới dạng ký tự (character)
Exemplo de uma combinação de declaração de variável e função printf() para imprimir resultados de variáveis na tela
#include<stdio.h> #include<stdio.h> int main() { // khai bao bien so nguyen int songuyen; // gan gia tri cho so nguyen bang 5 songuyen = 5; // khai bao va gan luon gia tri cho so nguyen int songuyencach2 = 6; // khai bao bien kytu la ki tu va gan bang ky tu 'A'; char kytu = 'A'; // khai bao bien so thuc va gan gia tri bang 5.1 float sothuc = 5.1; printf("%d,%d,%c,%f",songuyen,songuyencach2,kytu,sothuc); }