Red de conocimiento informático - Material del sitio web - Si la universidad comprende estos ocho problemas del lenguaje C, también puedes ingresar a una gran fábrica.

Si la universidad comprende estos ocho problemas del lenguaje C, también puedes ingresar a una gran fábrica.

¡Ocho problemas importantes del lenguaje C que debes comprender! Jin Dachang

1. Utilice la directiva de preprocesamiento #define para declarar una constante que muestre cuántos segundos hay en un año (ignore el problema del tocador).

#Definir seg_año (365*24*60*60) punto de detección ul:

Conocimientos básicos de 1. #Definir sintaxis (por ejemplo, no puede terminar con punto y coma, uso de paréntesis, etc.)

2. Debes saber que el preprocesador te ayudará a calcular el valor de una expresión constante, así que simplemente. escribe cómo lo calculas. Es más limpio y menos costoso calcular cuántos segundos hay en un año en lugar de calcular el valor real.

Reconozca que esta expresión desbordará un entero de máquina de 16 bits; por lo tanto, utilice el símbolo de entero largo L para indicarle al compilador que la constante es un entero largo.

Si usas UL (unsigned long) en tu expresión, tienes un buen punto de partida. Recuerde, las primeras impresiones cuentan.

2. Escribe una macro MIN "estándar" que tome dos argumentos y devuelva el más pequeño.

#Definir MIN(a,b)((a)lt;=(b)?(a):(b))

Punto de control: 1. Conocimientos básicos de identificación de #defines en aplicaciones macro. Esto es muy importante. Debido a que las macros eran la única forma de generar código integrado de manera conveniente antes de que los operadores en línea se convirtieran en parte del lenguaje C estándar, el código integrado a menudo era necesario para lograr el rendimiento deseado en los sistemas integrados.

2. Sepa cómo encerrar cuidadosamente los parámetros entre paréntesis en las macros.

3. También utilicé esta pregunta para analizar los efectos secundarios de las macros.

3. ¿Cuál es el propósito del identificador del preprocesador #error?

Al compilar un programa, siempre que se encuentre #error, aparecerá un error de compilación. Dado que es un error de compilación, ¿por qué? Su propósito es asegurar que el programa se compile como lo imaginaste.

#ifdef XXX...# else #Dean Cuando el programa es grande, algunas definiciones de macros a menudo se especifican externamente (como un archivo MAKE) o se especifican en un desastre del sistema. Cuando no esté seguro de si XXX está definido actualmente, puede compilarlo de la siguiente manera:

# ifdef XXX #Error "XXX ya está definido"..#else#endif

Esto De esta manera, si ocurre un error durante la compilación y se ha definido XXX, significa que se ha definido la macro XXX.

4. Los bucles infinitos se utilizan a menudo en sistemas integrados. ¿Cómo escribir un bucle infinito en lenguaje C?

while(1)

for(;;)

Bucle:...

Ir al bucle;

5. Utilice la variable A para dar la siguiente definición

a) Entero (un número entero)

Puntero a un número entero.

c) Puntero a puntero, puntero a entero (puntero a entero) d) d) Matriz de 10 enteros.

e) Una matriz con 10 punteros que apuntan a un número entero. (Matriz de 10 punteros enteros) f) Matriz de 10 punteros enteros.

6. ¿Cuál es la función de la palabra clave estática?

En lenguaje C, la palabra clave static tiene tres funciones obvias:

Primero, al modificar variables, la modificación estática de las variables locales estáticas solo se ejecuta una vez, extendiendo el ciclo de vida de las variables locales. . hasta el final del proceso.

En segundo lugar, cuando static modifica una variable global, solo se puede acceder a la variable global en este archivo y no en otros archivos, incluso si está declarada externamente por extern.

En tercer lugar, static modifica una función, por lo que la función solo se puede llamar en este archivo y no puede ser llamada por otros archivos. Las variables locales estáticas modificadas se almacenan en el área de variables estáticas del área de datos globales.

Inicializado automáticamente a 0 durante la inicialización;

7. ¿Qué significa la palabra clave const?

Siempre que una variable sea modificada por const, significa que solo se puede acceder a los datos de la variable y no se pueden modificar, lo que significa que const es "solo lectura".

Regla: Quien esté cerca de const no puede ser modificado;

Cuando const modifica una variable, debe inicializarse. Si no se inicializa, no se puede inicializar más tarde.

8. ¿Qué significa la palabra clave volátil? Y pon tres ejemplos diferentes.

Una variable definida como volátil significa que la variable puede cambiarse accidentalmente, por lo que el compilador no adoptará el valor de la variable. Para ser precisos, el optimizador debe volver a leer cuidadosamente el valor de esta variable cada vez que se utiliza, en lugar de utilizar la copia de seguridad almacenada en un registro. Los siguientes son algunos ejemplos de variables volátiles:

1: Registros de hardware de dispositivos paralelos (como registros de estado)

2. Variables no automáticas a las que se accederá en el servicio de interrupción. rutina.

3. Variables compartidas por múltiples tareas en aplicaciones multiproceso.