Red de conocimiento informático - Conocimiento informático - Cómo aprender el lenguaje C (nunca antes había aprendido programación, solo quiero aprenderlo y nunca he estado expuesto a la programación).

Cómo aprender el lenguaje C (nunca antes había aprendido programación, solo quiero aprenderlo y nunca he estado expuesto a la programación).

Programación C" es muy rico en contenido. Según nuestro programa de enseñanza actual, el contenido principal de la enseñanza son conocimientos básicos, programación de cuatro estructuras, aplicación de funciones y matrices, y algunos algoritmos simples. Al aprender, los estudiantes deben concentrarse en estas partes y dominarlas mediante la práctica (ejercicio y depuración por computadora). Por supuesto, cuando aprende el lenguaje C por primera vez, puede encontrar algunos problemas que no puede entender claramente o el método de expresión es diferente del anterior. El aprendizaje de las matemáticas es diferente al anterior (como operadores, etc.), lo que requiere no desanimarse, preguntar más y pensar más en lo que no entiendes, y tener el coraje de estudiar. Después de aprender los siguientes capítulos, el. Los problemas anteriores se resolverán fácilmente. En este sentido, siento que nuestros compañeros son los más deficientes. La mayoría de los estudiantes que no aprenden bien se dan por vencidos cuando encuentran dificultades al principio. compañeros de clase sobre sus problemas, y las respuestas son que no pueden entender, no quieren escuchar y se dan por vencidos, ¿has asistido a esta clase? En absoluto, ¿cómo puedes decir que no lo entiendes? Si no has estudiado nada, ¿cómo puedes aprender bien el lenguaje C? Vivir en "el amanecer está por llegar" y "es difícil comprar y mirar hacia atrás". "Es difícil comprar y mirar hacia atrás" es una forma importante de aprender conocimientos. Es decir, cuando aprenda los conocimientos subyacentes, no olvide mirar hacia atrás para aclarar los problemas restantes y profundizar su comprensión. Es el más difícil de lograr para nuestros estudiantes, pero también el más importante. Por ejemplo, el concepto más típico en el lenguaje C es el concepto de programación estructurada, no importa qué tipo de libro de texto se enfatice. Puede comprenderse completamente en este momento, pero cuando aprenda la función, regrese y experimente cuidadosamente, revise el pasado y aprenda algo nuevo, y no será tan difícil de entender. Aprender el lenguaje C requiere varias iteraciones antes de poder continuar. A través de él, se debe dominar la acumulación. Entonces, ¿cómo aprendemos bien la "Programación C"? 1. Aprenda bien los operadores y el orden de operación del lenguaje C. son muy flexibles y tienen funciones ricas. Hay muchos más tipos que otros lenguajes de programación. Es más simple que otros lenguajes de programación en términos de expresiones, como suma automática, resta automática, operación de coma y operación ternaria. Las expresiones son más simples, pero los principiantes a menudo encuentran esto. La razón clave por la que las expresiones son difíciles de leer es la comprensión incompleta de los operadores y el orden de las operaciones. Cuando varias operaciones diferentes forman una expresión de operación, es decir, cuando aparecen varios operadores en una expresión de operación. Aparecen el orden de prioridad y las reglas de combinación de las operaciones. Es muy importante en el aprendizaje, siempre que las clasifiquemos razonablemente y descubramos las diferencias entre ellas y las operaciones que aprendimos en matemáticas, no es difícil recordar algunas de estas operaciones. Los operadores lo tendrán en cuenta para que sea fácil de usar en el futuro. Algunos de ellos pueden abandonarse temporalmente y recordarse más adelante cuando se utilicen. Primero, es necesario aclarar la clasificación de los operadores según diferentes prioridades. Los operadores de "Programación C" se pueden dividir en 15 tipos. La prioridad, de mayor a menor, es de 1 a 15. Excepto los niveles 2, 3 y 14, que se combinan de derecha a izquierda, los demás se combinan de izquierda a derecha. Determina la operación de operadores del mismo nivel. Ilustrémoslo con varios ejemplos: (1) 5*8/410 Hay tres operadores en esta expresión, que son operadores del mismo nivel. de izquierda a derecha, entonces 5 *8 se calcula primero =40, luego se divide por 4, el resultado es 10, y finalmente la operación (resto), por lo que el resultado final de la expresión es 1010 = 0; = 3; b = 5; c = a* b; d = a * b; Para c = a*b, de acuerdo con el orden indicado en la tabla, * se ejecuta primero, * se ejecuta al final, por lo que después de que se ejecuta a , el valor de a es 4. Dado que es una operación previa, el valor de a es 4. operación, la fórmula de cálculo del valor de C es 4*5=20 en lugar de 3*5=15 y para d=a; *b, dado que a es una posoperación, el valor de a es 4 para participar en la operación, por lo que d El valor sigue siendo 20, pero después de que a participa en la operación, su valor aumenta en 1 y su valor es 5.

