Preguntas frecuentes de la entrevista de programación C | conjunto 2

 

Esta publicación es el segundo conjunto de preguntas frecuentes de la entrevista de programación C | Conjunto 1
¿Cuáles son las principales características del lenguaje C?  
C es un lenguaje procedimental. Las características principales del lenguaje C incluyen acceso de bajo nivel a la memoria, conjunto simple de palabras clave y estilo limpio. Estas características lo hacen adecuado para la programación de sistemas, como sistemas operativos o desarrollo de compiladores. 

 

¿Cuál es la diferencia entre i++ y ++i?  
1) La expresión ‘i++’ devuelve el valor anterior y luego incrementa i. La expresión ++i incrementa el valor y devuelve un nuevo valor. 
2) La precedencia del sufijo ++ es mayor que la del prefijo ++. 
3) La asociatividad del sufijo ++ es de izquierda a derecha y la asociatividad del prefijo ++ es de derecha a izquierda. 
4) En C++, ++i se puede usar como valor l, pero i++ no. En C, ambos no se pueden usar como valor l. 
Ver  Diferencia entre ++*p, *p++ y *++p  para más detalles.
¿Qué es el valor l?  
El valor l o valor de ubicación se refiere a una expresión que se puede usar en el lado izquierdo del operador de asignación. Por ejemplo, en la expresión “a = 3”, a es el valor l y 3 es el valor r. 
Los valores l son de dos tipos: 
El «valor l no modificable» representa un valor l que no se puede modificar. Las variables const son «valor l no modificable». 
«valor l modificable» representa un valor l que se puede modificar.
Consulte lvalue y rvalue en lenguaje C para obtener más detalles.
¿Cuál es la diferencia entre array y puntero?  
Ver Array vs Pointer
¿Cómo escribir su propio operador sizeof? 

c

#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)

Consulte Implementar su propio tamaño de para obtener más detalles.
¿Cómo imprimirá números del 1 al 100 sin usar el bucle?  
Podemos usar la recursividad para este propósito.

C

/* Prints numbers from 1 to n */
void printNos(unsigned int n)
{
  if(n > 0)
  {
    printNos(n-1);
    printf("%d ",  n);
  }
}

¿Qué es una palabra clave volátil?  
La palabra clave volatile está destinada a evitar que el compilador aplique optimizaciones en objetos que pueden cambiar de formas que el compilador no puede determinar. 
Los objetos declarados como volátiles se omiten de la optimización porque sus valores pueden cambiarse mediante código fuera del alcance del código actual en cualquier momento. Consulte Comprender el calificador «volátil» en C para obtener más detalles.
¿Puede una variable ser tanto constante como volátil?  
sí, la const significa que a la variable no se le puede asignar un nuevo valor. El valor se puede cambiar por otro código o puntero. Por ejemplo, el siguiente programa funciona bien. 

C

#include <stdio.h>
int main(void)
{
    const volatile int local = 10;
    int* ptr = (int*)&local;
    printf("Initial value of local : %d \n", local);
    *ptr = 100;
    printf("Modified value of local: %d \n", local);
    return 0;
}

Pronto publicaremos más conjuntos de preguntas frecuentes sobre programación en C.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *