Comprenda estas 8 preguntas del lenguaje C y podrá unirse a una gran fábrica
1. Utilice la directiva de preprocesamiento #define para declarar una constante que represente la cantidad de segundos en un año (ignore). la cuestión del año bisiesto).
#define SEC_YEAR (365*24*60*60)Prueba UL: 1. Conocimiento básico de la sintaxis #define (por ejemplo, no puede terminar en punto y coma, uso de paréntesis, etc.). 2. Sepa que el preprocesador evaluará la expresión constante por usted, por lo que será más limpio y económico simplemente escribir cómo calculó cuántos segundos en un año son, en lugar de calcular el valor real.
3. Tenga en cuenta que esta expresión desbordará un entero de máquina de 16 bits, así que utilice el símbolo de entero largo L para indicarle al compilador que la constante es un entero largo. 4. Si usa U (por largo sin signo) en su expresión, tiene un buen punto de partida. Recuerde, las primeras impresiones cuentan.
2. Escriba una macro MN "estándar" que reciba dos parámetros y devuelva el parámetro más pequeño.
#define MIN(a,b)((a)lt;=(b)?(a):(b))Puntos a examinar: 1. Determinar la aplicación básica de #define en macros. Esto es muy importante. Porque antes de que los operadores integrados (en línea) se convirtieran en parte del lenguaje C estándar, las macros eran la única forma de generar código integrado de manera conveniente, y para los sistemas integrados secos, para lograr el rendimiento requerido, el código de fórmula integrado suele ser el camino a seguir. 2. Sepa cómo poner entre corchetes cuidadosamente los parámetros en macros. 3. Sepa cómo usar #define en macros. También usaré esta pregunta para iniciar una discusión sobre los efectos secundarios de las macros.
3. ¿Cuál es la función del indicador #error del preprocesador?
Al compilar un programa, aparecerá un error de compilación cada vez que se encuentre #error. Dado que es un error de compilación, ¿para qué se necesita? Su propósito es garantizar que el programa se compile como lo imaginó. #ifdef XXX...#else...#endif
Cuando el programa es grande, algunas definiciones de macro generalmente se especifican externamente (como en el archivo MAKE) o en el archivo de encabezado del sistema para determinar si. XXX está definido actualmente, puedes compilar de la siguiente manera: #ifdef XXX#error "XXX ha sido definido"##else#endif, para que puedas compilar: #ifdef else#endif else#endif De esta manera, si ocurre un error durante Durante el proceso de compilación, se genera XXX que se ha definido, lo que indica que se ha definido la macro XXX.
4. Los bucles infinitos se utilizan a menudo en sistemas integrados. ¿Cómo escribir bucles infinitos en lenguaje C?
while(1), for(;;), loop:...., ir a loop.
5. Utilice la variable a para dar la siguiente definición:
-a) - un número entero.
-b) Puntero a número entero.
-c) Puntero a número entero (puntero a número entero).
-d) Matriz de 10 números enteros.
-e) Una matriz de 10 punteros a números enteros. (una matriz de 10 punteros enteros).
-f) Un puntero a una matriz de 10 números enteros. )
6. ¿Cuál es la función de la palabra clave estática?
En lenguaje C, la palabra clave static tiene tres funciones diferentes: primero, al modificar variables, las variables locales estáticas modificadas por static solo se ejecutan una vez y el ciclo de vida de las variables locales se extiende al programa. La carrera termina.
En segundo lugar, cuando static modifica una variable global, solo se puede acceder a la variable global en este archivo y no en ningún otro archivo, incluso si está declarado externamente.
En tercer lugar, cuando static modifica una función, 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.
7. ¿Cuál es el significado de la palabra clave const?
Siempre que una variable se modifica con const, significa que solo se puede acceder a los datos de la variable y no se pueden modificar, que es el precio de la regla de "solo lectura": quien esté cerca de const no puede modificar ; costo. Si se modifica una variable, se debe inicializar. Inicialice la variable; si no está inicializada, no se puede inicializar más tarde.
8. ¿Cuál es el significado de la palabra clave volátil? Y pon tres ejemplos diferentes.
Una variable definida como volátil significa que la variable puede cambiar inesperadamente, por lo que el compilador no asume el valor de la variable. Más bien, el optimizador debe volver a leer cuidadosamente el valor de la variable cada vez que se utiliza, en lugar de utilizar la copia de seguridad almacenada en un registro. A continuación se muestran algunos ejemplos de variables volátiles:
1: Registros de hardware (como registros de estado) de dispositivos paralelos.
2: Variables no automáticas a las que se accede en la subrutina del servicio de interrupción
3: Mediante múltiples tareas en aplicaciones multiproceso.