Como estudiante de pregrado, ¿cómo aprendiste c?

Tuve la suerte de hacer lo siguiente:

  • Nunca caí en la trampa de libros malos (mal escritos) que dicen enseñar programación en C. Por ejemplo, libros de Yashwant Kenetkar que vi en manos de muchos de mis amigos.
  • Nunca cayó en la trampa de usar compiladores muy poco estándar y mal mantenidos, por ejemplo, el turbo C se suspende en la fecha de hoy y algunos estudiantes inocentes terminan practicando en esto para perder su tiempo. Desafortunadamente, se suponía que debía mostrar el código final en el laboratorio compilado usando Turbo C en la plataforma Windows 95/98. Pero pude controlar mi tentación de no usarlos fuera de los laboratorios.
  • Elija un buen ide y compilador (muchos más de estos están disponibles de forma gratuita ahora en comparación con mi tiempo en la universidad). Pruebe alguna combinación y elija la que más le convenga. (Utilicé el editor Vim con algunas extensiones + compilador gcc en redhat Linux y todavía me encanta en Ubuntu hoy). Hoy debería preferir usar al menos el modo C99 para la compilación con todas las extensiones deshabilitadas. Si puede usar C11 (o posterior) mejor es.
  • Elige un buen libro para aprender. Muchas personas (incluyéndome a mí) durante mis años universitarios usaron el lenguaje de programación C: Brian W. Kernighan, Dennis M. Ritchie, pero hoy está muy desactualizado. Una lista de algunos libros buenos (incluidos algunos no buenos) está disponible en The Definitive C Book Guide and List.
  • Hoy también puede leer comp.lang.c Preguntas frecuentes en su tiempo libre. Siga las preguntas muy votadas con la etiqueta C en stackoverflow. (Puedes suscribirte para un resumen)
  • Resolvió todos y cada uno de los ejercicios (resueltos y no resueltos) del libro. Escribe tanto código como puedas.
  • Aprendí a depurar el código usando sentencias de impresión, depurador, explicando el código a otros.

Cosas que no sabía pero que desearía saber:

  • Si algún libro o maestro te enseña cosas raras como la salida de expresiones como i++ - i++, ignora libro / maestro. Si el libro (o el maestro) dice que esta es una línea extraña y causa un comportamiento indefinido, sé todo oídos.
  • Aprenda a hacer el papeleo adecuado antes de saltar al código.
  • Uso de las opciones -ansi y -pedantic en compiladores. Habilitación de la optimización adecuada ( -O2 por ejemplo) en el código final.
  • Mantenerse alejado de trucos de magia de optimización aparentemente prematuros.
  • Uso de módulos (múltiples archivos C) y makefiles. (Mis proyectos eran todos un solo archivo que contenía muchos, muchos miles de líneas)
  • Desarrollo y uso del marco de pruebas.

Gracias por A2A.

Bueno … aprendí C en mi vida escolar … cuando me introduje por primera vez a C … realmente me sorprende ver las cualidades de la programación en C como: –

  1. Es un lenguaje robusto cuya rica configuración de funciones integradas y operador se puede utilizar para escribir cualquier programa complejo.
  2. Los programas escritos en C son eficientes debido a la variedad de tipos de datos y operadores poderosos.
  3. El compilador de C combina las capacidades de un lenguaje ensamblador con la característica del lenguaje de alto nivel. Por lo tanto, es muy adecuado para escribir software de sistema y paquetes de negocios.
  4. Solo hay 32 palabras clave; Hay varias funciones estándar disponibles que pueden utilizarse para desarrollar programas.
  5. C es lenguaje portátil; Esto significa que los programas C escritos para un sistema informático pueden ejecutarse en otro sistema, con poca o ninguna modificación.
  6. El lenguaje C es muy adecuado para la programación estructurada, esto requiere que el usuario piense en un problema en términos de función o módulos o bloque. Una colección de estos módulos facilita la depuración y prueba de un programa.
  7. El lenguaje C tiene su capacidad de extenderse. Un programa c es básicamente una colección de funciones compatibles con la biblioteca C. Podemos agregar continuamente nuestras propias funciones a la biblioteca con la disponibilidad de la gran cantidad de funciones.

