[Programación C] Introducción al aprendizaje: Introducción al lenguaje C, mapa mental de los puntos de conocimiento de C

Tabla de contenido

1. Mapa mental en lenguaje C

(1) tipo de datos 

(2) Operación 

(3) Estructura de control 

(4) Programación procedimental y modular 

(5) Entrada y salida 

(6) Especificaciones de codificación 

(7) Resolución de problemas

2. Biblioteca estándar de lenguaje C.

3. Proceso de compilación del lenguaje C. 

4. Estándar del lenguaje C 

5. Características del lenguaje C

6. Ventajas del lenguaje C

7. Desventajas del lenguaje C 

8. Aplicación del lenguaje C. 

9. La diferencia entre C y C++ 



1. Mapa mental en lenguaje C


(1) tipo de datos 


(2) Operación 


(3) Estructura de control 


(4) Programación procedimental y modular 


(5) Entrada y salida 


(6) Especificaciones de codificación 


(7) Resolución de problemas



2. Biblioteca estándar de lenguaje C.

La biblioteca de funciones estándar de C tiene un total de 29 archivos de encabezado  



3. Proceso de compilación del lenguaje C. 

  1. Preprocesamiento : el preprocesamiento se utiliza para reemplazar todos los archivos de encabezado #include y definiciones de macros con su contenido real . El resultado después del preprocesamiento sigue siendo un archivo de texto, pero el tamaño del archivo será mucho mayor.
  2. Compilación : aquí la compilación no se refiere al proceso completo de un programa desde el archivo fuente hasta el programa binario, sino al proceso de convertir un programa preprocesado en un código ensamblador específico (código ensamblador) ; una vez completado el proceso de compilación, el Código ensamblador del programa test.s, que también es un archivo de texto.
  3. Ensamblaje (Ensamblar) : El proceso de ensamblaje convierte el código ensamblador del paso anterior en código de máquina . El archivo generado en este paso se llama archivo de destino , que está en formato binario, este paso generará un archivo de destino para cada archivo fuente . entonces mymath.c también es mymath.o necesario generar un archivo.
  4. Vinculación  : el proceso de vinculación vincula múltiples archivos de destino y archivos de biblioteca requeridos (.so, etc.) en el archivo ejecutable final. 



4. Estándar del lenguaje C 

  1. El estándar del lenguaje C se refiere a las especificaciones formuladas por ISO (Organización Internacional de Normalización), que define la sintaxis, la semántica y las funciones de biblioteca del lenguaje C.
  2. El primer estándar de lenguaje C fue creado en 1972 por Dennis Ritchie y Brian Kernighan.
  3. Desde entonces, el estándar del lenguaje C ha sufrido varias actualizaciones y mejoras, y el estándar ANSI C (ANSI/ISO C) se lanzó en 1989.
  4. El último estándar de lenguaje C es ISO/IEC 9899:2018, comúnmente conocido como C18, que se lanzó en 2018.
  5. El propósito del estándar del lenguaje C es garantizar que diferentes compiladores se comporten de manera consistente al procesar el mismo fragmento de código C, promoviendo así la portabilidad y la interoperabilidad del lenguaje C. 


5. Características del lenguaje C

  1. Simple y eficiente : el lenguaje C tiene una sintaxis simple y una curva de aprendizaje baja, lo que permite a los programadores escribir código eficiente rápidamente.

  2. Lenguaje cercano a la máquina : El lenguaje C tiene una buena correspondencia con el lenguaje de máquina subyacente y los programadores pueden controlar directamente los recursos de hardware para lograr una programación eficiente.

  3. Orientado a procesos : el lenguaje C es un lenguaje de programación orientado a procesos que se centra en la secuencia de ejecución, el flujo de control y las llamadas a funciones del programa.

  4. Portabilidad : debido a la estandarización del lenguaje C, el código C escrito se puede trasplantar fácilmente a diferentes plataformas y solo necesita adaptarse a diferentes compiladores y sistemas operativos.

  5. Potente soporte de biblioteca : el lenguaje C tiene una rica biblioteca estándar y bibliotecas de terceros, que proporcionan numerosas funciones y herramientas para facilitar a los programadores el desarrollo de diversas aplicaciones y software del sistema.

  6. Gestión eficiente de la memoria : el lenguaje C permite a los programadores administrar la memoria directamente y asignar y liberar recursos de memoria manualmente, lo que mejora la flexibilidad y el rendimiento del programa.

  7. Amplia aplicación : el lenguaje C se usa ampliamente en software de sistemas, sistemas integrados, controladores, desarrollo de juegos y otros campos. Es un lenguaje de programación universal y poderoso.



