Red de conocimiento informático - Computadora portátil - ¿Cuáles son las diferencias y conexiones entre el lenguaje C y C++?

¿Cuáles son las diferencias y conexiones entre el lenguaje C y C++?

Categoría: Computadora/Red>> Programación>> Otros Lenguajes de Programación

Análisis:

La diferencia entre C y C++

C Es un lenguaje estructurado, como dijo el Sr. Tan: se centra en algoritmos y estructuras de datos. La consideración principal en el diseño de un programa C es cómo calcular la entrada (o las condiciones ambientales) a través de un proceso para obtener la salida (o implementar el control del proceso (transacción)), mientras que para C++, la consideración principal es cómo construir un programa. modelo de objeto para que Este modelo pueda adaptarse al dominio del problema correspondiente, de modo que se pueda lograr el control de salida o proceso (transacción) obteniendo la información de estado del objeto.

Entonces, la mayor diferencia entre C y C++ radica en sus diferentes métodos de pensamiento para resolver problemas. La razón por la que C++ es más avanzado que C es porque "el concepto de diseño se ha integrado en C++" y, en lo que respecta al lenguaje en sí, C es más un concepto de algoritmo. Entonces no importa si es C o no, ¡mal! Los algoritmos son la base de la programación. Un buen diseño no funcionará sin buenos algoritmos. Además, "C más buen diseño" también puede escribir cosas muy buenas.

En cuanto al lenguaje en sí, C es un subconjunto de C++, entonces, ¿qué tipo de subconjunto es? Como se puede ver en lo anterior, C implementa el control de procedimientos y otras funciones relacionadas en C ++, y el C en C ++ (yo lo llamo "C +") se ha mejorado en comparación con el C original y se ha introducido la sobrecarga. Funciones en línea. , manejo de excepciones y otras cosas, C ++ ha ampliado el contenido del diseño orientado a objetos, como clases, herencia, funciones virtuales, plantillas y clases de contenedores, etc.

Para mejorar un poco, en C++, la encapsulación y los tipos de datos no son nada nuevo. Lo que se debe considerar son: selección de granularidad de objetos, diseño y herencia de interfaces de objetos, combinación y problemas de herencia. como uso.

Entonces, en comparación con C, C++ contiene un concepto más rico de "diseño", pero C es un subconjunto autoconsistente de C++ y también tiene funciones poderosas y también vale la pena aprenderlo.

Algunas sugerencias de estudio:

1. Los conceptos básicos son importantes. Ya sea que aprendas C o C ++, los conceptos básicos son lo primero y son relativamente difíciles. Sin embargo, solo dominando los conceptos básicos podremos comprender el contexto general y ser condescendientes.

2. C es un subconjunto de C++. Sus conceptos básicos y métodos de diseño son relativamente fáciles de entender y los principiantes pueden comenzar con él.

3. Si desea aprender bien C ++, se recomienda que los principiantes no escriban programas en plataformas como VC y BCB. La generación de código automatizada y la interfaz colorida lo harán sentir perdido. Es mejor encontrar un espacio abierto (Unix, Dos), comenzar desde cero, escribir algunos programas más grandes, pasar por varias rondas y luego ir a VC o BCB para echar un vistazo, estará muy relajado. En mi opinión, aprender bien C/C++ es la única forma de convertirse en un maestro de VC y BCB.

4. No espere una solución rápida, debe desenterrarla byte a byte e intentar resolver cada problema tanto como sea posible.

5. Varios buenos libros:

La "Computer Science Series" de Machinery Industry Press cubre todo, desde C hasta C++ hasta el diseño orientado a objetos. Es un clásico entre los clásicos y el precio es razonable. no se dejen engañar.

Hay varios libros buenos en China. El libro del Sr. Tan es bueno, pero tiene demasiados errores de programa. Recomiendo encarecidamente "Ingeniería de software moderna" (Partes 1, 2 y 2) de Zhou Zhiying de la Universidad de Tsinghua. Es uno de los pocos buenos libros que he visto en China. Dongdong está al nivel de Eighteen Dragon Subduing Palms.

Si todavía hay personas que quieren aprender C/C++, estaré encantado de responder algunas pequeñas preguntas. Pero creo que aprender C/C++ no es importante, lo importante es cómo ejercitarlo. No busques Creo que aunque se sospecha que el camarada "Tan Haoqiang" hace trampa con dinero (tengo un libro en inglés casi idéntico a mano), es él. La introducción de este manual de introducción a China ha permitido a innumerables programadores comprender el C. Creo que su contribución también es indeleble. Todos los ejemplos de este libro "Programación en lenguaje C" se pueden utilizar como piedra angular de las ideas de capacitación. Creo que vale la pena comprarlos. Después de la clase, será muy útil para tu programación. No subestimes los ejemplos simples, son tu camino hacia el éxito.

Una vez que hayas dominado básicamente los ejemplos del libro anterior, debes encontrar algunos ejemplos. Es posible que no los comprenda al principio, pero siempre que trabaje duro, no habrá ningún problema. Después de ver algunos ejemplos más amplios, se iluminará (leer muchos programas de ejemplo es un atajo). para aprender C/C++). Encontrará que su nivel ha mejorado significativamente. Cuanto más ejemplos vea, mejor será su comprensión de C/C++. Cuanto más sepa sobre Windows/DOS, es mejor leer algunos libros. sobre el conocimiento del sistema. Será de gran ayuda para tu programación.

Esta es mi experiencia aprendiendo C/C++, espero que sea útil para los amigos que no me tienen miedo y quieren seguir aprendiendo C/. C++. No sea que algunos camaradas digan que socavo el desarrollo de los talentos del software chino.

Al final, les deseo éxito a todos aquellos que insisten en aprender C/C++, ¡al mismo tiempo, me gustaría! para agradecer a los camaradas que leyeron mi artículo

Si quieres aprender bien C ++, ¡debes aprender C! ! !

Estoy tan seguro de decir esto aquí hoy porque no quiero que los principiantes caigan en el malentendido de que cuanto más nuevo sea el lenguaje, mejor. Originalmente, este tema no es muy riguroso, pero tengo una. pocas palabras que debo decir, para C ***! !

¿Cuál es la diferencia entre C++ y C? Analicemos ahora paso a paso

1. Clases No digo que las clases tengan nada de malo, pero para los principiantes son una carga. La encapsulación de clases hace que los principiantes se cansen del programa, se sientan incómodos y problemáticos.

2. Las citas son lo más apestoso en C++. Es mejor no usarlas tanto como sea posible. Nunca las uso a menos que sea necesario. Es más probable que las referencias causen confusión a los principiantes, que no saben cuál es una referencia y cuál es una variable.

3. Sobrecarga de funciones. Parece que no hay ningún daño en que los principiantes aprendan la sobrecarga de funciones. Sin embargo, esto hará que los principiantes diluyan inconscientemente la importancia de los tipos de variables en el lenguaje C. Recuerde que el lenguaje C es el más sensible a las variables. tipos, y la importancia de los tipos de variables en el lenguaje C es evidente.

4. El operador de flujo, por la misma razón que el anterior, diluye la importancia de los tipos de variables. Además, cin es un poco inconveniente y, a veces, produce resultados que confunden a los principiantes.

5. La sobrecarga de operadores, una aplicación avanzada típica, puede que los principiantes no la utilicen en absoluto. Esto les hará sentir que C ++ es difícil, el umbral es alto y no pueden entenderlo.

6. La herencia y las funciones virtuales son imitaciones típicas. Este tipo de tonterías parece esotérica pero tiene un valor práctico muy bajo... ¿Cómo puedo apuntar el puntero de tipo de una determinada clase a otra clase de diferente tipo pero con una relación de herencia para lograr la vinculación dinámica…………

………………todavía no comentaré? en algunas cosas, como: operadores nuevos, eliminar, etc...