Después de ejecutar este ejemplo, el valor de a es 5, el valor de b es 5, el valor de c es 20 y el valor de d también es 20 (3) (a = 3, b = 5, b =; a, c = b* 5 ) "," en el ejemplo es una operación de combinación de coma. La expresión anterior se llama expresión de coma. Se combina de izquierda a derecha. El valor resultante de la última expresión es el resultado de. expresión de coma, por lo que el resultado de la expresión de coma anterior es 40. El valor de a es 3, el valor de b es 8 y el valor de c es 40. (4) a=5; b=6; c=agt; b?a:b; agt;b?a:b en el ejemplo es una operación ternaria y su función es realizar primero la operación relacional agt;b. , Si el resultado es verdadero, tome el valor de a después del signo de interrogación; de lo contrario, tome el valor de b después de los dos puntos, por lo que el valor de c debe ser 6. Esta operación se puede utilizar para reemplazar la aplicación simple de if. ..si no... declaración. dos. Aprenda bien las cuatro estructuras de programa del lenguaje C (1) Estructura secuencial La programación de estructura secuencial es la más simple. Simplemente escriba las declaraciones correspondientes en el orden de resolución del problema. Su orden de ejecución es de arriba hacia abajo y se ejecuta secuencialmente. Por ejemplo; a = 3, b = 5, ahora intercambie los valores de a y b. Este problema es como intercambiar dos tazas de agua. Esto, por supuesto, requiere el uso de la tercera taza. c, entonces el programa correcto es: c = a; a = b; b = c; el resultado de la ejecución es a = 5, b = c = 3. Si se cambia el orden, se escribe como: a = b; c = a; b = c; El resultado de la ejecución es Convertirse en a = b = c = 5. Es más probable que los principiantes cometan este error. La estructura secuencial se puede utilizar de forma independiente para formar un programa completo simple. El programa común de entrada, cálculo y salida de tres pasos es la estructura secuencial. Por ejemplo, para calcular el área de un círculo, la secuencia de declaraciones. El programa consiste en ingresar el radio r del círculo y calcular s = 3.14159, generar el área s del círculo. Sin embargo, en la mayoría de los casos, la estructura secuencial se utiliza como parte del programa y forma un programa complejo junto con otras estructuras, como declaraciones compuestas en estructuras de rama, cuerpos de bucle en estructuras de bucle, etc. (2) Estructura de rama Aunque un programa con una estructura secuencial puede resolver problemas como el cálculo y la salida, no puede emitir juicios y luego seleccionar. Para problemas que requieren primero juicio y luego elección, se debe utilizar una estructura de ramificación. La ejecución de la estructura de rama selecciona la ruta de ejecución en función de ciertas condiciones, en lugar de seguir estrictamente el orden físico en que aparecen las declaraciones. La clave del método de programación de estructura de bifurcación es construir condiciones de bifurcación apropiadas, analizar el flujo del programa y seleccionar declaraciones de bifurcación apropiadas de acuerdo con los diferentes flujos del programa. La estructura de rama es adecuada para cálculos con juicios condicionales como lógica o comparación relacional. Al diseñar un programa de este tipo, a menudo es necesario dibujar primero el diagrama de flujo del programa y luego escribir el programa fuente de acuerdo con el flujo del programa. Análisis del diseño del programa desde el lenguaje. Haga que el problema sea simple y fácil de entender. Un diagrama de flujo de un programa es un diagrama de flujo de ejecución de un programa elaborado en base al análisis de resolución de problemas. Al aprender estructuras de ramas, no se confunda con el anidamiento de ramas, siempre que dibuje el diagrama de flujo correctamente y comprenda las funciones que debe realizar cada rama, la estructura anidada no es difícil. El anidamiento es solo una rama que contiene una declaración de rama. No es un conocimiento nuevo, siempre que tenga una comprensión clara de las ramas dobles, el anidamiento de ramas no es difícil. A continuación presento varias estructuras de ramas básicas. ①if (condición) {rama} La rama en esta estructura de rama puede ser una declaración, en cuyo caso se puede omitir "{}", o pueden ser varias declaraciones, es decir, una declaración compuesta. Tiene dos rutas de bifurcación para elegir. Una es ejecutar la bifurcación cuando la condición es verdadera; de lo contrario, la bifurcación se omitirá y no se ejecutará. Por ejemplo: para calcular el valor absoluto de x, de acuerdo con la definición de valor absoluto, sabemos que cuando xgt;=0, su valor absoluto permanece sin cambios, y cuando xlt;0, su valor absoluto es el signo inverso de x, entonces el segmento del programa es: if(xlt;0) x=-x; ②if (condición) {rama 1} else {rama 2} Esta es una estructura de rama típica. Si la condición es verdadera, ejecute la rama 1; de lo contrario, ejecute la rama. 2, tanto la rama 1 como la rama 2. Puede estar compuesto por una o varias declaraciones.