6. Ventajas del lenguaje C

  1. Eficiencia : el lenguaje C tiene una sobrecarga baja y una velocidad de ejecución eficiente, y es adecuado para el desarrollo de software de sistemas y aplicaciones que requieren rendimiento.

  2. Portabilidad : debido a la estandarización y el amplio soporte del lenguaje C, los programas en lenguaje C se pueden trasplantar fácilmente a diferentes plataformas para mantener la coherencia del código.

  3. Cerca del hardware : El lenguaje C tiene una buena correspondencia con el lenguaje de máquina subyacente, puede operar directamente recursos de memoria y hardware y tiene una alta flexibilidad y capacidades de control.

  4. Compatibilidad con bibliotecas enriquecidas : el lenguaje C tiene una biblioteca estándar extensa y rica y bibliotecas de terceros, que proporcionan una gran cantidad de funciones y herramientas para facilitar a los programadores el desarrollo rápido de diversas aplicaciones y software del sistema.

  5. Concisión y legibilidad : el lenguaje C tiene una sintaxis y una estructura concisas, que son fáciles de escribir y leer y favorecen el mantenimiento del código y la colaboración en equipo.

  6. Amplia aplicación : el lenguaje C se usa ampliamente en software de sistemas, sistemas integrados, controladores, desarrollo de juegos y otros campos. También se usa ampliamente en informática científica, procesamiento de gráficos, programación de redes, etc.

  7. Valor de aprendizaje : El lenguaje C es un lenguaje de programación estructurado. Aprender el lenguaje C puede cultivar buenos hábitos de programación y habilidades de pensamiento lógico, y sentar una base sólida para seguir aprendiendo otros lenguajes de programación.



7. Desventajas del lenguaje C 

  1. Falta de seguridad : el lenguaje C no tiene un mecanismo de seguridad incorporado. Los programadores deben ser responsables de administrar la memoria y manejar las operaciones del puntero por sí mismos, lo que puede conducir fácilmente a vulnerabilidades de seguridad como desbordamiento de memoria, desbordamiento de búfer y puntero nulo.

  2. Nivel de abstracción más bajo : El lenguaje C es de nivel relativamente bajo y requiere que los programadores operen directamente los recursos de hardware y manejen los detalles, por lo que el desarrollo es relativamente engorroso y la cantidad de código es grande.

  3. Falta de características modernas : en comparación con los lenguajes de programación modernos, como Python, Java, C ++, etc., el lenguaje C carece de algunas características modernas, como recolección de basura, orientación a objetos, etc., y la eficiencia del desarrollo es relativamente baja.

  4. Dificultad en el procesamiento de cadenas : El procesamiento de cadenas en lenguaje C es relativamente engorroso. No hay un tipo de cadena ni una función de operación incorporados. Es necesario utilizar matrices de caracteres y punteros para procesar cadenas, lo que es propenso a errores y redundancia de código.

  5. Soporte de biblioteca estándar insuficiente : aunque el lenguaje C tiene un amplio soporte de biblioteca, la biblioteca estándar es relativamente simple, carece de algunas funciones y herramientas avanzadas y necesita depender de bibliotecas de terceros para su expansión.

  6. Limitaciones de portabilidad : aunque el lenguaje C es portátil, todavía existen algunas características relacionadas con la plataforma y diferencias entre diferentes compiladores, que requieren que los programadores presten atención para lograr un verdadero rendimiento multiplataforma.

  7. Curva de aprendizaje más pronunciada : en comparación con algunos lenguajes de programación más avanzados, la curva de aprendizaje del lenguaje C es más pronunciada. Para los principiantes, se necesita más tiempo y energía para comprender y dominar sus conceptos subyacentes y paradigmas de programación.



8. Aplicación del lenguaje C. 

