Constantes del lenguaje C (enteros, reales, caracteres, cadenas, constantes simbólicas)

Para las constantes del lenguaje C, este artículo tiene una descripción detallada. Dado que el artículo es demasiado largo, puede consultar el siguiente mapa mental y catálogo, y puede elegir el contenido que necesita leer en el catálogo.

constante directa

1. Constante entera

Las constantes enteras son números enteros, incluidos los enteros positivos, los enteros negativos y el cero. En lenguaje C, las constantes enteras se pueden expresar en decimal, octal y hexadecimal.

Representación decimal:

Consta de números del 0 al 9, signos más y menos, como 369, -663, etc.;

Representación octal:

Con el prefijo 0 (número 0), seguido de los números del 0 al 7, como 0163, 036, etc.; los números octales generalmente son números sin signo. Por ejemplo, 0192 y -011 son constantes octales ilegales.

Representación hexadecimal:

Con el prefijo 0x o 0X, seguido de números del 0 al 9 y letras AF (mayúsculas y minúsculas), como 0x12cd, 0X6Fa, etc. Los números hexadecimales generalmente son números sin signo.

Aviso:
  1. Agregue una letra u o U después de una constante entera, se considera un tipo int sin signo, como 246U.

  1. Agregar una letra l o L después de una constante entera se considera de tipo int largo, como 12L.

2. Constantes reales

Las constantes reales son números reales, también conocidos como tipos de coma flotante. En el lenguaje C, los números reales solo se pueden expresar en forma decimal y hay dos formas de expresar números reales: forma decimal y forma exponencial.

    • forma decimal

Consta de una parte entera, un punto decimal y una parte decimal. Cuando la parte entera o la parte decimal es 0, se puede omitir, pero no se puede omitir el punto decimal. Por ejemplo, 12,345, -0,123, etc. son todos números reales correctos.

    • forma exponencial

Consta de la parte mantisa, la letra E o e y la parte exponente, y el formato es: + (-) mantisa E exponente.

Como 1.23E-2, 3.14E+3, etc., los valores que representan son 1.23 X 10^(-2), 3.14 X10^3 respectivamente.

Aviso
  1. Al representar un número real en forma decimal, debe haber un punto decimal y debe haber números en al menos un lado antes y después del punto decimal.

  1. Al expresar un número real en forma exponencial, debe haber números antes y después de la letra E (o e), y la parte exponencial solo puede ser un número entero. Por ejemplo, 12.-E3, 1.5E y E6 son números reales incorrectos.

En el lenguaje C, la constante real es un número real de tipo doble por defecto. Si se agrega la letra f o F (como 1.65f, 654.87F) después del número, se considera un número real de tipo flotante. .

3. Constantes de caracteres

Una constante de carácter se refiere a un solo carácter, representado por un par de comillas simples y el carácter entre paréntesis. Por ejemplo, 'a', 'B', '=', '$' y '?' son constantes de caracteres legales. En lenguaje C, las constantes de caracteres son las siguientes

Características:
  1. Las constantes de caracteres solo pueden encerrarse entre comillas simples, no entre comillas dobles ni otros corchetes;

  1. Una constante de carácter solo puede ser un carácter, no una cadena.

  1. El carácter puede ser cualquier carácter del juego de caracteres ASCII.

Cuando se utilizan constantes de caracteres, cada carácter ocupa un byte en la memoria para almacenar su valor de código ASCII. Por tanto, las constantes de caracteres en lenguaje C tienen características numéricas y pueden participar en operaciones como números enteros, lo que equivale a operar sobre el código ASCII del carácter.

4. Constantes de cadena

Una constante de cadena es una secuencia de cero o más caracteres encerrados por un par de comillas dobles "", como "HelloWorld".

Se pueden utilizar caracteres de espacio, caracteres de escape y otros caracteres en las cadenas, así como símbolos de texto como los caracteres chinos. Tales como: "china", "Hola Visual C", "\t Visual C", etc. Los caracteres nulos también se pueden utilizar en cadenas, como por ejemplo: "" significa una cadena vacía y no contiene ningún carácter.

1. Las constantes de cadena ocupan una unidad de almacenamiento continua en la memoria y el sistema agrega automáticamente '\0' al final de cada cadena como final de la cadena, por lo que una cadena compuesta de n caracteres se almacena en la memoria. hasta n+1 bytes de espacio.

Puede utilizar el operador sizeof para calcular el tamaño del espacio de memoria ocupado por una cadena.

Por ejemplo, la constante de cadena "Hello\nWor" ocupa 10 bytes de espacio de memoria y el diagrama de almacenamiento es el siguiente:

h

mi

yo

yo

oh

\norte

W.

oh

r

\0

2. La longitud de la cadena es igual al número de caracteres válidos contenidos en la cadena. Por ejemplo, la longitud de "HelloWorld" es 10. En una cadena, si se encuentra '\0' ('\0' es el terminador de la cadena), se considera que la cadena finaliza. Por ejemplo, la longitud de "Hello\0World" es 5. Si hay caracteres de escape en la cadena, un carácter de escape se utiliza como un carácter; por ejemplo, la longitud de "HelloWorld\t" es 11. Puede utilizar la función strlen() para calcular la longitud de la cadena.

Aviso

Las condiciones de almacenamiento de constantes de caracteres y constantes de cadena en la memoria son diferentes. Por ejemplo, '6' ocupa 1 byte en la memoria y almacena su código ASCII, mientras que "6" ocupa 2 bytes en la memoria. Un byte almacena '6' y el otro byte almacena "\0". Puede asignar una constante de carácter a una variable de carácter, pero no puede asignar una constante de cadena a una variable de carácter. En el lenguaje C, dado que no existe una variable de tipo cadena, las cadenas generalmente se resuelven mediante matrices de caracteres.

constante simbólica

En lenguaje C, se puede utilizar un identificador para representar una constante, lo que se denomina constante simbólica. Las constantes simbólicas deben definirse antes de su uso y su forma general es:

#definir valor constante del identificador

Entre ellos, #define es un comando de preprocesamiento de compilación, que se denomina comando de definición de macro, y su función es definir el identificador como un valor constante posterior, y el identificador se denomina constante de símbolo. Un comando #define solo puede definir una constante simbólica. Si desea definir varias constantes simbólicas, debe utilizar varios comandos #define.

El uso de constantes simbólicas puede aportar mucho a la hora de escribir programas.

beneficio:
  1. Aumenta la legibilidad del programa: puedes conocer el significado de la constante a través del identificador, es decir, puedes conocer el significado por su nombre.

  1. Mejore la capacidad de mantenimiento del programa: las constantes simbólicas facilitan la modificación de constantes. Solo necesita modificarlas en la definición de la constante.

  1. Simplifique el código del programa: las constantes simbólicas pueden simplificar la entrada repetida de expresiones complejas.

  1. Definición de matriz conveniente: puede utilizar una constante simbólica entera como longitud de la matriz.

Supongo que te gusta

Origin blog.csdn.net/m0_75115696/article/details/128746130
Recomendado
Clasificación