Red de conocimiento informático - Espacio del host - Para convertirte en un "excelente programador", debes conocer el "lenguaje C".

Para convertirte en un "excelente programador", debes conocer el "lenguaje C".

Recomendado:

1. Guía de programación en lenguaje C

read.net/cnread1/dnwl/cxsj/c/cyyb/

ool.net/tianyige/computer/tc/

2.C en China

.net/Article/kfyy/cyy/

5.C idioma Inicio

/wenzhang06/default.asp

6.C Language Base

/

C Language Base cuenta con enseñanza en vídeo impartida por profesores de escuelas famosas

Creo que para aprender bien el lenguaje C, primero debes comprender el programa de estudios y el contenido del lenguaje C en el examen de grado, así como los usos de varios materiales auxiliares. Esta es la base del aprendizaje. Lenguaje C bien. Por experiencia previa y cierta información en el sitio web del examen, podemos saber que si quieres estudiar por tu cuenta el lenguaje C, debes preparar los siguientes materiales:

1 Libro de texto: ahora todos reconocen el editado por. Tan Haoqiang de la Universidad de Tsinghua, por supuesto que hay otros. Sí, como los de las editoriales universitarias.

2. Colección de ejercicios: Creo que la "Colección de preguntas de muestra en lenguaje C" de la Universidad de Tsinghua es buena. Hay respuestas al final del libro.

3. Práctica informática: Creo que la de la Universidad de Nankai está bien. Lo mejor es hacerla de principio a fin antes del examen. Las respuestas se pueden descargar desde el área de descargas de Kao.com.

4. Esquema: Definitivamente es necesario. Puede descargarlo desde la versión de segundo nivel de Kao.com e imprimirlo.

5. Plan de autoestudio: para aprender el lenguaje C de manera planificada y decidida, todos pueden desarrollar un plan de autoestudio basado en su propia situación de aprendizaje (o trabajo) y aprender paso a paso. .

6. Disco de simulación: Para familiarizarse mejor con el entorno de la sala de exploración, es imprescindible el siguiente disco de simulación, que se puede encontrar en /. Descargue, tenga en cuenta que debe quitar el disco de claves al realizar la descarga; de lo contrario, no podrá ingresar al entorno del examen.

7. CD de enseñanza: Sería mejor si pudieras comprar un CD de enseñanza del lenguaje C, para que puedas aprender el lenguaje C de manera más intuitiva.

Lo siguiente se centrará en varios puntos clave y dificultades del lenguaje C desde una perspectiva micro, y hablará sobre métodos de autoaprendizaje específicos uno por uno.

2 Cómo aprender los operadores y el orden de operación del lenguaje C

El lenguaje C tiene funciones informáticas muy ricas y los tipos de operaciones son mucho más que otros lenguajes de programación. Por lo tanto, cuando varias operaciones diferentes forman una expresión operativa, es decir, cuando aparecen varios operadores en una expresión operativa, el orden de precedencia y las reglas de combinación de las operaciones son muy importantes.

Los principiantes a menudo encuentran esto muy difícil y piensan que aprender el lenguaje C es demasiado complicado. De hecho, siempre que los clasifiquemos razonablemente y descubramos las diferencias entre ellos y las operaciones que hemos aprendido en matemáticas. No es difícil recordar estas operaciones. Algunos operadores se recordarán después de comprenderlos y serán fáciles de usar en el futuro, mientras que algunos operadores se pueden abandonar y recordar temporalmente hasta que se utilicen.

La siguiente es una lista de todos los operadores clasificados por prioridad: (Lo siento, debido a que la tabla no se muestra correctamente y la he eliminado, puedes leerla en el libro)

Enumerados en la tabla Hay 15 operadores de prioridad, de mayor a menor, con prioridades del 1 al 15. La última columna es la regla de combinación. Excepto los niveles 2, 3 y 14, que se combinan de derecha a izquierda, el. otros son de derecha a izquierda. Combinado de izquierda a derecha, determina el orden de operación de los operadores del mismo nivel.

Ilustrémoslo con varios ejemplos:

(1) 3*20/4%10 Hay tres operadores en esta expresión, que son operadores del mismo nivel. combinados de izquierda a derecha, por lo que primero se calcula 3 * 20 = 60, luego se divide por 4, el resultado es 15, y finalmente se realiza la operación % (resto), por lo que el resultado final de la expresión es 15% 10 = 5

(2) a = 3; b = 5; c =++ a* b; d =a + +* b; delimitador de declaraciones en símbolos del lenguaje C, el orden de ejecución es de izquierda a derecha, el valor de a después de la ejecución de la primera declaración es 3, el valor de b después de la ejecución de la segunda declaración es 5, hay dos operadores en el tercera declaración ++ y *, en el orden indicado en la tabla, ++ se ejecuta primero, * se ejecuta al final, por lo que después de ejecutar ++ a, el valor de a es 4. Dado que ++ es una operación de prefijo, la El valor 4 de a participa en la operación y el valor de C es 20. Finalmente, ejecute la cuarta instrucción. Dado que a ++ es una operación posterior a la posición, el valor de a es 4 y participa en la operación, de modo que el valor de a. d sigue siendo 20. 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