Por ejemplo: encuentre el análisis de la raíz de ax^2 bx c=0: porque cuando b^2-4acgt;=0, la ecuación tiene dos raíces reales, de lo contrario (b^2-4aclt;0) tiene dos ***yugos Múltiples raíces. El segmento del programa es el siguiente: d=b*b-4*a*c; if(dgt;=0) {x1=(-b sqrt(d))/2a; )/ 2a; printf("x1=8.4f, x2=8.4f\n", x1, x2 } else {r=-b/(2*a); ​​​​i =sqrt(-d)/( 2*a) ; printf(“x1=8.4f 8.4fi\n”r, i); printf(“x2=8.4f-8.4fi\n”r, i) } ③ Declaración de rama anidada: El formato de la declaración es: if(condición 1) {rama 1}; else if (condición 2) {rama 2} else if (condición 3) {rama 3} …… else if (condición n) {rama n} else {rama n 1} Aunque anidado declaraciones de rama Puede resolver el problema de múltiples entradas y salidas. Sin embargo, después de más de 3 niveles de anidamiento, la estructura de la declaración se vuelve muy complicada, lo que es extremadamente inconveniente para leer y comprender el programa. Se recomienda anidar dentro de 3 niveles. Para más de 3 niveles, puede utilizar la siguiente declaración. ④Declaración de cambio: esta declaración también es una declaración de selección de múltiples ramas. El bloque que se ejecuta depende de la configuración del interruptor, es decir, la ruta donde el valor de la expresión coincide con la expresión constante es diferente de if...else. declaración en que todas sus ramas son paralelas. Cuando se ejecuta el programa, la búsqueda comienza desde la primera rama. Si hay una coincidencia, se ejecutan los bloques posteriores, y luego los bloques de la segunda rama, la tercera rama. se ejecutan hasta que se encuentra la declaración de interrupción; si no coinciden, se busca si la siguiente rama coincide. Al aplicar esta declaración, se debe prestar especial atención al establecimiento razonable de las condiciones de conmutación y a la aplicación razonable de las declaraciones de interrupción. (3) Estructura de bucle: la estructura de bucle puede reducir la carga de trabajo de la escritura repetida del programa fuente y se utiliza para describir el problema de ejecutar repetidamente un determinado algoritmo. Esta es la estructura del programa que mejor utiliza la experiencia de la computadora en programación. En el lenguaje C se proporcionan varios tipos de bucles, a saber, el bucle goto, el bucle while, el bucle do- while y el bucle for. Se pueden utilizar cuatro tipos de bucles para solucionar el mismo problema. Generalmente, se pueden reemplazar entre sí. Sin embargo, generalmente no se recomienda utilizar bucles goto porque cambiar a la fuerza el orden del programa a menudo provoca errores impredecibles en la ejecución. del programa Durante el aprendizaje, aprendemos principalmente tres tipos de bucles: while, do... while y for. El objetivo de aprender las tres estructuras de bucles de uso común es comprender sus similitudes y diferencias para que puedan usarse en diferentes situaciones. Esto requiere conocer el formato y el orden de ejecución de los tres bucles y comprender a fondo el diagrama de flujo de cada bucle. Comprenderá cómo usarlos indistintamente, como usar el ejemplo del bucle while y reescribir un programa usando declaraciones for, para que pueda comprender mejor sus funciones. Se debe prestar especial atención a las declaraciones que tienden a terminar (es decir, el cambio del valor de la variable del bucle) dentro del cuerpo del bucle, de lo contrario puede convertirse en un bucle infinito. Este es un error común entre los principiantes. Después de aprender estos tres bucles, debe aclarar sus similitudes y diferencias: cuando se utilizan los bucles while y do... while, la operación de inicialización de las variables del bucle debe realizarse antes del cuerpo del bucle, y el bucle for generalmente se realiza en la instrucción 1; El bucle while y el bucle for primero juzgan la expresión y luego ejecutan el cuerpo del bucle, mientras que el bucle do... while ejecuta primero el cuerpo del bucle y luego juzga la expresión. Es decir, el cuerpo del bucle do... while es. ejecutado al menos una vez, mientras que el bucle while y for no se pueden ejecutar ni siquiera una vez. Además, cabe señalar que estos tres tipos de bucles pueden utilizar la instrucción break para salir del bucle y la instrucción continue para finalizar el bucle actual. Sin embargo, el bucle formado por la instrucción goto y if no puede ser controlado por el. declaraciones de pausa y continuación.

Las estructuras secuenciales, las estructuras de rama y las estructuras de bucle no están aisladas entre sí. Puede haber ramas y estructuras secuenciales en bucles, y también puede haber bucles y estructuras secuenciales en ramas. considérelos como una sola declaración. En el proceso de programación real, estas tres estructuras a menudo se combinan entre sí para implementar varios algoritmos y diseñar los programas correspondientes. Sin embargo, la programación es un gran problema. Los programas escritos suelen ser muy largos y tienen estructuras repetidas, lo que resulta en poca legibilidad y dificultad. Comprenda que la forma de resolver este problema es diseñar el programa C en una estructura modular. (4) Estructura del programa modular La estructura del programa modular del lenguaje C se implementa con funciones, es decir, el programa C complejo se divide en varios módulos, cada módulo se escribe en una función C y luego la función principal llama a la función y la La función llama a la función. Escriba un programa en C para implementar un problema a gran escala, por lo que a menudo se dice: Programa C = subfunción de función principal. Por lo tanto, se debe prestar especial atención a la comprensión y aplicación de definiciones de funciones, llamadas, retornos de valores, etc., y se debe consolidar mediante la depuración informática. tres. Domine algunos algoritmos simples. De hecho, gran parte del trabajo de programación es analizar el problema, encontrar una manera de resolverlo y luego escribir el código en el lenguaje de programación correspondiente. Esto requiere dominar los algoritmos. De acuerdo con nuestro programa de estudios de "Programación C", solo debemos dominar algunos algoritmos simples. Después de dominar estos algoritmos básicos, será fácil completar el análisis del problema. Como el intercambio de dos números, la comparación de tres números, la clasificación por selección y la clasificación por burbujas, requieren que comprendamos el significado intrínseco de estos algoritmos. Entre ellos, la clasificación por selección y la clasificación por burbujas son un poco más difíciles, pero siempre que lo hagamos. comprender la clasificación El proceso específico facilita la comprensión del código. Por ejemplo, si usa el método de selección para ordenar 10 números enteros diferentes (de pequeño a grande), la idea de clasificación del método de selección: suponiendo 10 elementos a [1] ~ a [10], combine a [1] con a [2] ~a[10] comparación, si a[1] es menor que a[2]~a[10], no se realizará ningún intercambio, es decir, no se realizará ninguna operación si uno de a[2]~a[10] es; más pequeño que a[1], luego intercambie el más grande (se supone que es a[i]) con a[1]. En este momento, a[1] almacena el número más pequeño entre los 10. En la segunda ronda, se compara a [2] con a [3] ~ a [10], y el más pequeño de los 9 números restantes, a [i], se intercambia con a [2]. almacenado en a[2] El segundo número más pequeño entre los 10 números, y así sucesivamente, *** realiza 9 rondas de comparación, y a[1] a a[10] se almacenan en orden de menor a mayor. Es decir, cada ronda encuentra el más pequeño entre los números restantes. El código es el siguiente: for(i=1;ilt;=9;i) for(j=i 1;jlt;=10;j) if(a. [i ]gt; a[j] {temp=a[i]; a[i]=a[j]; a[j]=temp } Conclusión: Cuando hayamos comprendido los aspectos anteriores, siempre que los estudiantes Puede superar el miedo a las dificultades, cansarse de estudiar, escuchar atentamente en clase, hacer ejercicios y depurar en la computadora. De hecho, el lenguaje C no es difícil de aprender. Si te ayuda, aprovéchalo, ¡gracias! >