25 questions et réponses d'entrevue C les plus courantes [Pour les débutants]
Publié: 2020-12-18C est un puissant langage de programmation polyvalent qui prend en charge les paradigmes procéduraux, impératifs et structurés. Il est utilisé pour développer des systèmes d'exploitation, des bases de données et des logiciels d'application pour une large gamme d'architectures informatiques (automates, systèmes embarqués, etc.). C est un excellent langage adapté aux débutants avec une courbe d'apprentissage facile.
Toute personne aspirant à faire carrière dans le développement de logiciels doit maîtriser les bases du C. Une fois que vous aurez appris les moindres détails du langage de programmation C, vous serez prêt à passer l'entretien C !
Dans ce blog, nous vous expliquerons certaines des questions d'entretien C les plus fréquemment posées. En règle générale, un entretien d'embauche commence par tester vos connaissances de base sur le sujet (dans ce cas, le langage de programmation C) et passe progressivement à l'exploration de vos compétences pratiques dans le domaine.
Alors, sans plus tarder, regardons les 25 questions d'entretien C les plus fréquemment posées !
C Questions et réponses d'entrevue
- Quelles sont les principales fonctionnalités de C ?
Le langage de programmation C est :
- Niveau intermédiaire - C combine les meilleures fonctionnalités des langages de bas niveau et de haut niveau pour créer un langage de programmation raffiné de niveau intermédiaire.
- Structuré - C est un langage structuré, ce qui signifie que les programmes C sont segmentés en plusieurs parties.
- Portable - Une fois que vous avez écrit un programme en C, vous pouvez l'exécuter sur n'importe quelle machine avec peu ou pas de modifications.
- Rapide - C utilise un assortiment de types de données et d'opérateurs, ce qui le rend très rapide et efficace.
- Extensible - C est hautement extensible car il peut s'adapter de manière transparente aux nouvelles fonctionnalités.
- Gestion de la mémoire - C a une fonction de mémoire intégrée qui économise de la mémoire et améliore l'efficacité du programme C.
- Quels types de données le C prend-il en charge ?
C a quatre catégories de types de données :

- Type de données de base
- Type de données dérivé
- Type de données énumérées
- Type de données vide
- Expliquez "Dangling Pointer Variable" en langage C.
En programmation C, un pointeur indique l'emplacement mémoire ou l'adresse d'une variable existante. Cependant, si cette variable est supprimée et que le pointeur pointe vers le même emplacement mémoire, il s'appelle la variable de pointeur pendant.
- Qu'est-ce qu'un "pointeur sur pointeur ?"
Un « pointeur sur pointeur » fait référence à une variable de pointeur qui contient l'adresse d'une autre variable de pointeur. Essentiellement, le pointeur déréférence deux fois pour indiquer les données contenues dans la variable de pointeur désignée.
- Définissez un "tableau".
Un tableau est une structure de données contenant plusieurs éléments du même type de données de manière organisée. Les tableaux sont généralement de trois types : unidimensionnel, bidimensionnel et tridimensionnel.
- Qu'est-ce qu'une variable statique ? Pourquoi les variables statiques sont-elles utilisées en C ?
Une variable statique est une variable déclarée par le mot-clé "Static". Une variable statique conserve sa valeur entre plusieurs appels de fonction.
La variable statique est utilisée comme valeur commune partagée par toutes les méthodes et n'est initialisée qu'une seule fois dans le tas mémoire pour réduire l'utilisation de la mémoire. Alors que la variable statique est initialement initialisée à zéro, si vous mettez à jour la valeur d'une variable, la valeur mise à jour sera affectée.
- Définissez la "portée" d'une variable.
La portée d'une variable fait référence à la partie du code (fonction) dans laquelle la variable est déclarée. Dans le langage de programmation C, tous les identifiants ont une portée statique ou lexicale.
- Qu'est-ce que l'allocation dynamique de mémoire ?
L'allocation de mémoire dynamique est la procédure d'allocation de mémoire au programme C et à ses variables pendant l'exécution. Alors que malloc(), calloc() et realloc() allouent de la mémoire, la fonction free() libère l'espace mémoire utilisé.
Lire : Questions et réponses de l'entretien SQL
- Expliquez la différence entre les fonctions calloc() et malloc().
En C, calloc() et malloc() sont des fonctions d'allocation de mémoire qui allouent de la mémoire à partir de la zone de tas (mémoire dynamique). La principale différence entre les deux fonctions d'allocation de mémoire est que calloc() charge tous les emplacements de mémoire attribués avec la valeur 0 alors que malloc() ne le fait pas.
- Expliquez « Allocation de mémoire statique ».
Contrairement à l'allocation de mémoire dynamique qui alloue de la mémoire lors de l'exécution, l'allocation de mémoire statique alloue de la mémoire lors de la compilation. L'allocation de mémoire statique ne vous permet pas d'augmenter l'allocation de mémoire pendant l'exécution du programme C. Vous pouvez implémenter la mémoire statique à l'aide de piles/tas et allouer la mémoire à l'aide du mot-clé "Static". Généralement, l'allocation de mémoire statique nécessite plus d'espace mémoire pour stocker les variables que l'allocation de mémoire dynamique.
- Nommez des jetons C ?
Un jeton est un identifiant. C'est généralement la plus petite unité d'un programme C. Les constantes, les chaînes, les mots-clés, les opérateurs, les identificateurs et les caractères spéciaux sont quelques jetons C utilisés dans l'écriture de programmes C.
- Un code C se compilera-t-il ou s'exécutera-t-il sans une fonction main() ?
En l'absence d'une fonction main(), le programme C compilera au lieu de s'exécuter car la fonction main() est obligatoire pour exécuter n'importe quel programme C.
- Définissez une « structure imbriquée ».
Une structure imbriquée est créée lorsqu'un élément ou un membre de données d'une fonction contient un membre de données d'une autre structure.