Así que sugiero … solo ver su característica y darse cuenta de su importancia … comenzar a codificar 🙂

En mi primer año tuve programación c y estructura de datos como un tema. Desafortunadamente, no hubo clases de C durante 1 mes debido a la falta de facultad en ese momento. Después de que se designó al profesor de 1 mes. Ella era realmente inexperta y apenas le gusta enseñar código que hizo que toda la clase fuera la materia más difícil.
Llegando al punto, puede ser mi suerte o cualquier otra cosa. Yo era CR (representante de la clase) en ese momento y ella era muy perezosa para escribir el código y siempre me insistió para que copiara el código a bordo. A las pocas semanas, fue un infierno para mí e incluso pasé mi primer interno con marcas de borde. Después de eso, fue mi trabajo diario escribir el código en la pizarra lo que me hizo darme cuenta de que aprendía el lenguaje c y comencé a aprender lentamente. Cuando comencé el autoaprendizaje, llegué a conocer muchas cosas en c. Aún así, no soy tan bueno en las estructuras de datos y puedo manejarme con él.
Aunque el profesor no fue genial ser CR me ayudó a crear un poco de interés en C.

Empecé a aprender c en mi primer semestre. Mi profesor no tenía tanta experiencia y nos enseñó a controlar los bucles y omitió los temas importantes restantes y puso el mismo concepto en papel, aunque mi universidad es autónoma. Aunque enfrenté muchos obstáculos, como punteros a punteros [concepto más difícil que siento], struct y uniones, manejo de archivos, pero sin embargo logró aprender todos los conceptos a través del libro Ashok Kamthane.

Es el mejor libro de la historia y tenía muchos ejemplos resueltos, desde básicos hasta avanzados, con explicaciones detalladas. Nunca probé ni hice algunos trucos mágicos como “imprimir una declaración sin punto y coma”.

Según yo, para convertirse en programador, un lenguaje de programación no es obligatorio. Debe saber cómo resolver o leer el código, pruébelo en papel antes de escribir el código.

La práctica es el mantra clave.

Mis mayores, obtienen más de 9 créditos, pero siguen asistiendo a clases de coaching. Simplemente escuchan pero nunca abren la computadora portátil o nunca lo intentan.

Encontrará tales situaciones en muchas universidades de nivel 2 o nivel 3.

Por lo tanto, recomiendo resolver todas y cada una de las preguntas en el libro Ashok Kamthane, luego buscar estructuras de datos y comenzar a resolver preguntas en codechef, Hackerrank, etc.

Había ido a clases a un instituto conocido como NIIT. Pero según mi experiencia, la mejor manera de comenzar es aprendiendo funciones y reglas básicas. Luego intente ejecutar pequeños programas. Una vez que tenga una buena idea de la salida esperada, intente visualizar algo que quiere hacer usando C … Como visualizar tratando de crear un menú de restaurante usando C o cualquier cosa interesante que se le ocurra. Luego, utilizando lo que ha aprendido, continúe e implemente esto. Esto te haría más confiado en el lenguaje y en cuanto a creatividad, ayuda mucho …
Saludos 🙂

Sorprendentemente, es posible que pueda hacer exactamente lo que le pide. ¿Presumiblemente tienes la aptitud necesaria y un fuerte deseo de programar?

Abdurrsoyid ha dado una excelente respuesta con la que estoy totalmente de acuerdo. Su argumento de que la programación es un proceso de “aprender haciendo” en el que aprendes de tus errores es acertado.

Creo que será mejor ir a un curso en línea y hay muchos de ellos. Algunos son gratuitos y para algunos hay que pagar. Algunos hacen afirmaciones muy audaces, pero sugiero que primero pruebes una gratis. Mi favorito es el mismo que el de Abdurrosyid:

Learn C – Tutorial interactivo gratuito de C

Ofrece un tutorial en C gratuito e interactivo en una serie graduada de módulos que van de básico a avanzado. No tienes que descargar nada. Para cada módulo, la ventana de código y la ventana de salida aparecen en la pantalla de su PC, computadora portátil o tableta como si fueran reales. En la medida en que C sea ‘fácil’, esto lo hace así.

