Red de conocimiento informático - Conocimiento de Internet de las cosas - Cómo aprender el lenguaje C, cómo aprender a convertirse en un maestro del lenguaje C

Cómo aprender el lenguaje C, cómo aprender a convertirse en un maestro del lenguaje C

Al aprender el lenguaje C, recuerde siempre que "la luz está al frente" y "es difícil comprar y mirar hacia atrás" es una forma importante de adquirir conocimientos, es decir, aprender. , al aprender los siguientes conocimientos, no olvide regresar y aclarar las preguntas restantes y profundizar su comprensión del conocimiento previo. Esto es lo más difícil de hacer para nuestros estudiantes, pero también lo más importante. Aprender el lenguaje C requiere repeticiones repetidas para acumular el conocimiento del lenguaje C que se debe dominar.

1. Aprenda los operadores y el orden de las operaciones del lenguaje C

Aprenda los operadores y el orden de las operaciones del lenguaje C

Esta es la base para aprender C Programación en lenguaje C. El lenguaje C es muy flexible, rico en funciones y tiene muchos más tipos de operaciones que otros lenguajes de programación. Otros lenguajes de programación son relativamente concisos en términos de expresiones, como la autosuma, la autoresta, la operación de coma y la operación ternaria, lo que hace que las expresiones sean más concisas. Sin embargo, los principiantes a menudo encuentran que estas expresiones son difíciles de entender. es que la operación Comprensión incompleta e incompleta de los símbolos y el orden de las operaciones. Cuando muchas operaciones diferentes forman una expresión, es decir, cuando hay varios operadores en una expresión, el orden y las reglas de combinación de las operaciones se vuelven muy importantes. En el aprendizaje, siempre que podamos clasificarlos razonablemente y descubrir la diferencia entre ellos y las operaciones que hemos aprendido en matemáticas, no es difícil recordar estos operadores. Algunos operadores los recordaremos en el futuro. son fáciles de usar y algunos de ellos pueden abandonarse temporalmente y recordarse nuevamente cuando sea necesario.

En primer lugar debemos entender que los operadores se clasifican según diferentes prioridades. Las prioridades de los operadores en "Programación en Lenguaje C" se pueden dividir en 15 tipos, de mayor a menor, con prioridades que van desde 1. a 15. Excepto los niveles 2, 3 y 14, que se combinan de derecha a izquierda, todos los demás se combinan de izquierda a derecha, lo que determina el orden de operaciones de los operadores en el mismo nivel.

FIN

II.Aprende las cuatro estructuras de programas del lenguaje C

Estructura secuencial

La programación de estructura secuencial es la más simple, solo escribe los enunciados correspondientes según el orden de las preguntas su orden de ejecución es de arriba hacia abajo, en orden.

Por ejemplo; a=3, b=5, ahora intercambiando los valores de a y b, este problema es como intercambiar dos tazas de agua, de las cuales la tercera taza es por supuesto agua. Si la tercera copa es c, entonces el procedimiento correcto es: c = a; a = b = c; ; c = a; b = c; el resultado cambiará. Se convierte en a = b = c = 5, lo que no logra el propósito esperado y también es el error más común que cometen los principiantes. La estructura secuencial puede formar de forma independiente un programa simple y completo. Un 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 del programa es. para ingresar el radio r del círculo y calcular s=3. Sin embargo, la mayoría de las veces, las estructuras secuenciales se utilizan como parte de un programa, junto con otras estructuras para formar programas complejos, como estructuras ramificadas. Un programa complejo, como declaraciones compuestas en estructuras de rama, cuerpos de bucle en estructuras de bucle, etc.

Estructura de rama

Los programas de estructura secuencial pueden resolver cálculos, resultados y otros problemas, pero no pueden realizar selección de juicio. 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 de 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 en función de diferentes flujos de programa. La estructura de rama es adecuada para cálculos con juicios condicionales, como comparaciones lógicas o comparaciones relacionales. El diseño de dichos programas a menudo requiere dibujar primero el diagrama de flujo del programa y luego escribir el programa fuente de acuerdo con el flujo del programa. Idioma. Ven y haz 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.

No se deje confundir por el anidamiento de ramas cuando aprenda la estructura de las ramas, siempre que dibuje el diagrama de flujo correctamente y aclare las funciones que debe realizar cada rama, la estructura anidada no es difícil. El anidamiento no es más que ramas y declaraciones que contienen ramas. No es un conocimiento nuevo, siempre que comprenda claramente 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

}

Rama en esta estructura de rama El cuerpo puede 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 el cuerpo de la bifurcación cuando la condición es verdadera; de lo contrario, el cuerpo de la bifurcación se omite y no se ejecuta. Por ejemplo: Calcule el valor absoluto de x. Según 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 recíproco de x. Por lo tanto, el segmento del programa es: if(xlt;0) x=-x

②if(condition)

{branch1}

else

{branch2 }

Esta es una estructura de rama típica. Si la condición es verdadera, se ejecuta la rama 1; de lo contrario, se ejecuta la rama 2. La rama 1 y la rama 2 pueden estar compuestas por 1 o más. declaraciones. . Por ejemplo: Encuentra las raíces de ax^2 bx c=0

Análisis: Porque cuando b^2-4acgt;=0, la ecuación tiene dos raíces reales, de lo contrario (b^2-4aclt;0 ) Hay dos raíces plurales unidas con dos dedos. El segmento del programa es el siguiente:

d=b*b-4*a*c

if(dgt;=0)

{x1=; (-b-sqrt(d))/2a;

x1=(-b-sqrt(d))/2a

printf("x1=8.4f, x2=8.4; f\n ", x1, x2);

}

else