- Distinguez les paramètres réels et formels.
Les paramètres réels sont envoyés de la fonction principale à la fonction subdivisée, et les paramètres déclarés en tant que fonction subdivisée sont appelés paramètres formels.
- Qu'est-ce qu'une directive de préprocesseur ?
Une directive de préprocesseur est une fonction prédéfinie intégrée qui fonctionne comme une directive au compilateur pour effectuer des tâches spécifiques avant le début du processus de compilation. Ainsi, une directive de préprocesseur est toujours exécutée avant qu'un programme C ne soit exécuté.
- Définissez « Arguments de ligne de commande ».
Les arguments transmis à la fonction main() lors de l'exécution d'un programme C sont appelés arguments de ligne de commande. Le premier argument indique le nombre d'arguments et est automatiquement mis à jour par le système d'exploitation. Le deuxième argument (un tableau de pointeurs de caractères) contient toujours des chaînes comme paramètres.
- Comment pouvez-vous assigner des paramètres aux fonctions ?
Il existe deux manières d'affecter des paramètres aux fonctions :
- Appel par valeur - Cette méthode est choisie uniquement lorsque vous ne souhaitez pas modifier les paramètres réels avec des paramètres formels, vous n'envoyez donc qu'une copie des valeurs en tant que paramètres aux fonctions.
- Appel par référence - Dans cette approche, vous envoyez l'adresse des paramètres réels pour les modifier à l'aide de paramètres formels.
Découvrez : Questions d'entretien pour les développeurs Full Stack
- Qu'est-ce qu'une "Union" en C ?
En C, une union est un type de données défini par l'utilisateur qui peut stocker plusieurs types de données dans une seule unité. Il ne contient que la mémoire du plus grand membre au lieu de la mémoire totale de tous les membres. Étant donné qu'un syndicat alloue un espace partagé à tous les membres d'un syndicat, vous ne pouvez accéder qu'à une seule variable à la fois dans un syndicat.
- Expliquez "Récursivité".
La récursivité se produit lorsqu'une fonction s'appelle elle-même et la fonction qui s'appelle elle-même est connue sous le nom de fonction récursive. Une fonction récursive se déroule en deux étapes :
- Phase d'enroulement - Lorsqu'une fonction récursive s'appelle et répond à la condition souhaitée, la phase d'enroulement se termine.
- Phase de déroulement - Une fois la phase de déroulement atteinte, la phase de déroulement démarre en ramenant le contrôle à l'appel d'origine.
- Comment déclarer une fonction en C ?
Vous pouvez déclarer une fonction en C comme ceci :
type_retour nom_fonction(liste de paramètres formels)
{
Function_Body ;
}
- Que fait la fonction sprintf() ?
La fonction sprintf() est utilisée pour imprimer des chaînes. Il récupère le nombre total de caractères dans une chaîne. Cette fonction transfère les données dans la mémoire tampon et, par conséquent, elle n'imprime pas la sortie à l'écran. La syntaxe de la fonction sprintf() est :
int sprintf ( char * str, const char * format, … );
- Distinguer les fonctions getch() et getche() ?
Dans un programme C, la fonction getch() lit un seul caractère du mot-clé. Puisqu'il utilise n'importe quel tampon, il n'affichera pas les données que vous entrez à l'écran. Au contraire, alors que la fonction getche() lit également un seul caractère du mot-clé, elle affiche les données à l'écran.
- Qu'est-ce que "Rvalue" et "Ivalue" ?
Rvalue est l'expression qui se trouve à droite de l'opérateur d'affectation. Il est affecté à la Ivalue qui se trouve sur l'opérateur d'affectation. La lvalue ne doit faire référence qu'à une variable et non à une constante.
- Nommez les différents spécificateurs de classe de stockage en C.
En C, il existe quatre spécificateurs de stockage :

- Auto
- Statique
- S'inscrire
- Externe
- Y a-t-il une différence entre déclarer un fichier d'en-tête avec "" et <> ?
Si vous déclarez un fichier d'en-tête en utilisant " ", le compilateur recherche le fichier d'en-tête dans le répertoire de travail actuel, et s'il n'y trouve pas le fichier, il sonde d'autres emplacements pour trouver le fichier d'en-tête. Cependant, si vous déclarez le fichier d'en-tête à l'aide de < >, le compilateur recherche le fichier suivant le chemin intégré.
Découvrez : 15 conseils d'entrevue pour vous démarquer lors de votre entretien d'embauche
Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Conclusion
Alors, voilà : 25 questions et réponses d'entrevue C pour vous aider à préparer votre prochain entretien d'embauche. Bien que ces questions ne fassent qu'effleurer la surface de la programmation en C, nous espérons qu'elles vous donneront une idée de ce à quoi vous pouvez vous attendre dans les entretiens en C !
Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le programme exécutif PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'anciens élèves de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

