¿Cómo crear un diagrama de flujo con varios bucles for juntos?
(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 es de arriba a abajo. A continuación, ejecute en secuencia.
Por ejemplo; a = 3, b = 5, ahora intercambia 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. Si la tercera taza es c, entonces el programa correcto es: c = a; a = 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; entonces el resultado de la ejecución se convierte en a = b = c = 5, lo que 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 ramas
Aunque los programas con una estructura secuencial pueden resolver problemas como el cálculo y la salida, no pueden emitir juicios y luego tomar decisiones. 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.
No se deje confundir por el anidamiento de ramas cuando aprenda las estructuras de las 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
}
Ramas en esta estructura de ramas El cuerpo 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 x> = 0, su valor absoluto permanece sin cambios, y cuando x <0, su valor absoluto es el signo inverso de x, entonces el segmento del programa es: if(x<0) x=-x;
②if (condición)
else
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. Tanto la rama 1 como la rama 2 pueden estar compuestas por una o varias declaraciones. Por ejemplo: Encuentra la raíz de ax^2+bx+c=0
Análisis: Porque cuando b^2-4ac>=0, la ecuación tiene dos raíces reales, de lo contrario (b^2-4ac < 0) Hay dos raíces del complejo ***yoke.
El segmento del programa es el siguiente:
d=b*b-4*a*c
if(d>=0)
{x1=; (- b+sqrt(d))/2a
x2=(-b-sqrt(d))/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, <); /p>
printf(“x2=%8.4f-%8.4fi\n”r,i)
}
③Declaración de rama anidada: El formato de la declaración es:
si (condición 1);
si no (condición 2)
si no (condición 3)
……
else if (condición n)
else
Aunque las declaraciones de rama anidadas pueden resolver el problema de múltiples entradas y salidas, la estructura de la declaración se vuelve muy complicada después de más de tres niveles. de anidamiento., es extremadamente inconveniente para la lectura y comprensión del programa. Se recomienda anidar dentro de 3 capas. Para más de 3 capas, puede utilizar la siguiente declaración.
④Switch switch instrucció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, la ruta donde el valor de la expresión coincide con la expresión constante. A diferencia de la declaración if...else, 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 siguientes bloques y luego los bloques de la segunda rama. la tercera rama... se ejecuta hasta que se encuentra una declaración de interrupción, si no coincide, averigüe 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. el método más eficaz en programación Aprovechando la estructura de programas especializados de la computadora, el lenguaje C proporciona cuatro tipos de bucles, a saber, bucle goto, bucle while, bucle do- while y 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, debes aclarar sus similitudes y diferencias: al usar los bucles while y do... while, la operación de inicialización de las variables del bucle debe ser antes del cuerpo del bucle, mientras que el bucle for generalmente está en la declaración 1. Se lleva a cabo en; el bucle while y el bucle for juzgan la expresión primero y luego ejecutan el cuerpo del bucle, mientras que el bucle do... while ejecuta el cuerpo del bucle primero y luego juzga la expresión, lo que significa que el cuerpo del bucle do... while se ejecuta al menos una vez. El bucle while y for no pueden ejecutarse 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 los bucles, y también puede haber bucles y estructuras secuenciales en las ramas. tipo de estructura, podemos pensar en ellos en términos generales como una 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 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. en una función C, y luego la función principal llama a la función y la función llama a la función para realizar la escritura de un programa C a gran escala. Por lo tanto, a menudo se dice: programa C = función principal + subfunción. 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.
3. Domina 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, lo que requiere que tengamos claro el significado interno de estos algoritmos.
Conclusión: cuando hayamos comprendido los aspectos anteriores, Siempre que los estudiantes puedan superar su miedo a las dificultades y el cansancio del aprendizaje, escuchar atentamente en clase y hacer ejercicios y depurar la computadora, el lenguaje C en realidad no es difícil de aprender
Palabras clave del programa fuente C --- --- ----------------------------------------------- --- ----------------------------------
Las llamadas palabras clave tienen ha sido utilizado por el propio lenguaje C y no puede ser utilizado para otros fines. Por ejemplo, las palabras clave no se pueden utilizar como nombres de variables, nombres de funciones, etc.
***32 palabras clave en lenguaje C definidas por el estándar ANSI:
auto double int struct break else long cambiar caso enum registro typedef char extern return union const float short unsigned continuar para firmado void default goto sizeof volatile do if while static
Según la función de las palabras clave, se pueden dividir en palabras clave de tipo de datos, declaración de control palabras clave, hay cuatro categorías de palabras clave de tipo de almacenamiento y otras palabras clave.
1 Palabras clave de tipo de datos (12):
(1) char: declara variables o funciones de caracteres
(2) double: declara variable o función de doble precisión
(3) enum: declara el tipo de enumeración
(4) float: declara una variable o función de punto flotante
(5) int: declara una variable entera o función
(6) long: declara una variable o función entera larga
(7) short: declara una variable o función entera corta
(8) firmado: declara variables o funciones de tipo con signo
(9) struct: declara variables o funciones de estructura
(10) union: declara tipos de datos de unión
(11 ) unsigned: declara una variable o función de tipo sin signo
(12) void: declara una función sin valor de retorno ni parámetros, declara un puntero sin tipo (básicamente estas tres funciones)
( 2) Palabras clave de declaración de control (12):
Una declaración de bucle
(1) para: una declaración de bucle (se puede entender pero no
(2 ) do: el cuerpo del bucle de la instrucción del bucle
(3) while: la condición del bucle de la instrucción del bucle
(4) break: saltar del bucle actual
(5) continuar: finalizar el ciclo actual e iniciar el siguiente ciclo
Declaración condicional B
(1)if: declaración condicional
( 2)else: rama de negación de sentencia condicional (usada con if)
(3)goto: sentencia de salto incondicional
Declaración de cambio C
(1)cambiar: usado para declaraciones de cambio
(2)caso: rama de declaración de cambio
(3)predeterminado: rama "otra" en la declaración de cambio
D
return: declaración de retorno del subprograma (puede tomar parámetros o no)
3 palabras clave de tipo de almacenamiento (4)
( 1)auto: generalmente no se usa para declarar variables automáticas p>
(2)extern: la variable declarada se declara en otros archivos (también se puede considerar como una variable de referencia)
(3)register: declara variables acumuladas
(4)estático: Declarar variables estáticas
4 Otras palabras clave (4):
(1)const: Declarar solo variables de lectura
(2)sizeof: calcular la longitud del tipo de datos
(3)typedef: se utiliza para asignar un alias al tipo de datos (por supuesto, hay otras funciones
(4)volatile: indica que las variables se pueden cambiar implícitamente durante la ejecución del programa