Top 50 Questions d’Entretien en Langage C – Partie 3

Questions d’Entretien sur le langage C avec des réponses pour la préparation des entretiens d’embauche, tests en ligne, examens et certifications. Ces questions et réponses sur le langage C comprennent divers sujets tel que les bases du langage C, les boucles, les fonctions, les tableaux, les pointeurs, les structures des données, etc… Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur le langage C.
 
 

1. Quand doit-on utiliser le spécificateur de stockage de registre ?
Si une variable est utilisée fréquemment, elle doit être déclarée avec le spécificateur de stockage de registre, et le compilateur peut allouer un registre du CPU pour son stockage afin d’accélérer la recherche de la variable.
Les classes de stockage

 

 
 

2. Quels sont les avantages du macro par rapport à une fonction ?
macro fait un copier-coller de haut niveau de ses définitions à l’endroit où elle est appelée. Cela permet de gagner beaucoup de temps, car il n’y a pas de temps pour passer le contrôle à une nouvelle fonction et le contrôle est toujours avec la fonction appelée. Cependant, l’inconvénient est que la taille du binaire compilé est importante, mais une fois compilé, le programme s’exécute comparativement plus rapidement.

 

 
 

3. Pourquoi le C ne supporte pas la surcharge des fonctions ?
La surcharge de fonctions est une caractéristique des langages de programmation orientés objet comme Java et C++. Comme on le sait, le C n’est pas un langage de programmation orienté objet. Par conséquent, il ne prend pas en charge la surcharge de fonctions.

 

 
 

4. Qu’est-ce que la récursion en C ?
Lorsqu’une fonction s’appelle elle-même, cette technique est appelée récursion. Si un programme vous permet d’appeler une fonction à l’intérieur de la même fonction, on parle alors d’un appel récursif de la fonction. Exemple:

void recursion() {
   recursion(); /* La fonction s'appelle elle-même */
}

int main() {
   recursion();
}

 

 
 

5. Faites la différence entre les macros et les fonctions.
Les macros
Les fonctions
Il est vérifiée par le préprocesseur. Il est vérifiée par le compilateur.
La taille du code est augmentée. La taille du code reste la même.
Les macros sont plus rapides en exécution. Les fonctions sont un peu plus lentes à l’exécution.
Les macros sont utiles lorsqu’un petit morceau de code est utilisé plusieurs fois dans un programme. Les fonctions sont utiles lorsqu’un gros morceau de code est répété un certain nombre de fois.

 

 
 

6. Faire la différence entre les codes source et les codes objet.
La différence entre le code source et le code objet est la suivante : le code source est un ensemble d’instructions informatiques écrites dans un langage de programmation lisible par l’homme, tandis que le code objet est une séquence d’instructions en langage machine et constitue le résultat de la conversion du code source par le compilateur ou l’assembleur.

Le dernier point concernant le code objet est la manière dont les changements sont pris en compte. Lorsque le code source est modifié, il doit être compilé à chaque fois pour tenir compte des modifications apportées au code objet.
 

 

 
 

7. Que sont les fichiers d’en-tête et quelles sont leurs utilisations en programmation C?
En C, les fichiers d’en-tête doivent avoir l’extension .h. Ils contiennent des définitions de fonctions, des définitions de types de données, des macros, etc. L’en-tête est utile pour importer les définitions dans le code source à l’aide de la directive #include. Par exemple, si votre code source doit prendre des données d’entrée de l’utilisateur et afficher la sortie sur le terminal, il devrait avoir le fichier « stdio.h » inclus comme #include <stdio.h>, avec lequel nous pouvons lire les informations tapées au clavier par l’utilisateur en utilisant scanf(), faire des manipulations et afficher en utilisant printf().

 

 
 

8. Quand peut-on utiliser le mot clé « void » dans une fonction ?
Le mot-clé « void » est un type de données qui ne représente littéralement aucune donnée. L’utilisation la plus évidente de ce type de données est lorsqu’une fonction qui ne renvoie rien. Exemple:

void afficher() 
{ 
    printf("Hello World!"); 
    return; // la fonction "retourne", mais aucune valeur n'est renvoyée. 
}

 

 
 

9. Expliquez toupper() avec un exemple.
toupper() est une fonction conçue pour convertir les mots/caractères minuscules en majuscules.

#include <ctype.h> 

int main() 
{ 
	char ch; 

	// lettre à convertir en majuscule
	ch = 'a'; 

	printf("%c en majuscules est représenté par %c", ch, toupper(ch)); 

}

Sortie:

a en majuscules est représenté par A

 

 
 

10. A quoi sert la fonction rand() en C?
La fonction rand() est utilisée en C pour générer des nombres aléatoires. Exemple:

#include <stdio.h>
#include <stdlib.h>
  
int main(void)
{  
    for(int i = 0; i<5; i++)
        printf(" %d ", rand());
    
    return 0;
}

Sortie:

887 1213 9874 22

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *