Red de conocimiento informático - Problemas con los teléfonos móviles - Preguntas sobre programación en vc++

Preguntas sobre programación en vc++

Una forma de empezar con VC

Primero que nada, déjame decirte que no soy un experto, acabo de salir de la pobreza. Debido a que tuve mucha suerte, compré algunos buenos libros. Casi no hice desvíos durante el proceso de aprendizaje. Comencé sin mucho esfuerzo. Ahora puedo manejar pequeños programas comunes. Veo amigos que están luchando porque no saben por dónde empezar y espero que mi artículo pueda brindarles ayuda.

No hay prisa por aprender a programar. Si intentas aprender VC, definitivamente te meterás en problemas. Esta es la razón por la que VC es tan difícil. Si te lo tomas con fuerza y ​​tienes una voluntad fuerte, es posible que puedas sobrevivir, pero también te faltará resistencia y tendrás que volver atrás y aprender lo básico. Si no tiene una voluntad fuerte, es probable que se dé por vencido y deje una impresión que es poco común en los capitalistas de riesgo. De hecho, VC es muy sencillo siempre que lo sigas paso a paso. Déjame decirte que si todavía eres un estudiante de secundaria, entonces deberías pensarlo detenidamente. En primer lugar, limitado a su conocimiento y capacidad de pensamiento, aprender el lenguaje C no debería ser un problema, pero aprender VC requiere un esfuerzo considerable. Además, lo que aprenda ahora definitivamente quedará desactualizado en el futuro, por lo que es mejor centrarse en la investigación de algoritmos. Después de todo, estas cosas nunca estarán desactualizadas.

Creo que si tomas el camino correcto y comienzas con VC, unas vacaciones de verano deberían ser suficientes.

Aunque aprender VC no es tan difícil como dice la leyenda, es imposible aprender sin mucho trabajo. Antes de aprender VC, debes asegurarte de aprender VC porque te encanta programar, no para presumir ni nada más. De lo contrario, me temo que no podrás aguantar hasta el día de la victoria.

Para los estudiantes que están expuestos a la programación por primera vez, sugiero que lo mejor es aprender Quick BASIC (está disponible en DOS, es QBASIC. y los conocimientos más básicos como DO. ..BUCLE PARA...SIGUIENTE. Puede calcular factoriales y encontrar integrales. La clave es comprender cómo la computadora ejecuta comandos y tener una comprensión perceptiva de la programación. Si tiene confianza en sí mismo, también puede aprender C++ directamente y no debería costarle demasiado. Sin embargo, creo que debido a que hay mucha información PARA VB, y VB Script se usa comúnmente en programación web, es probable que uses VB en el futuro, por lo que saber algo de BÁSICO será útil en el futuro. Y si sólo desea calcular un pequeño problema, es mucho más conveniente utilizar QB que VC, VB y similares. (Deberías poder hacerlo si encuentras a alguien que te enseñe en uno o dos días).

Después de eso, sugerí buscar un libro sobre la Olimpiada de Informática en la escuela media y secundaria (un poco extraño). , tal vez). Estos libros explican algoritmos básicos, pero están escritos de una manera relativamente sencilla, no requieren conocimientos matemáticos avanzados y son fáciles de entender. Estas cosas se explican de manera sistemática y rigurosa en el curso de estructura de datos, por lo que puede esperar para aprenderlas más tarde. Pero creo que escribir algunos programas pequeños e implementar algunos algoritmos de uso común en esta etapa es un buen ejercicio para mi pensamiento y será de gran beneficio para mis estudios futuros. Creo que si puedes ordenarlas, encontrar ocho reinas, calcular una Torre de Hanoi y conocer la profundidad y la amplitud de la primera búsqueda, será suficiente.

Si ya tienes algunos conocimientos básicos de programación, naturalmente puedes saltarte los dos pasos anteriores.