{r=-b/(2*a); ​​​​

i =sqrt(-d)/(2*a); ​​​​

printf("x1=8.4f 8.4f\n"); "x1=8.4f 8.4f \n 8.4f 8.4fi\n "r, i)

printf("x2=8.4f-8.4fi\n "r, i)

<); p>}

3) 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 if(condición 3) {branch 3}

else {branch n 1}

El anidamiento de declaraciones de rama puede resolver el problema de múltiples Entradas y múltiples salidas, pero anidando más de 3 veces, la estructura de la declaración se volverá muy complicada y será extremadamente inconveniente leer y comprender el programa. Por lo tanto, se recomienda anidar menos de 3 veces. anida más de 3 veces, puede utilizar la siguiente declaración.

④Switch switch declaración: 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, cómo el valor de la expresión coincide con la expresión constante. es if... .else declaración, todas sus ramas están una al lado de la otra. Cuando se ejecuta el programa, comienza a buscar desde la primera rama. Si coincide, se ejecutan los bloques de programa posteriores y luego se ejecutan todas las ramas una al lado de la otra. Al ejecutar la primera rama, si hay una coincidencia, se ejecuta el siguiente bloque del programa. Cuando se ejecutan los bloques de programa posteriores, los bloques de programa de la segunda rama, la tercera rama... se ejecutan hasta que se encuentra la declaración de interrupción, si no coinciden, verifique 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 desconexión.

Estructura de bucle

La estructura de bucle puede reducir la carga de trabajo de la escritura repetida de programas fuente y se utiliza para describir el problema de la ejecución repetida de un determinado algoritmo. Esta es la mejor manera de hacerlo. Para reflejar las fortalezas de las computadoras en la estructura del programa, el lenguaje C proporciona cuatro tipos de bucles, a saber, bucle goto, bucle while, bucle do- while y bucle for. Estos cuatro tipos de bucles se pueden utilizar para solucionar el mismo problema. En general, pueden reemplazarse entre sí. Sin embargo, generalmente no se recomienda utilizar bucles goto porque cambiar a la fuerza el orden del programa a menudo provocará errores imprevistos. ejecución del programa Al aprender En él, estudiamos principalmente tres tipos de bucles: while, do... while y for. El objetivo de aprender las tres estructuras de bucles de uso común es aclarar sus similitudes y diferencias para que puedan usarse en diferentes situaciones. Es necesario comprender el formato y el orden de ejecución de estos tres bucles después de tener una comprensión profunda del flujo. gráfico de cada bucle, cómo usarlos indistintamente, como usar un bucle while como ejemplo y usar una declaración for para reescribir un programa para comprender mejor su función. Se debe prestar especial atención al hecho de que el cuerpo del bucle debe contener declaraciones que tienden a terminar (es decir, cambios en el valor de la variable del bucle), de lo contrario puede convertirse en un bucle infinito, que es un error común cometido por los principiantes.

Después de conocer estos tres tipos de bucles, debes aclarar sus similitudes y diferencias: en los bucles while y do... while, la operación de inicialización de las variables del bucle debe realizarse antes del cuerpo del bucle, mientras que el El bucle for generalmente está en la declaración 1; tanto el bucle while como el for primero juzgan la expresión y luego ejecutan el cuerpo del bucle. En el bucle do... while, la operación de inicialización de la variable del bucle debe realizarse antes del cuerpo del bucle. el bucle for generalmente se realiza en la instrucción 2. Los bucles while y do... while evalúan la expresión primero y luego ejecutan el cuerpo del bucle, mientras que el bucle do... while generalmente se ejecuta en la instrucción 3. ... El bucle while ejecuta primero el cuerpo del bucle y luego evalúa la expresión, lo que significa que el cuerpo del bucle do... while se ejecuta al menos una vez, mientras que los bucles while y for pueden no ejecutarse en absoluto. También debe tenerse en cuenta que estos tres tipos de bucles pueden usar la instrucción break para saltar del bucle y la instrucción continue para finalizar el bucle, mientras que los bucles goto e if no se pueden controlar mediante instrucciones break y continue.

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 los bucles, y también puede haber bucles y estructuras secuenciales en las ramas. tipo de estructura, podemos generalizar Piense en ellos como una especie de declaración. En el proceso de programación real, estas tres estructuras a menudo se combinan para implementar varios algoritmos y diseñar los programas correspondientes. Sin embargo, si desea programar para resolver un problema más grande, los programas escritos suelen ser muy largos y tienen muchas estructuras repetidas. mala legibilidad y dificultad de comprensión. La solución a este problema es diseñar el programa C en una estructura modular.

Estructura modular del programa

La estructura modular del programa del lenguaje C se implementa mediante funciones, es decir, el programa C complejo se divide en varios módulos y cada módulo está escrito como un código C. Luego, la función principal llama a la función y la subfunción llama a la función para realizar la escritura del programa C de problemas a gran escala, lo que a menudo se dice: programa C = subfunción de la función principal.

Por lo tanto, se debe prestar especial atención a la comprensión y aplicación de las definiciones de funciones, llamadas y valores de retorno, y se deben consolidar mediante la depuración.

Fin

Tres. Domina algunos algoritmos simples

1

De hecho, una 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. Según nuestro programa de estudios de "Programación en lenguaje 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 método de intercambio de dos números, el método de comparación de tres números, el método de clasificación por selección, el método de clasificación por burbujas, etc. Esto requiere que tengamos claro el significado inherente de estos algoritmos.

Conclusión: cuando hayamos dominado los aspectos anteriores, siempre que podamos superar nuestro miedo a las dificultades y el disgusto por aprender, escuchar atentamente en clase y practicar y depurar con cuidado, el lenguaje C en realidad no es difícil de aprender. aprender.