Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Entendendo Constantes e Literais em C: Tipos, Uso e Boas Práticas

Constantes referem-se a valores fixos que o programa não pode alterar durante sua execução. Esses valores fixos também são chamados de literais.

Constantes podem ser de qualquer um dos tipos de dados básicos como uma constante inteira, uma constante de ponto flutuante, uma constante de caractere, ou um literal de string. Existem também constantes de enumeração.

Constantes são tratadas como variáveis regulares, exceto que seus valores não podem ser modificados após sua definição.

Literais Inteiros

Um literal inteiro pode ser uma constante decimal, octal ou hexadecimal. Um prefixo especifica a base ou radix: 0x ou 0X para hexadecimal, 0 para octal, e nada para decimal.

Um literal inteiro também pode ter um sufixo que é uma combinação de U e L, para unsigned e long, respectivamente. O sufixo pode ser maiúsculo ou minúsculo e pode estar em qualquer ordem.

Aqui estão alguns exemplos de literais inteiros:

212 /* Legal */
215u /* Legal */
0xFeeL /* Legal */
078 /* Ilegal: 8 não é um dígito octal */
032UU /* Ilegal: não pode repetir um sufixo */

Seguem outros exemplos de vários tipos de literais inteiros:

85 /* decimal */
0213 /* octal */
0x4b /* hexadecimal */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */

Literais de Ponto Flutuante

Um literal de ponto flutuante tem uma parte inteira, um ponto decimal, uma parte fracionária e uma parte de expoente. Você pode representar literais de ponto flutuante na forma decimal ou exponencial.

Ao representar na forma decimal, você deve incluir o ponto decimal, o expoente, ou ambos; e ao representar na forma exponencial, você deve incluir a parte inteira, a parte fracionária, ou ambas. O expoente assinado é introduzido por e ou E.

Aqui estão alguns exemplos de literais de ponto flutuante:

3.14159 /* Legal */
314159E-5L /* Legal */
510E /* Ilegal: expoente incompleto */
210f /* Ilegal: sem decimal ou expoente */
.e55 /* Ilegal: inteiro ou fração ausente */

Constantes de Caractere

Literais de caractere são delimitados por aspas simples, por exemplo, 'x' pode ser armazenado em uma variável simples do tipo char.

Um literal de caractere pode ser um caractere simples (ex: 'x'), uma sequência de escape (ex: '\t'), ou um caractere universal (ex: '\u02C0').

Existem certos caracteres em C que representam significado especial quando precedidos por uma barra invertida, por exemplo, nova linha (\n) ou tab (\t).

O exemplo a seguir mostra algumas sequências de escape:

Live Demo
#include <stdio.h>
int main() {
    printf("Hello\tWorld\n\n");
    return 0;
}

Quando o código acima é compilado e executado, produz o seguinte resultado:

Hello World

Literais de String

Literais de string ou constantes são delimitados por aspas duplas "". Uma string contém caracteres semelhantes a literais de caractere: caracteres simples, sequências de escape e caracteres universais.

Você pode quebrar uma linha longa em várias linhas usando literais de string e separando-os usando espaços em branco.

Aqui estão alguns exemplos de literais de string. Todas as três formas são strings idênticas.

"hello, dear"
"hello, \ dear"
"hello, " "d" "ear"

Definindo Constantes

Existem duas maneiras simples em C para definir constantes:

O Pré-processador #define

Abaixo está a forma de usar o pré-processador #define para definir uma constante:

#define identifier value

O exemplo a seguir explica em detalhes:

Live Demo
#include <stdio.h>
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main() {
    int area;
    area = LENGTH * WIDTH;
    printf("valor da área : %d", area);
    printf("%c", NEWLINE);
    return 0;
}

Quando o código acima é compilado e executado, produz o seguinte resultado:

valor da área : 50

A Palavra-chave const

Você pode usar o prefixo const para declarar constantes com um tipo específico da seguinte forma:

const type variable = value;

O exemplo a seguir explica em detalhes:

Live Demo
#include <stdio.h>
int main() {
    const int LENGTH = 10;
    const int WIDTH = 5;
    const char NEWLINE = '\n';
    int area;
    area = LENGTH * WIDTH;
    printf("valor da área : %d", area);
    printf("%c", NEWLINE);
    return 0;
}

Quando o código acima é compilado e executado, produz o seguinte resultado:

valor da área : 50

Note que é uma boa prática de programação definir constantes em MAIÚSCULAS.

Linguagem C

  1. Resumo Abrangente de Resistores, Indutores e Capacitores em Circuitos AC
  2. Entendendo Palavras-chave e Identificadores em C#: Regras, Listas e Boas Práticas
  3. Classes e Objetos em C#: Fundamentos para POO Robusta
  4. Dominando Classes e Métodos Abstratos em C#: Guia Prático
  5. Entendendo Classes e Métodos Parciais em C#
  6. Dominando Classes e Métodos Sealed em C#: Quando Usar, Exemplos Claros e Segurança de Código
  7. Dominando Variáveis, Literais e Constantes em C++: Guia Completo
  8. Palavras-chave e Identificadores em C: Um Guia Prático
  9. Variáveis, Constantes e Literais em C: Um Guia Completo
  10. Variáveis, Tipos de Dados e Constantes em C – Guia Prático