Una vez que tenga cierta comprensión de la programación, debe comenzar a ingresar a C ++. Tenga en cuenta que es C ++ y no VC. ¡No compre VC para comenzar! Definitivamente no lo entenderás. ¡Entiende! C++ es un lenguaje y el tutorial de VC explica cómo utilizar la biblioteca de clases MFC. El aprendizaje de VC debe basarse en una comprensión completa de C++.

Siento que, en comparación con muchas enciclopedias y manuales coloridos, es mejor comprar los tutoriales de C++ de esta universidad (nota: no compre los tutoriales para los exámenes de grado, que deberían probarse la mayoría). Los tutoriales se han moderado repetidamente, son relativamente sistemáticos, muy valiosos y no demasiado caros. Aquí recomiendo encarecidamente un "Tutorial de programación en C ++" publicado por Tsinghua University Press. La portada es roja y la contraportada es amarilla. Parece muy simple. El editor en jefe es Qian Neng. Este libro es más que digno de elogio y también es barato (39,5 yuanes). Este libro no solo le explica la gramática, sino que también le explica por qué la gramática está estipulada de esta manera. Después de leerlo, sentirá que muchas reglas se dan por sentadas y no es necesario que se moleste en memorizarlas. Sólo que no es aburrido, pero te dará una sensación de belleza. El libro también contiene muchas cuestiones a las que se debe prestar atención en la programación real, lo cual es muy valioso.

Este libro también viene con una "Guía Experimental" y una "Colección de Ejercicios", pero probablemente sea de poca utilidad para personas con cierta experiencia en programación, así que no lo compré. Además de este libro, recomiendo comprar otro libro sobre el lenguaje C tradicional, centrándose en los siguientes aspectos: preprocesamiento de compilación, uso de typedef, operaciones de bits y uso de funciones de biblioteca estándar (es mejor tener una lista más detallada). Fácil de comprobar durante el uso).

La plantilla de clase estándar de C++ es algo bueno, pero no es útil para aprender MFC. La razón es que MFC está demasiado atrasado (^_^). Puedes dejarlo a un lado primero. ¿Quieres aprender MFC y terminarlo? Tomar una decisión más tarde. Aunque no he aprendido mucho al respecto, creo que es bastante bueno y representa una dirección de desarrollo. Aunque es difícil de aprender (casi no parece C++, es como aprender un nuevo lenguaje), dominarlo puede hacer que la programación sea mucho más fácil.

2 Una forma de empezar con VC