El "," en el ejemplo es una operación de combinación de coma, y ​​lo anterior la fórmula se llama coma Las expresiones se combinan de izquierda a derecha. El valor del resultado de la última expresión es el resultado de la expresión de coma, por lo que el resultado de la expresión de coma anterior es 40, el valor de a es 3 y el valor de b es. 8 y el valor de c es 40 .

3. Cómo aprender las cuatro estructuras de programa del lenguaje C

(1) Estructura secuencial

El programa con esta estructura es relativamente simple, es decir, según la disposición de las declaraciones Un mecanismo para la ejecución secuencial. El orden de ejecución de la estructura secuencial es de arriba a abajo, uno tras otro. Por lo tanto, al escribir un programa, también debe cumplir con esta regla; de lo contrario, el resultado de la ejecución de su programa será incorrecto.

Por ejemplo; a = 3, b = 5, ahora intercambia los valores de a y b. El procedimiento 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

Entonces el resultado de la ejecución se convierte en a = b =; c = 5, que no puede lograr el propósito esperado. Este es un error común que cometen los principiantes.

La estructura secuencial se puede utilizar de forma independiente para formar un programa completo simple. El programa común de tres pasos de entrada, cálculo y salida es la estructura secuencial, por ejemplo, para calcular el área de un. círculo, la secuencia de instrucciones del programa es el círculo de entrada Radio R, calcule S = 3.14159 * R * R y genere el área S del círculo. 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 bloques en estructuras de rama, bucles en estructuras de bucle, etc.

Método de autoaprendizaje del lenguaje C (2)

(2) Estructura de rama

La estructura de rama es diferente de la estructura secuencial. Su ejecución selecciona la ejecución. ruta basada en ciertas condiciones, en lugar de seguir estrictamente el orden físico en el 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 lógicos. Al diseñar dichos programas, 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. De esta manera, el análisis del diseño del programa y la separación de lenguajes hacen 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 comprenda la estructura básica de las ramas, la estructura anidada no es difícil. El anidamiento son solo declaraciones de rama incluidas en bloques de rama. No es un conocimiento nuevo, siempre que tenga conocimientos básicos sólidos, el anidamiento de ramas no será un problema para usted. A continuación nos centraremos en varios métodos básicos para aprender estructuras de rama.

①If (condición)

{

Bloque

}

Los bloques en esta estructura de rama pueden Es una declaración. En este caso, "{

}" se puede omitir o pueden ser varias declaraciones. Tiene dos rutas de bifurcación para elegir, una es ejecutar el bloque si la condición es verdadera y la otra es omitir el bloque si no se cumple la condición.

Por ejemplo, para calcular el valor absoluto de x, según 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, por lo que el segmento del programa es: if(x<0)

x=-x

②if (condición)

; {Bloque 1}

else

{Bloque 2}

Esta es una estructura de rama típica. Si la condición es verdadera, se ejecuta el bloque 1; de lo contrario, se ejecuta el bloque. 2 se ejecuta. Tanto el bloque 1 como el bloque 2 tienen 1 Consta de 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 complejas de yugo ***. El segmento del programa es el siguiente:

d=b*b-4*a*c

if(d>=0)

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

x1=(-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)

}

③Múltiples ramas: el formato de la declaración es:

si (condición 1) {bloque 1};

si no (condición 2) {bloque 2}

si no (condición 3) {bloque 3}

......

si no (condición n) {bloque n}

si no {bloque n+1}

④Sentencia de cambio:

< La declaración p>switch

también es una declaración de selección de múltiples ramas, también conocida como declaración de cambio multidireccional. El bloque que se ejecuta depende de la configuración del interruptor. es decir, aquel cuyo valor de expresión coincide con la expresión constante, es diferente de la declaración if-else. Todas sus ramas son paralelas. Cuando se ejecuta el programa, la búsqueda comienza desde la primera rama. se ejecutan los siguientes bloques, y luego la segunda rama, la tercera rama... bloquean hasta que se encuentra una declaración de interrupción, si no coincide, busque si la siguiente rama coincide;

