Las 25 preguntas y respuestas más comunes de la entrevista C [para estudiantes de primer año]
Publicado: 2020-12-18C es un potente lenguaje de programación de propósito general que admite paradigmas procedimentales, imperativos y estructurados. Se utiliza para desarrollar sistemas operativos, bases de datos y software de aplicación para una amplia gama de arquitecturas informáticas (PLC, sistemas integrados, etc.). C es un lenguaje excelente para principiantes con una curva de aprendizaje fácil.
Cualquiera que aspire a construir una carrera en desarrollo de software debe dominar los conceptos básicos de C. Una vez que haya aprendido los detalles del lenguaje de programación C, ¡estará listo para descifrar la entrevista de C!
En este blog, lo guiaremos a través de algunas de las preguntas más frecuentes de la entrevista C. Por lo general, una entrevista de trabajo comienza probando su conocimiento básico del tema (en este caso, el lenguaje de programación C) y avanza gradualmente para explorar sus habilidades prácticas en el dominio.
Entonces, sin más preámbulos, ¡echemos un vistazo a las 25 preguntas más frecuentes de la entrevista C!
C Preguntas y respuestas de la entrevista
- ¿Cuáles son las características principales de C?
El lenguaje de programación C es:
- Nivel medio: C combina las mejores características de los lenguajes de bajo y alto nivel para crear un lenguaje de programación refinado de nivel medio.
- Estructurado: C es un lenguaje estructurado, lo que significa que los programas C están segmentados en varias partes.
- Portátil: una vez que escribe un programa en C, puede ejecutarlo en cualquier máquina con modificaciones mínimas o sin ellas.
- Rápido: C utiliza una variedad de tipos de datos y operadores, lo que lo hace muy rápido y eficiente.
- Extensible: C es altamente extensible ya que puede adaptarse sin problemas a nuevas características.
- Administración de memoria: C tiene una función de memoria incorporada que ahorra memoria y mejora la eficiencia del programa C.
- ¿Qué tipos de datos admite C?
C tiene cuatro categorías de tipos de datos:

- Tipo de datos básicos
- Tipo de datos derivados
- Tipo de datos enumerados
- Tipo de datos nulo
- Explicar "Variable de puntero colgante" en lenguaje C.
En la programación C, un puntero indica la ubicación de la memoria o la dirección de una variable existente. Sin embargo, si esa variable se elimina y el puntero se dirige a la misma ubicación de memoria, se denomina variable de puntero colgante.
- ¿Qué es un "Puntero sobre puntero"?
Un "Puntero sobre puntero" se refiere a una variable de puntero que contiene la dirección de otra variable de puntero. En esencia, el puntero elimina la referencia dos veces para indicar los datos contenidos en la variable de puntero designada.
- Defina una "matriz".
Una matriz es una estructura de datos que contiene múltiples elementos del mismo tipo de datos de manera organizada. Las matrices suelen ser de tres tipos: unidimensionales, bidimensionales y tridimensionales.
- ¿Qué es una variable estática? ¿Por qué se usan variables estáticas en C?
Una variable estática es aquella que se declara mediante la palabra clave “Static”. Una variable estática conserva su valor entre múltiples llamadas a funciones.
La variable estática se usa como un valor común compartido por todos los métodos y se inicializa solo una vez en el montón de memoria para reducir el uso de memoria. Si bien la variable estática inicialmente se inicializa a cero, si actualiza el valor de una variable, se asignará el valor actualizado.
- Definir el "alcance" de una variable.
El alcance de una variable se refiere a la parte del código (función) en la que se declara la variable. En el lenguaje de programación C, todos los identificadores tienen un alcance estático o léxico.
- ¿Qué es la asignación de memoria dinámica?
La asignación dinámica de memoria es el procedimiento de asignación de memoria al programa C y sus variables durante el tiempo de ejecución. Mientras que malloc(), calloc() y realloc() asignan memoria, la función free() libera el espacio de memoria utilizado.
Leer : Preguntas y respuestas de la entrevista SQL
- Explique la diferencia entre las funciones calloc() y malloc().
En C, tanto calloc() como malloc() son funciones de asignación de memoria que asignan memoria desde el área del montón (memoria dinámica). La principal diferencia entre las dos funciones de asignación de memoria es que calloc() carga todas las ubicaciones de memoria asignadas con el valor 0 mientras que malloc() no lo hace.
- Explique la “Asignación de memoria estática”.
A diferencia de la asignación de memoria dinámica que asigna memoria en tiempo de ejecución, la asignación de memoria estática asigna la memoria durante la compilación. La asignación de memoria estática no le permite aumentar la asignación de memoria mientras se ejecuta el programa C. Puede implementar la memoria estática usando stacks/heap y asignar la memoria usando la palabra clave "Static". En general, la asignación de memoria estática requiere más espacio de memoria para almacenar variables que la asignación de memoria dinámica.
- Nombre algunos tokens C?
Un Token es un identificador. Por lo general, es la unidad más pequeña en un programa C. Las constantes, las cadenas, las palabras clave, los operadores, los identificadores y los caracteres especiales son algunos tokens de C que se utilizan para escribir programas en C.
- ¿Se compilará o ejecutará un código C sin una función main()?
En ausencia de una función main(), el programa C compilará en lugar de ejecutarse porque la función main() es obligatoria para ejecutar cualquier programa C.
- Defina una "Estructura anidada".
Una estructura anidada se crea cuando un elemento o miembro de datos de una función contiene un miembro de datos de otra estructura.

- Distinguir entre parámetros reales y formales.
Los parámetros reales se envían desde la función principal a la función subdividida, y los parámetros declarados como función subdividida se conocen como parámetros formales.
- ¿Qué es una directiva de preprocesador?
Una directiva de preprocesador es una función predefinida incorporada que funciona como una directiva para que el compilador realice tareas específicas antes de que comience el proceso de compilación. Por lo tanto, una directiva de preprocesador siempre se ejecuta antes de que se ejecute un programa C.
- Defina "Argumentos de línea de comando".
Los argumentos que se pasan a la función main() durante la ejecución de un programa en C se conocen como argumentos de la línea de comandos. El primer argumento indica el recuento de argumentos y el sistema operativo lo actualiza automáticamente. El segundo argumento (una matriz de punteros de caracteres) siempre contiene cadenas como parámetros.
- ¿Cómo se pueden asignar parámetros a las funciones?
Hay dos formas de asignar parámetros a las funciones:
- Llamada por valor: este método se elige solo cuando no desea modificar los parámetros reales con parámetros formales, por lo que solo envía una copia de los valores como parámetros a las funciones.
- Llamada por referencia: en este enfoque, envía la dirección de los parámetros reales para modificarlos usando parámetros formales.
Echa un vistazo a: preguntas de la entrevista de desarrollador de pila completa
- ¿Qué es una “Unión” en C?
En C, una unión es un tipo de datos definido por el usuario que puede almacenar múltiples tipos de datos en una sola unidad. Solo contiene la memoria del miembro más grande en lugar de la memoria total de todos los miembros. Dado que una unión asigna un espacio compartido para todos los miembros de una unión, solo puede acceder a una variable a la vez en una unión.
- Explique “Recursividad”.
La recursividad es cuando una función se llama a sí misma, y la función que se llama a sí misma se conoce como función recursiva. Una función recursiva ocurre en dos etapas:
- Fase de liquidación: cuando una función recursiva se llama a sí misma y cumple la condición deseada, la fase de liquidación finaliza.
- Fase de desenrollado: una vez que se alcanza la fase de desenrollado, se inicia la fase de desenrollado al devolver el control a la llamada original.
- ¿Cómo declarar una función en C?
Puedes declarar una función en C así:
return_type function_name (lista de parámetros formales)
{
Cuerpo_función;
}
- ¿Qué hace la función sprintf()?
La función sprintf() se usa para imprimir cadenas. Obtiene el número total de caracteres en una cadena. Esta función transfiere los datos al búfer y, por lo tanto, no imprime la salida en la pantalla. La sintaxis de la función sprintf() es:
int sprintf (char * str, const char * formato, …);
- ¿Distinguir entre las funciones getch() y getche()?
En un programa C, la función getch() lee un solo carácter de la palabra clave. Dado que utiliza cualquier búfer, no mostrará los datos que ingrese en la pantalla. Por el contrario, mientras que la función getche() también lee un solo carácter de la palabra clave, muestra los datos en la pantalla.
- ¿Qué es "Rvalue" y "Ivalue"?
Rvalue es la expresión que se encuentra en el lado derecho del operador de asignación. Se asigna al Ivalue que se encuentra en el operador de asignación. El lvalue solo debe referirse a una variable y no a una constante.
- Nombre los diferentes especificadores de clase de almacenamiento en C.
En C, hay cuatro especificadores de almacenamiento:

- Auto
- Estático
- Registrarse
- Externo
- ¿Hay alguna diferencia entre declarar un archivo de encabezado con "" y < >?
Si declara un archivo de encabezado usando " ", el compilador busca el archivo de encabezado en el directorio de trabajo actual y, si no encuentra el archivo allí, busca en otras ubicaciones para encontrar el archivo de encabezado. Sin embargo, si declara el archivo de encabezado usando < >, el compilador busca el archivo siguiendo la ruta integrada.
Echa un vistazo a: 15 consejos de entrevista para sobresalir en tu entrevista de trabajo
Inscríbase en cursos de ingeniería de software de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Conclusión
Entonces, ahí lo tienes: preguntas y respuestas de la entrevista de 25 C para ayudarte a prepararte para tu próxima entrevista de trabajo. Aunque estas preguntas solo rascan la superficie de la programación en C, con suerte, le darán una idea de lo que puede esperar en las entrevistas de C.
Si está interesado en obtener más información sobre el desarrollo de software de pila completa, consulte el programa Executive PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.