Después de aprender C++, ¿es hora de aprender VC? No se preocupe, primero busque un libro sobre programación WIN32. Esta vez no tiene nada de especial. Parece similar y más barato. Sería mejor si hubiera una introducción al entorno integrado de VC. La programación WIN32 se refiere a la programación usando WINDOWS API. MFC es una biblioteca de clases que encapsula muchas funciones API. Sin embargo, si no tiene alguna base de programación API y no comprende los conceptos relacionados, puede sentirse confundido. Al aprender MFC. Créame, en el futuro no sentirá que aprender a programar API sea una pérdida de tiempo. Hay más de 2000 funciones API y aprenderlas todas es agotador. De hecho, siempre que sepa cómo crear ventanas, cuadros de diálogo, controles, bucles de mensajes y comprenda el significado de los identificadores, es mejor saber un poco más sobre la programación GDI. La clave de esta etapa es comprender cómo funciona el programa WIN32 y comprender la relación entre varias ventanas. Debido a que rara vez escribirá programas directamente usando WIN32 SDK en el futuro, la clave es comprender la estructura general. Memorizar algunas funciones no tiene mucho sentido. Puede comprobar la función inmediatamente cuando se utiliza. Debería tener a mano una información relativamente completa. La lista de funciones de la API china parece ser solo para VB, pero parece que no debería haber obstáculos. La información en inglés está disponible en MSDN, que es bastante completa y más detallada que la china. Recomiendo utilizar información en chino para buscar rápidamente y, si tiene alguna pregunta, consulte el inglés. (Olvidé dónde descargué la versión html de la Enciclopedia API china

, pero está disponible en librerías. Es de cubierta blanca, gruesa y muy cara. Para aquellos que quieran aprender a programar juegos Nota A mis amigos: de ahora en adelante, no necesitan aprender MFC. Créanme, eso no hará más que causarles dolor de cabeza. Todos los juegos se compilan usando Win32 SDK. Ahora, les recomiendo que aprendan DirectX. Traducido por Wang (www.imagic3d.com) tiene algunos conocimientos básicos escritos por el propio Wang, que son muy adecuados para comenzar. Me gustaría expresar mi agradecimiento especial a Wang por su arduo trabajo. También compré una copia de "DirectX". 7 Tutorial rápido ", publicado por Machinery Industry Press, las portadas y contraportadas son todas rojas. Excepto por la mala traducción, es bastante buena y la introducción es bastante completa. Si desea evitar problemas, puede considerar usar Wind Soul escrito por Yunfeng La biblioteca de juegos es muy conveniente, pero aún así recomiendo al menos comprender DirectX. Déjame decirte que muchos amigos se quejan de que no pueden encontrar libros sobre DirectX. búscalo en libros de programación, busca libros de producción multimedia, y también Mis ojos están muy abiertos y redondos. Director... Director... DirectX ¡¡¡Sabes, la gente que trabaja en librerías no tiene muy buena vista. Solo descubrí esto un día mientras deambulaba. Me asusté mucho. Después de descubrir este secreto, descubrí que en realidad hay muchos libros sobre DirectX, pero la mayoría de la gente no puede encontrarlos. Puede empezar a tener dificultades. El único problema es acumular experiencia.

Para aquellos que estén interesados ​​en el software de aplicaciones, ahora que han sentado las bases, los obstáculos para ingresar a VC se han eliminado. Esté completamente preparado, ya que las cosas no saldrán bien al principio. Un cuello de botella, una gran cantidad de conocimientos estrechamente relacionados, requiere que comprenda todo de una vez y es difícil aprenderlo paso a paso. que la parte más difícil de aprender VC apenas comienza.

La situación es algo similar al largo proceso que enfrentó cuando creó una ventana por primera vez, sólo que peor. Aquí es donde muchas personas se ahogan con una gran masa de conocimientos y renuncian a aprender. De hecho, esta es casi una característica importante de la programación de Windows. Debería experimentarla al programar en WIN32, y DirectX y COM tienen problemas similares. Recuerde, debe creer firmemente que después de superar este cuello de botella, habrá un futuro brillante y definitivamente podrá superarlo con una base sólida.

Mi sugerencia es que no espere hasta comprender completamente una oración antes de leer la siguiente. En lugar de eso, mire hacia abajo cuando sepa lo que está pasando. Si realmente no comprende, simplemente mire hacia abajo. y espere hasta que pueda comparar. Cuando Mao Huahu crea un menú o cuadro de diálogo, regresa y lo mira nuevamente después de algunas veces, debería poder comprender aproximadamente el funcionamiento del programa MFC. Nota: Aquí hay una clave. Debe comprender cuidadosamente el espíritu de la programación orientada a objetos y esforzarse por conectar el programa que tiene delante con el conocimiento que ha aprendido antes. Al comparar las diferencias entre las funciones miembro y las funciones API correspondientes, intente comprender cómo MFC encapsula las API relacionadas. Por ejemplo, bastantes clases encapsulan identificadores y los omiten al pasar parámetros. Esta es una característica muy importante. Hay muchas macros en MFC que parecen extrañas, pero no es necesario que prestes atención a sus métodos de implementación. Siempre que sepas cómo usarlas, esto también es muy importante. Además, no confíe demasiado en ClassWizard. Debe analizar usted mismo el código que genera. Si es vago, no podrá comprender realmente MFC.

3 Una forma de empezar con VC

Aquí presentaré un método de aprendizaje, pero los métodos de aprendizaje varían de persona a persona, por lo que debe decidirse en función de las circunstancias personales. Al principio, simplemente hice lo que me pidió el tutorial. Creé un menú y un cuadro de diálogo como un gato y un tigre, y luego intenté agregar controles. Cuando pueda hacer esto sin leer los tutoriales, comience a intentar comprender la organización del programa MFC palabra por palabra. Si no lo entiende, omita la lectura de lo siguiente. Simplemente hazlo una y otra vez. Si siente que le pesa la cabeza, descanse durante dos días y luego comience de nuevo cuando se despierte. Es mejor encontrar más artículos que presenten el marco MFC durante este período. Nota: No toque la estructura del documento/vista todavía, de lo contrario se meterá en problemas. Luego, puede intentar escribir cosas pequeñas, como temporizadores y tarjeteros, para familiarizarse con el uso de varios controles.

Después de superar el cuello de botella inicial, será más fácil aprender, porque podrás acumular conocimientos poco a poco sin preocuparte de que te ahoguen. Pronto, tendrá que comenzar a usar funciones API para completar algunas funciones, como agregar íconos a la bandeja del sistema, cuadros de lista autodibujados, etc. En este momento, también se dará cuenta de los beneficios de aprender a programar en WIN32. Es probable que las personas que nunca lo hayan aprendido se queden estancadas.

Hay tutoriales sobre VC por todas partes, pero el mercado es heterogéneo y hay muchos libros sobre cómo hacer trampa con dinero. Algunos libros son muy gruesos y tienen contenidos completos, lo cual es bueno para lectores experimentados, pero parece ser una pérdida de dinero para principiantes, porque la mayoría de sus contenidos están disponibles en MSDN y los principiantes no los necesitan. Los libros escritos por extranjeros suelen tener buen contenido, pero la calidad de la traducción es un problema. Si una mala traducción es suficiente para usted y es costosa, no la recomendaría a principiantes. También hay algunos libros tontos, ilustraciones, etc., que parecen estar dirigidos a principiantes y, a veces, están destinados a engañar al dinero. Después de leerlos, no podrás hacer nada excepto esos pocos ejemplos. Si ve un libro que ocupa mucho espacio con imágenes y texto, y que presenta vívidamente cómo hacer dibujos y generar texto, ¡no lo compre! ¡Estafador de dinero! (:-< Me engañaron para que pagara 42 yuanes) Esas cosas elegantes no sirven a los principiantes excepto para desviar su atención. Si está realmente interesado en el dibujo GDI, busque algunos libros especializados, que son mucho mejores que esos libros. Es mejor comprar algo con un nombre más formal como Aplicación VC, Programación VC, etc. No debe tener demasiadas imágenes, los caracteres no deben ser demasiado grandes y es mejor si se introducen más controles. Por supuesto, la fluidez del texto también es muy importante. No compre demasiados libros, no más de dos, porque el contenido de estos libros es casi el mismo, si compra demasiados, leer aquí y allá no será beneficioso. Aquí, sugiero a los principiantes que no se apresuren a gastar dinero, sino que consulten la revista en línea de VC Dynasty (), que también es muy buena y muy útil para aquellos que recién están comenzando. Se recomienda descargarla. Después de adquirir algo de experiencia, navegue por varios sitios web y desplácese hacia abajo cuando vea buenos artículos. Esto es muy beneficioso para mejorar sus habilidades.

Un conjunto de CD de MSDN es indispensable en este momento. Es imposible encontrar información en chino sobre todo. Incluso si puede encontrarla, consumirá mucho tiempo y dinero. Solo puede leerla. en Inglés.

Sin embargo, según mi experiencia, siempre que tengas un nivel de inglés de escuela secundaria y las diapositivas de Kingsoft PowerWord, sigue siendo muy fácil leer artículos profesionales. Además, es posible que los principiantes no sepan dónde encontrar lo que necesitan al principio. Aquí enumeraré los lugares más utilizados:

API WIN32: SDK de plataforma->Referencia->Funciones Win32 en orden alfa

.

Información de la biblioteca de clases MFC: Documentación de Visual C++->Referencia->Microsoft Fo...

Información de la biblioteca estándar y del lenguaje C/C++: Documentación de Visual C++->Referencia->C /C++..

Controles estándar: los controles estándar están encapsulados por MFC. Puede consultar las clases correspondientes, como el control Edit correspondiente a la clase

ActiveX en VC: Visual. Documentación básica->Referencia->Referencia de control (la única información china, pero es la peor. No solo es para VB, que es muy diferente de C++, sino que también está traducido en un lío y es casi inutilizable. Si hay son expertos que saben dónde encontrarlo. Por favor, déjenme saber información en inglés, muchas gracias)

Los CD de MSDN actualmente en el mercado tienen un historial y algunas cosas pueden estar desactualizadas. Si quieres la información más reciente, puedes acudir al sitio web de Microsoft (todo en inglés, por supuesto). Pero no parece necesario para los principiantes.

Después de dominar VC, puedes aprender lo que quieras. Aprender C ++ Builder, VB, Dephi, Java, etc. no es nada difícil. O puedes probar COM Se dice que es un hueso duro de roer (pero parece que simplemente es difícil empezar, porque con experiencia previa, aunque no lo he tocado, debería poder hacerlo si gasto. Además, la experiencia en programación DirectX debería ser de alguna ayuda).

4 Una forma de empezar con VC

Finalmente, te sugiero que estudies más algoritmos si tienes tiempo. La estructura de datos es una visita obligada. No es necesario que lo recuerdes (aunque no lo recordarás si no lo usas con frecuencia), pero al menos debes saber que está ahí y saber adónde ir si encuentras un problema. De hecho, en la plantilla de clase estándar de C++ se han implementado estructuras comunes, como listas vinculadas y algoritmos como la clasificación. No es necesario trabajar duro, pero siempre es beneficioso saber algo. En cuanto a las matemáticas discretas, el álgebra lineal, etc., son necesarias para algoritmos más complejos, entre los cuales las matemáticas discretas son la base de la estructura de datos. Sin embargo, creo que mientras el problema no sea demasiado complicado, solo se puede resolver con la experiencia (al igual que en los Juegos Olímpicos, es solo una implementación sin pruebas), y esas cosas se olvidarán si no las usas. . Si encuentra un problema que no se puede resolver, no es mala idea buscar un experto que le ayude, lo que le ahorra tiempo y esfuerzo ^_^.

Aquí te dejo algunas preguntas varias que me vinieron a la mente. No están organizadas, así que puedes echarles un vistazo:

No es necesario que tu nivel de inglés sea muy alto. pero debe ser al menos un nivel de escuela secundaria, de lo contrario sufrirás.

No importa si no entiendes el libro después de leerlo una vez. De hecho, si puedes entenderlo después de leerlo una vez, tienes mucho talento. Siempre que lo leas varias veces y lo analices exhaustivamente, no debería haber ningún problema.

En el mundo actual, no es que solo puedas aprender cuando usas libros, sino que solo puedes aprender cuando los usas. No intentes comprenderlo todo, pero aprende lo que usas. De esta forma, podrás aprender rápidamente y recordarlo con firmeza.

Un malentendido: aprender a programar se basa en la memoria: este es un pensamiento muy fatal que lo agotará y no ganará nada. De hecho, apenas es necesario recordar nada. Para diversas funciones y declaraciones, siempre que sepa que existe tal cosa y sepa dónde buscarla cuando la use, naturalmente la recordará después de usarla mucho. La clave para aprender a programar es comprender las ideas de programación.

Un pequeño truco: usar el compilador puede ayudarte mucho. En VC, cuando ingresa el símbolo de miembro o ->, el programa enumerará automáticamente los miembros de este tipo y solo necesitará seleccionar uno. Esto ahorra mucha carga de memoria.

Por ejemplo, si desea obtener la longitud de un objeto de clase CString, el método correspondiente debe ser Get, pero no sabe si GetLetterNum o GetStrLength. Puede ingresar xxx.Get para encontrar GetTextLength (). de la lista, no este. Qué más, si hace clic en él, pueden aparecer instrucciones. También se pueden evitar los errores tipográficos. Si desea llamar a una función miembro de esta clase, ingrese esto-> y podrá ver la lista de miembros. Para funciones globales, simplemente ingrese::. Esto parece claro. Además, si la lista no aparece, el 80% de las veces es porque cometiste un error, como que no se definió una variable o un error tipográfico, pero también puede ser un ERROR de VC, que rara vez es el caso. Para los principiantes, esta es una característica muy útil.

Hay un principio que los principiantes deben seguir al programar: ser más un gato que un tigre y no pedir una comprensión más profunda. La clave es que hay muchas cosas que simplemente no puedes entender, como las macros extrañas en MFC. Además, no aporta mucho beneficio entenderlo. Es mejor no preocuparse por ello por el momento. Solo sepa cómo usarlo. Cuando tenga tiempo libre, podrá pensar en ello lentamente. Preste más atención a cómo se implementan los programas de otras personas y sígalos. A veces, algunos pequeños problemas también reflejan pensamientos profundos. Por ejemplo, dónde se debe definir una variable y cómo organizar la estructura de clases. Si no lo entiendes del todo, intenta hacerlo como los demás primero y, naturalmente, lo entenderás con el tiempo. Es como jugar al ajedrez. Después de todo, es menos probable que él cometa errores que tú. son.

Además, creo que los principiantes no deberían poner demasiada energía en cosas como barras de herramientas geniales y ventanas transparentes con forma de burbuja. Antes de hacer esto, será mejor que te preguntes: ¿tu programa es digno de estas hermosas interfaces? En particular, no decores la interfaz cuando empieces por primera vez, de lo contrario la interfaz estará terminada y el entusiasmo desaparecerá. Después de todo, ver los resultados es mucho más emocionante que los aburridos algoritmos. Si desea hacerlo, debe esperar hasta que finalice el cuerpo principal del programa antes de hacerlo.

Cuando aprenda por primera vez, también debe prestar más atención a los artículos sobre la estructura y organización del programa. Estas cosas son muy importantes. Desarrolla un buen estilo desde el principio. De lo contrario, un día, cuando decidas compilar un programa más grande, descubrirás que no puedes continuar hasta la mitad.

Programar no es un trabajo técnico, sino un trabajo físico: cuando estás aprendiendo, tu mente está llena de tecnología, pero cuando la usas, realmente se convierte en un trabajo físico. Cuando realmente empiezas a hacer algo, lo más importante es tener la perseverancia para persistir hasta el final. Si no tienes una voluntad fuerte, inevitablemente te rendirás a mitad de camino.

Con respecto a la pregunta de si los principiantes deberían aprender VC o VB: Creo que es más difícil aprender VC, pero no es tan difícil como imaginaba si dominas el método de aprendizaje, y solo aprendiendo VC puedes Obtendrá una comprensión más profunda. Comprenderá la esencia de la programación orientada a objetos. Eleva su pensamiento a un nivel superior, lo que es de gran beneficio para el desarrollo futuro. Además, si no podemos superar esta dificultad, será difícil lograr algo en el futuro. Por lo tanto, incluso si decide utilizar VB, aún debe tomarse un tiempo para observar VC y conocer al menos su estructura general. A la larga, esto resulta muy beneficioso.

Con respecto a la pregunta de si aprender C++ Builder o Visual C++: Quizás VC no sea tan bueno, pero tampoco es tan malo. Pero la información sobre VC es muchas veces mayor que la de C++ Builder. ¡Especialmente para los principiantes, esto es muy crítico! Es más, la diferencia entre los dos en realidad no es demasiado grande. Una vez que aprendas uno, no será demasiado problemático aprender el otro.

Jeje, no esperaba decir tanto. Ya dije que en realidad recién estoy comenzando. Todo lo anterior son mis propios sentimientos. Es probable que los expertos me corrijan. Además, esta es la primera vez que escribo un artículo y mi chino es muy pobre. De hecho, solo escribo lo que se me ocurre, así que puedes compartirlo.