7. Malentendido: En forma de pregunta y respuesta:

Pregunta: C++ está orientado a objetos y C es procesal?

Respuesta: La segunda respuesta es correcta, la primera pregunta es incorrecta. C ++ no está completamente orientado a objetos. Me temo que solo Java puede considerarse un lenguaje verdaderamente orientado a objetos.

Pregunta: ¿Puede C++ lograr funciones que C no puede?

Respuesta: Al menos no lo he encontrado todavía...

Pregunta: ¿Hay algún obstáculo para aprender C++ después de aprender C? Por ejemplo, programar el pensamiento...

Respuesta: Al menos no he visto a nadie con este síntoma.

Pregunta: ¿Tengo que empezar de nuevo si aprendo C++ después de aprender C?

Respuesta: No, todas las funciones del lenguaje C se pueden realizar en C++.

Pregunta: Después de terminar de aprender C, ¿tengo que aprender C++ antes de poder programar?

Respuesta: Absolutamente no es necesario.

Pregunta: ¿Cómo es C++ mejor que C?

Respuesta: Más en línea con la ingeniería de software.

Pregunta: ¿Es fácil aprender C++ después de aprender C?

Respuesta: Depende de si realmente terminaste de aprender el lenguaje C. De C a C ++, solo leí algunos libros antes de acostarme durante una semana y luego lo entendí completamente. Ven aquí y vuelve a publicar algunos artículos de mierda.

Recientemente he visto los métodos de aprendizaje de muchas personas en Internet y no estoy de acuerdo con ellos. Mucha gente quiere hacer una fortuna de un bocado y quiere aprender los últimos lenguajes de programación. Parece que nadie está dispuesto a aprender esos lenguajes de programación antiguos y antiguos. ¿Pero puedes aprenderlo? Sin aprender esos excelentes lenguajes de programación anteriores, como TC2.0, ¿puedes entender VC6.0? Si realmente puedes, ¡preferiría ser tu aprendiz! Es realmente extraño, ¿cómo pueden las personas que no entienden los lenguajes más básicos entender los últimos lenguajes de programación? Llevo tres años aprendiendo programación. Mis notas no son muchas, solo tengo un Certificado de Informática Nivel 4 y un Certificado de Altitud, pero siento que todavía hay muchas cosas que no entiendo cuando estudiaba VC. No hay nadie que me enseñe, sólo puedo confiar en mí mismo, incluidas todas mis calificaciones, nunca me inscribo en clases. Después de estudiar VC durante más de medio año, creo que básicamente he comenzado, pero todavía tengo mucha confusión. Cuando comencé a aprender VC, me enfrenté a un proyecto. Realmente estaba como un tonto. Estaba asustado y no tenía ni idea. Al final, logré hacer algo al respecto. Después de aprender bien VC, podrá aprender otra programación avanzada de WINDOWS. Creo que es realmente fácil. Después de todo, VC puede llamar directamente a muchas cosas dentro de WINDOWS. Primero puede tener una nueva comprensión de WINDOWS y luego aprender otros idiomas. ¿Puede ser sencillo?

Mi sensación es que la orientación a procesos y la orientación a objetos son realmente muy importantes. En VC, todavía necesitamos estar orientados a procesos. Muchas cosas están interconectadas una tras otra. ¿Podemos hacerlo? ¿Quizás programando? Se recomienda leer más libros sobre programación en WINDOWS, ¡pero la mayoría son libros antiguos! Todavía recuerdo el arduo trabajo de programar TC durante todo el día, pero todavía extraño el trabajo y la dedicación. Después de todo, obtuve todo lo que quería: ideas de programación. Creo que una buena idea de programación es definitivamente más importante que aprender un lenguaje informático. Para formar tu propio estilo de programación. Una vez que tengas una buena idea de programación en tu mente, será fácil aprender cualquier idioma, porque en este momento ya no estás simplemente aprendiendo, ¡sino verificando!