Explicación detallada de los caracteres de escape en lenguaje C

Explicación detallada de los caracteres de escape en lenguaje C

Introducción

Caracteres, generalmente después de escribir en el teclado, los caracteres directamente visualizables se convierten en caracteres visualizables .
Sin embargo, hay algunos caracteres que no tienen una tecla correspondiente en el teclado. La mayoría de estos caracteres están diseñados para el control y se denominan caracteres de control. Si desea escribir caracteres de control, debe utilizar caracteres de escape. Es utilizar caracteres que comiencen con "\".

Personaje de escape

En el lenguaje C, no hay muchos tipos de caracteres de escape, y probablemente haya estos:

  • \ a → campana

  • \ f → cambiar página

  • \ n → nueva línea

  • \ 0 → fin de cadena

  • \ r → retorno de carro (volver al principio de la línea actual)

  • \ b → retroceso

  • \ t → Pestaña horizontal

  • \ v → pestaña vertical

No hay nada que decir sobre los primeros. Vale la pena mencionar que el significado de \ b es retroceso, lo que significa mover el cursor a la unidad anterior . Por ejemplo printf("123\b45");, imprimirá 1245 después de él, pero printf("12345\b");seguirá imprimiendo 12345 a la vez. Porque \ b solo mueve el cursor desde atrás 3 Se movió al frente de 3, después de la primera función de salida, y luego se imprimió 45, 3 se sobrescribió, por lo que parece eliminado, pero cuando \ b se coloca al final, porque solo después de mover el cursor No se hizo nada y parece que no se eliminó. Por ejemplo, el siguiente código:

 char a = 'a', b = 'b', c = 'c';
 printf("%c %c %c\n",a,b,c);
 printf("%c%c\b%c\n",a,b,c);
 printf("%c%c%c\b\n", a, b, c);
 printf("123\b45");

Los resultados de la operación son los siguientes:
alt
y el siguiente \ v es una pestaña vertical, lo que significa que la entrada está alineada con la posición del texto después del salto de línea. Como una mesa. Pero es inútil en la ventana de la línea de comandos, generalmente solo se usa para editar texto. \ t es una pestaña horizontal, que se expresa como presionar una pestaña, al igual que un espacio largo; de hecho, en el texto, el espacio también se considera un carácter, y la tecla de tabulación es el espacio que normalmente entendemos.

Imprimir caracteres de transferencia

Cuando escribimos código, podemos encontrar algunas situaciones en las que originalmente no queríamos usar caracteres de escape, pero el sistema los reconoce como caracteres de escape; por ejemplo, queremos imprimir: D: \ data \ text \ main.c en este momento encontraremos La impresión se convertirá en D: data extmain.c. En este momento, debe agregar una barra invertida adicional para imprimir una barra. De manera similar, si queremos imprimir caracteres de escape, debemos escribir una barra invertida adicional. Por ejemplo, si queremos imprimir \ n, necesitamos Ingrese \ n. En este momento, las dos primeras barras invertidas se considerarán que imprimen un carácter de barra invertida y no se asociarán con los siguientes caracteres para formar un carácter de escape. Entonces nuestro código debería cambiarse a:
`printf (" D: \ data \ text \ main.c "); La
salida es la siguiente:
Inserte la descripción de la imagen aquí

Otros personajes de escape

En el lenguaje C, todos los caracteres se pueden representar mediante "+ valor del código ASCII".

  • '\ x' + número hexadecimal dd
  • '\' + número octal ddd

Donde dd es el número de bits que se pueden usar, si se excede causará un error al imprimir caracteres, como el código ASCII es un 97, se puede usar:
printf ("\ X61");
printf ("\ 141 es");
imprime los resultados de la siguiente manera :

Inserte la descripción de la imagen aquíCabe señalar aquí que no se pueden ingresar números decimales, y no todos los números octales o hexadecimales se pueden convertir en un carácter de esta manera. Porque el valor del código ASCII que conocemos está representado por decimal. Pero algunos números octales o hexadecimales tendrán una parte decimal cuando se conviertan a números decimales. Estos números octales y números hexadecimales no se pueden convertir en caracteres.

Supongo que te gusta

Origin blog.csdn.net/sy1227081317/article/details/109316558
Recomendado
Clasificación