Creo que encontrará la ruta interactiva significativamente mejor que aprender de un libro. Sin embargo, si desea un buen libro sobre C, puede comenzar con ‘C for Dummies’, que es de la admirable serie ‘Dummies’. Cuesta alrededor de US $ 26. Más allá de eso, tiene una amplia selección de libros más avanzados a precios de alrededor de US $ 100. Puede encuestarlos usted mismo una vez que tenga una buena idea de los conceptos básicos de C.

Cada individuo tiene sus propios pasos hacia la programación.

Es bastante natural que cualquier principiante comience a programar en C. Especialmente si toma un curso de ingeniería o ciencias de la computación. Aprendí C, en el primer semestre de ingeniería y nunca olvidaré la experiencia. Teníamos un curso de 4 créditos para la programación en C y teníamos tareas semanales que eran simplemente increíbles. La parte más sorprendente, nos pidieron que cargáramos nuestras tareas de codificación en un juez en línea que pudiera detectar errores, verificar el tiempo de ejecución (Básicamente, un compilador en línea). Era como una plataforma Mini-code-chef. Mis habilidades de programación se desarrollaron debido a estas tareas en la universidad.

Aunque C no es tanto uso, sino que es la base para todos los demás lenguajes de programación como Java, C ++, etc.

Hay varias fuentes disponibles como Tutorial point, learn-c.org, etc. y varios libros como Let us c “de Yashwant kanetkar también está disponible de forma gratuita como un libro, pero recomendaría The C Programming Language Book de Brian Kernighan y Dennis Ritchie, ya que tiene conceptos muy claros y una gran explicación y problemas estándar para la práctica también.

Yo no … De hecho, todo lo que he aprendido en mi licenciatura hasta ahora, eso contribuyó a aproximadamente el 10% de mis habilidades de programación c / c ++. Las universidades nunca son importantes para obtener una habilidad o habilidades particulares. Hasta y a menos que no dediques tus horas de trabajo a tu habilidad, nunca podrás dominarla incluso si estás en IIT o NIT. Ese es el hecho brutal …… Las universidades solo están destinadas al grado y nada más. Al menos para mi.

Se considera que C es la base de todos los lenguajes de programación, por lo que es esencial tener un conocimiento profundo en él. Refirí libros como
1.programación en c por balaguruswamy
2.let us c por yashwanth kanetkar
Aparte de esto, no se aprenden muchas cosas de internet. Los tutoriales en línea, los MOOC, etc. fueron realmente útiles.

Creo que eres nuevo en programación y quieres convertirte en un buen programador.

Antes que nada … Permítanme decirles una cosa … Antes de aprender a programar, deberíamos ser buenos en la lógica de programación … Dedicamos un tiempo a dominar el Algoritmo y el Diagrama de flujo para una tarea en particular … Si usted tiene ventaja desarrollando la lógica de programación, entonces estudias la programación fácilmente … (ya sea C o Java o Python) …

En el proceso de Ingeniería de Software, la codificación contribuye a solo 20 pc del trabajo total.

Concéntrese primero en desarrollar la lógica de programación y luego practique la codificación …

El obstáculo que enfrenté al iniciar el lenguaje c fue cómo ejecutar mi programa helloworld … primero configuré su entorno como gcc o vc ++, luego leí la programación c de balaguruswamy (excelente para principiantes) resolvió todos los programas … si desea problemas más prácticos, vaya a “numérico recetas en c “, ofrece una visión general de cómo implementar métodos numéricos en c … solo a través de la práctica puedes programar

Aprendo lo básico del lenguaje C del libro Let Us C de Yashwant Kanetkar, que es muy fácil. Después de eso, comencé a pensar en cómo escribir aplicaciones básicas como el bloc de notas de línea de comandos, el programa de copia de archivos, etc., con ellos intenté escribir un programa de patrón diferente. Luego, utilizando los conocimientos básicos que había reunido y un poco de ayuda de Internet, ahora soy capaz de escribir programas en este idioma.