(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 usar cuatro tipos de bucles para tratar el mismo problema. Generalmente, pueden reemplazarse entre sí, pero generalmente no se menciona el uso de bucles goto, por lo que a continuación nos centraremos en los otros tres bucles.

El objetivo de aprender las tres estructuras de bucle de uso común es comprender sus similitudes y diferencias para que puedan usarse en diferentes situaciones. Echemos un vistazo al formato y orden de ejecución de los tres bucles. el libro y cómo reemplazarlos. Utilice, por ejemplo, el ejemplo del bucle while y reescriba un programa usando declaraciones for, para que pueda comprender mejor sus funciones.

Nota: En el cuerpo de los bucles while y do- while y en la tercera declaración del bucle for

, las declaraciones que tienden a terminar (como I++, I--) Debe incluirse. De lo contrario, puede convertirse en un bucle infinito, lo que también es un error común entre los principiantes.

Analicemos las similitudes y diferencias entre estos tres tipos de bucles:

Cuando se utilizan 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 se realiza en la instrucción 1; el bucle while

y el bucle for juzgan primero 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 se ejecuta al menos una vez, pero el bucle while

y for no necesariamente se ejecutan. Los tres tipos de bucles pueden usar 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 and if no puede ser controlado por break y

<. p>continuar declaraciones.

Estas tres estructuras no están aisladas entre sí. Las ramas y las estructuras secuenciales pueden aparecer en los bucles, y los bucles y las estructuras secuenciales también pueden aparecer en las ramas. Piense en los bucles y las ramas como una declaración, que también está compuesta. de Un elemento de la estructura secuencial. Por lo tanto, al combinar estas tres estructuras, se pueden implementar varios algoritmos y se pueden diseñar programas de resolución de problemas. Sin embargo, si se trata de un problema grande, el programa compilado de esta manera suele ser muy largo. tiene muchas estructuras repetidas y es legible y su rendimiento es deficiente, por lo que a menudo diseñamos programas 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 Legal C, y luego use la función de llamada de función principal y la función de llamada de función para implementar un programa C grande: programa C = función principal (principal) + varias funciones.

En programación, algunos módulos funcionales de uso común a menudo se escriben como funciones, o grandes segmentos de programas se pueden dividir en varias funciones. El propósito del primero es reducir la carga de trabajo de escribir repetidamente segmentos de programas. El propósito de este último es acortar la longitud del módulo para que el programa sea más fácil de leer.

Un archivo de programa fuente consta de una o más funciones, que es una unidad de compilación, y un programa C consta de uno o más archivos de programa fuente. Los programas más grandes a menudo se dividen en varios archivos, de modo que puedan escribirse y compilarse por separado para mejorar la eficiencia de la depuración. Varios programas C pueden compartir un archivo de programa fuente.

La ejecución de un programa en C comienza desde la función main() Después de llamar a otras funciones, el proceso regresa a la función principal y finaliza toda la operación de la función en main. especificado por el sistema y puede ser modificado por el usuario. Su contenido es el cuerpo de la función, pero su nombre y parámetros no se pueden modificar. El programa C debe tener una función principal y solo puede haber una función principal.

Todas las funciones son paralelas, es decir, son independientes entre sí al definir una función. Una función no está subordinada a otra función, es decir, las funciones no se pueden anidar en la definición, pero pueden llamar a cada una. otros, pero no pueden llamar a la función principal.

Las funciones se dividen en dos categorías, a saber, funciones estándar y funciones definidas por el usuario. Las funciones estándar, también llamadas funciones de biblioteca, son proporcionadas por el sistema y los usuarios pueden llamarlas directamente. funciones de la biblioteca. Se pide a los candidatos que escriban cuando programen C, consulte las descripciones de las funciones en el libro de texto, lo que puede ahorrarle la carga de trabajo de programación; las funciones definidas por el usuario las escriben los propios programadores.

Respuesta: Ala Lei - Nivel de prueba 1 7-23 11:13

Evaluación de la respuesta por parte del interrogador:

¡Genial, muchas gracias!

La reseña ha sido cerrada. Actualmente hay 1 reseñas

Buenas

100% (1) Malas

0% (0). )

Comentarios sobre la mejor respuesta

19798802 ¡Únase al grupo de principiantes en lenguaje C! ! ! ! ! ! 1

Comentador: 549045259 - Aprendiz de Mago Nivel 2

Las personas impetuosas tienden a preguntar: ¿Qué debo aprender? ----No preguntes, solo aprendelo. Es fácil para la gente decir: ¡Quiero la versión china! ¡No puedo hablar inglés! ----¿No? ¡Aprender! Hay dos tipos de personas impetuosas: las que sólo miran sin aprender; las que sólo aprenden sin persistir; las personas impetuosas nunca serán un maestro.

Comentador: hnytgl - Nivel de prueba 1

Otras respuestas*** 4

1. Lee el código

2. ¡Cambiar! el código!

3. ¡Escribe el código!

Respuesta: liuding1213 - Mago en prácticas Nivel 2 7-18 21:10

Encuentra libros de texto clásicos, como como "Diseño Chen Xu en lenguaje C" de Tan Haoqiang.

Busque un libro de ejercicios que tenga todas las explicaciones detalladas, preferiblemente con respuestas en código para ejemplos.

Dedica un mes a leer el libro de texto para asegurarte de que lo entiendes. No te detengas en cosas que no entiendes, márcalas y resuélvelas más tarde. Luego comience a hacer las preguntas. No las deje pasar solo porque son simples. A menudo hay grandes descubrimientos detrás de la simplicidad. También puede leer el libro rápidamente y luego revisarlo. Después de revisar cada capítulo, puede responder las preguntas del conjunto de ejercicios con atención.

A la hora de hacer las preguntas, lo mejor es practicar lo que no entiendes en el ordenador, y luego anotar tus pensamientos y experiencias en tu cuaderno. Simplemente revise sus notas antes del examen.

Un viaje de mil millas comienza con un solo paso, ¡toma acción!