Top 50 Questions d’Entretien en Langage C – Partie 2
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. Quelle est la différence entre le compilateur et l’interpréteur?
Différence entre compilateur et interpréteurNous écrivons généralement un programme informatique utilisant un langage haut niveau. Un langage haut niveau est un langage compréhensible par nous, les humains. Il contient…Lire plus
2. Puis-je utiliser le type « int » pour stocker la valeur 32768 ?
3. Comment déclarer une fonction en langage C ?
void somme(int a, int b) { return a + b; }
4. Qu’est-ce que l’allocation de mémoire dynamique ? Indiquez des exemples.
malloc()
Exemple: malloc() => « memory allocation » – est utilisée pour allouer dynamiquement un seul grand bloc de mémoire avec la taille spécifiée.
ptr = (float*) malloc(100 * sizeof(float));
L’instruction ci-dessus alloue 400 octets de mémoire. C’est parce que la taille de float est de 4 octets. Et, le pointeur ptr contient l’adresse du premier octet dans la mémoire allouée.
calloc()
Exemple: calloc() => « contiguous allocation » – est utilisée pour allouer dynamiquement le nombre spécifié de blocs de mémoire du type spécifié. Elle est très similaire à malloc() mais présente deux points différents :
- Elle initialise chaque bloc avec une valeur par défaut ‘0’.
- Il a deux paramètres ou arguments par rapport à malloc().
ptr = (float*) calloc(25, sizeof(float));
L’instruction ci-dessus alloue un espace contigu en mémoire pour 25 éléments de type float.
realloc()
Exemple: realloc() => « re-allocation » – est utilisé pour modifier dynamiquement l’allocation de mémoire d’une mémoire précédemment allouée. En d’autres termes, si la mémoire précédemment allouée à l’aide de malloc ou calloc est insuffisante, realloc peut être utilisé pour réallouer dynamiquement la mémoire. La réallocation de la mémoire garde la valeur déjà présente et les nouveaux blocs seront initialisés avec la valeur par défaut du garbage.
ptr = realloc(ptr, x);
Ici, ptr est réaffecté avec une nouvelle taille x.
free()
Exemple: free() est utilisé pour libérer dynamiquement la mémoire.
free(ptr);
Cette instruction libère l’espace alloué dans la mémoire pointée par ptr.
5. Où on peut pas utiliser l’opérateur d’adresse & en C?
6. Qu’est-ce qu’un pointeur en C ?
7. Différence entre const char* p
et char const* p
?
const char* p
est un pointeur sur un const char.char const* p
est un pointeur sur un char const.
Puisque ‘const char’ et ‘char const’ sont identiques, c’est la même chose.
8. Qu’est-ce qu’un pointeur de pointeur en C ?
La syntaxe de déclaration d’un pointeur de pointeur est comme suit :
int **p; // pointeur de pointeur sur un entier
Exemple:
#include <stdio.h> void main () { int num = 255; int *ptr2; int **ptr1; ptr2 = # //le pointeur ptr2 pointe vers l'adresse de num ptr1 = &ptr2; //ptr1 est un pointeur de pointeur pointant vers l'adresse du ptr2 printf("Adresse de num: %x\n",ptr2); //L'adresse du num sera affichée: 88A123X2 printf("Adresse de ptr2: %x\n",ptr1); //L'adresse de ptr2 sera affichée: 55X456X1 printf("Valeur stockée dans ptr2: %d\n",*ptr2); //La valeur stockée à l'adresse contenue dans ptr2, c'est-à-dire 255, sera affichée. printf("Valeur stockée dans ptr1: %d\n",**ptr1); //La valeur stockée à l'adresse contenue par le pointeur stocké dans ptr1, c'est-à-dire 255, sera affichée. }
9. À quoi sert la conversion de types en C?
Syntaxe:
(data_type)expression;
Exemple:
int x = 98; printf("%c", (char)x); /* Conversion explicite de int à char */
10. Que signifie « Enumération » ?
enum State {Working = 1, Failed = 0};
- Top 50 Questions d’Entretien en Langage C – Partie 1
- Top 50 Questions d’Entretien en Langage C – Partie 2
- Top 50 Questions d’Entretien en Langage C – Partie 3
- Top 50 Questions d’Entretien en Langage C – Partie 4
- Top 50 Questions d’Entretien en Langage C – Partie 5
- QCM en programmation C – Les noms de variables – Partie 1
- QCM en programmation C – Les noms de variables – Partie 2
- QCM en programmation C – Types et tailles des données – Partie 1
- QCM en programmation C – Types et tailles des données – Partie 2
- QCM en programmation C – Conversions de type – Partie 1
- QCM en programmation C – Conversions de type – Partie 2
- QCM en programmation C – Opérateurs arithmétiques – Partie 1
- QCM en programmation C – Opérateurs arithmétiques – Partie 2
- QCM en programmation C – Déclaration de variables – Partie 1
- QCM en programmation C – Déclaration de variables – Partie 2
- QCM en programmation C – Les Constants – Partie 1
- QCM en programmation C – Les Constants – Partie 2
- QCM en programmation C – Opérateurs logiques et relationnels
- Questions techniques sur MYSQL
- QCM MySQL Corrigé – Optimisation de requêtes
- QCM Base de données avec correction
- QCM sur PHP
- QCM Symfony
- QCM AngularJS
- QCM React
- QCM HTML / CSS
- QCM Java – Programmation Orientée Objet
- QCM Python
- QCM Cloud Computing
- QCM Framework Spring
- QCM Javascript
- QCM jQuery
- QCM Oracle
- QCM sur GIT – Gestionnaire de version
- QCM Linux – Gestion de processus
- QCM Réseau
- QCM Architecture des ordinateurs
- QCM Securité informatique
- QCM En Informatique Générale
- QCM en C
- QCM en C#
- QCM sur l'algorithmique
- QCM Word
- QCM Excel
- QCM PowerPoint
- QCM Access
MERCI BQ