El lenguaje C se usa ampliamente en varios campos, especialmente en el desarrollo a nivel de sistema y en sistemas integrados, y juega un papel importante en la programación a nivel de sistema y de bajo nivel. A continuación se muestran algunas aplicaciones comunes del lenguaje C:

  1. Sistema operativo : El núcleo de muchos sistemas operativos está escrito en lenguaje C, como UNIX, Linux, Windows, etc.

  2. Sistemas integrados : el lenguaje C juega un papel importante en el desarrollo de sistemas integrados, como dispositivos integrados, microcontroladores, controladores integrados, etc.

  3. Controlador : el lenguaje C se utiliza para desarrollar controladores para dispositivos de hardware, interactuar con el hardware y proporcionar interfaces operativas.

  4. Compilador e intérprete : el compilador y el intérprete del propio lenguaje C (como GCC) también están escritos en lenguaje C.

  5. Programación de red : el lenguaje C proporciona una rica biblioteca de programación de red, lo que lo convierte en un lenguaje popular para desarrollar servidores y aplicaciones de red.

  6. Desarrollo de juegos : muchos motores de juegos y herramientas de desarrollo de juegos utilizan el lenguaje C como desarrollo subyacente para implementar la lógica del juego y la representación de gráficos.

  7. Sistemas de bases de datos : el lenguaje C se utiliza ampliamente en el desarrollo de sistemas de bases de datos para implementar sistemas de gestión de bases de datos (DBMS) y controladores de bases de datos.

  8. Computación científica y análisis numérico : el lenguaje C se utiliza para escribir programas de análisis numérico y computación científica de alto rendimiento, como simulación, emulación y procesamiento de datos.

  9. Máquina virtual e intérprete : El lenguaje C juega un papel clave en el desarrollo de máquinas virtuales e intérpretes, por ejemplo, JVM (Java Virtual Machine) está escrita en lenguaje C.

  10. Herramientas del sistema : el lenguaje C se utiliza para escribir diversas herramientas y aplicaciones del sistema, como editores de texto, herramientas de compilación, depuradores, etc.



9. La diferencia entre C y C++ 

  1. Paradigma de programación : el lenguaje C es un lenguaje de programación orientado a procesos que se centra en la secuencia de ejecución de programas y llamadas a funciones; mientras que el lenguaje C++ es un lenguaje de programación multiparadigma que no solo admite la programación orientada a procesos, sino también la programación orientada a objetos y programación genérica. .

  2. Modelo de objetos : el lenguaje C no tiene soporte integrado orientado a objetos, mientras que el lenguaje C++ proporciona los conceptos de clases y objetos y admite características orientadas a objetos como encapsulación, herencia y polimorfismo.

  3. Verificación de tipos : la verificación de tipos del lenguaje C es relativamente flexible y una menor cantidad de verificación de tipos puede brindar una mayor flexibilidad, mientras que el lenguaje C ++ es relativamente estricto en la verificación de tipos, lo que puede mejorar la seguridad y estabilidad del programa.

  4. Biblioteca estándar : la biblioteca estándar del lenguaje C es relativamente simple y proporciona funciones básicas de entrada, salida y matemáticas; la biblioteca estándar del lenguaje C ++ es más rica e incluye una gran cantidad de bibliotecas de plantillas estándar (STL) y proporciona varios contenedores, algoritmos e iteraciones. Dispositivos, etc.

  5. Manejo de excepciones : el lenguaje C no tiene un mecanismo de manejo de excepciones incorporado y el manejo de errores generalmente depende de la devolución de códigos de error; el lenguaje C ++ admite un mecanismo de manejo de excepciones, que puede manejar y administrar mejor los errores.

  6. Gestión de memoria : el lenguaje C requiere que los programadores administren la memoria manualmente y usen funciones como malloc y libertad para asignar y liberar memoria; mientras que el lenguaje C ++ introduce un mecanismo automático de administración de memoria para administrar automáticamente los recursos a través de constructores y destructores.

  7. Extensibilidad : en comparación con el lenguaje C, el lenguaje C ++ es más rico en sintaxis y características, y proporciona más mecanismos de extensión del lenguaje, como sobrecarga de operadores, sobrecarga de funciones, espacios de nombres, etc., lo que hace que el programa sea más flexible y reutilizable.

  • Cabe señalar que el lenguaje C ++ se expande y desarrolla sobre la base del lenguaje C, por lo que el código del lenguaje C se puede compilar y ejecutar directamente en C ++, y la mayoría de las características del lenguaje C aún son aplicables a C ++. Al mismo tiempo, el lenguaje C++ también puede utilizar bibliotecas y funciones del lenguaje C.
  • En resumen, existen algunas diferencias importantes entre el lenguaje C y el lenguaje C++ en términos de paradigma de programación, modelo de objetos, verificación de tipos, biblioteca estándar y administración de memoria. La elección de qué lenguaje usar depende de los requisitos específicos de la aplicación y el estilo de programación.

Supongo que te gusta

Origin blog.csdn.net/qq_39720249/article/details/131941390
Recomendado
Clasificación