top 40 c programming interview questions
Questions et réponses sur l'entrevue de programmation C les plus fréquemment posées:
Le langage de programmation C a été développé entre 1969 et 1973 par Dennis Ritchie chez Bell Labs. Il utilise ce nouveau langage de programmation pour réimplémenter le système d'exploitation UNIX.
C est un langage de programmation orienté structuré de haut niveau utilisé pour les besoins de programmation à usage général. Fondamentalement, C est une collection de ses fonctions de bibliothèque. Il est également flexible d'ajouter des fonctions définies par l'utilisateur et d'inclure celles-ci dans la bibliothèque C.
L'utilisation principale du langage de programmation C comprend les compilateurs de langage, les systèmes d'exploitation, les assembleurs, les éditeurs de texte, les spouleurs d'impression, les pilotes de réseau, les programmes modernes, les bases de données, les interprètes de langage et les utilitaires.
Questions d'entretien de programmation C les plus courantes
Nous y voilà.
Q # 1) Quelles sont les principales fonctionnalités du langage de programmation C?
Réponse: les caractéristiques sont les suivantes:
- Portabilité : C'est un langage indépendant de la plate-forme.
- Modularité: Possibilité de décomposer de grands programmes en petits modules.
- Souplesse: La possibilité d'un programmeur de contrôler la langue.
- La vitesse: C est livré avec un support pour la programmation système et donc il compile et s'exécute à grande vitesse par rapport à d'autres langages de haut niveau.
- Extensibilité : Possibilité d'ajouter de nouvelles fonctionnalités par le programmeur.
Q # 2) Quels sont les types de données de base associés à C?
Répondre:
- Int - Représente le nombre (entier)
- Flotter - Nombre avec une partie fractionnaire.
- Double - Valeur à virgule flottante double précision
- Char - Caractère unique
- Annuler - Type à usage spécial sans aucune valeur.
Q # 3) Quelle est la description des erreurs de syntaxe?
Répondre: Les erreurs / erreurs qui se produisent lors de la création d'un programme sont appelées erreurs de syntaxe. Des commandes mal orthographiées ou des commandes de casse incorrectes, un nombre incorrect de paramètres dans la méthode / fonction d'appel, des incohérences de type de données peuvent être identifiés comme des exemples courants d'erreurs de syntaxe.
Q # 4) Quel est le processus pour créer une instruction d'incrémentation et de décrémentation en C?
Répondre: Il existe deux méthodes possibles pour effectuer cette tâche.
- Utilisez les opérateurs d'incrémentation (++) et de décrémentation (-).
Exemple Lorsque x = 4, x ++ renvoie 5 et x- renvoie 3.
- Utilisez le signe + ou - conventionnel.
Exemple Lorsque x = 4, utilisez x + 1 pour obtenir 5 et x-1 pour obtenir 3.
Q # 5) Quels sont les mots réservés avec un langage de programmation?
Répondre: Les mots qui font partie de la bibliothèque de langage C standard sont appelés mots réservés . Ces mots réservés ont une signification particulière et il n'est pas possible de les utiliser pour une activité autre que sa fonctionnalité prévue.
Exemple: void, retourne int.
Q # 6) Quelle est l'explication du pointeur suspendu en C?
Répondre: Quand il y a un pointeur pointant vers une adresse mémoire de n'importe quelle variable, mais après un certain temps, la variable a été supprimée de l'emplacement mémoire tout en gardant le pointeur pointant vers cet emplacement est connu comme un pointeur pendant en C.
Q # 7) Décrivez la fonction statique avec son utilisation?
Répondre: Une fonction, qui a une définition de fonction préfixée par un mot clé statique est définie comme une fonction statique. La fonction statique doit être appelée dans le même code source.
Q # 8) Quelle est la différence entre les fonctions abs () et fabs ()?
Répondre: Les deux fonctions sont de récupérer la valeur absolue. abs () est pour les valeurs entières et fabs () est pour les nombres flottants. Le prototype pour abs () se trouve sous le fichier bibliothèque et fabs () sous.
Q # 9) Décrivez les pointeurs sauvages en C?
Répondre: Les pointeurs non initialisés dans le code C sont appelés Pointeurs sauvages . Ils pointent vers un emplacement mémoire arbitraire et peuvent provoquer un mauvais comportement du programme ou une panne du programme.
Q # 10) Quelle est la différence entre ++ a et a ++?
Répondre: «++ a» est appelé incrément préfixé et l'incrément se produira en premier sur une variable. ‘A ++’ est appelé incrément postfix et l’incrémentation se produit après la valeur d’une variable utilisée pour les opérations.
Q # 11) Décrivez la différence entre les symboles = et == en programmation C?
Répondre: «==» est l’opérateur de comparaison utilisé pour comparer la valeur ou l’expression du côté gauche avec la valeur ou l’expression du côté droit.
«=» Est l’opérateur d’affectation utilisé pour affecter la valeur du côté droit à la variable du côté gauche.
Q # 12) Quelle est l'explication de la fonction prototype en C?
implémentation de l'algorithme de dijkstra en java
Répondre: La fonction prototype est une déclaration d'une fonction avec les informations suivantes au compilateur.
- Nom de la fonction.
- Le type de retour de la fonction.
- Liste des paramètres de la fonction.
Dans cet exemple, le nom de la fonction est Sum, le type de retour est le type de données entier et il accepte deux paramètres entiers.
Q # 13) Quelle est l'explication de la nature cyclique des types de données en C?
Répondre: Certains des types de données en C ont une nature caractéristique particulière lorsqu'un développeur attribue une valeur au-delà de la plage du type de données. Il n'y aura pas d'erreur du compilateur et la valeur change selon un ordre cyclique. C'est ce qu'on appelle la nature cyclique. Les types de données Char, int, long int ont cette propriété. Les autres types de données float, double et long double n'ont pas cette propriété.
Q # 14) Décrivez le fichier d'en-tête et son utilisation dans la programmation C?
Répondre: Le fichier contenant les définitions et les prototypes des fonctions utilisées dans le programme est appelé fichier d'en-tête. Il est également appelé fichier de bibliothèque.
Exemple: Le fichier d'en-tête contient des commandes telles que printf et scanf provient du fichier de bibliothèque stdio.h.
Q # 15) Il existe une pratique dans le codage pour conserver certains blocs de code dans les symboles de commentaire que de les supprimer lors du débogage. Comment cela affecte-t-il lors du débogage?
Répondre: Ce concept s'appelle commenter et c'est le moyen d'isoler une partie du code qui analyse la raison possible de l'erreur. En outre, ce concept permet de gagner du temps car si le code n'est pas la raison du problème, il peut simplement être supprimé du commentaire.
Q # 16) Quelle est la description générale des instructions de boucle et des types de boucle disponibles en C?
Répondre: Une instruction qui permet l'exécution d'instructions ou de groupes d'instructions de manière répétée est définie comme une boucle.
Le diagramme suivant explique une forme générale de boucle.
Il existe 4 types d'instructions de boucle en C.
- Alors que la boucle
- Pour la boucle
- Faire… en boucle
- Boucle imbriquée
Q # 17) Qu'est-ce qu'une boucle imbriquée?
Répondre: Une boucle qui s'exécute dans une autre boucle est appelée boucle imbriquée . La première boucle est appelée la boucle extérieure et la boucle intérieure est appelée la boucle intérieure. La boucle interne exécute le nombre de fois défini dans une boucle externe.
Q # 18) Quelle est la forme générale de la fonction en C?
Répondre: La définition de fonction en C contient quatre sections principales.
return_type function_name( parameter list ) { body of the function }
- Type de retour : Type de données de la valeur de retour de la fonction.
- Nom de la fonction: Le nom de la fonction et il est important d'avoir un nom significatif qui décrit l'activité de la fonction.
- Paramètres : Les valeurs d'entrée de la fonction utilisées pour exécuter l'action requise.
- Corps de fonction : Collection d'instructions qui exécute l'action requise.
Q # 19) Qu'est-ce qu'un pointeur sur un pointeur en langage de programmation C?
Répondre: Une variable de pointeur qui contient l'adresse d'une autre variable de pointeur est appelée pointeur sur un pointeur. Ce concept dé-renvoie deux fois pour pointer vers les données détenues par une variable de pointeur.
Dans cet exemple ** y renvoie la valeur de la variable a.
Q # 20) Quels sont les endroits valides pour avoir le mot-clé «Pause»?
Répondre: Le but du mot clé Break est de faire sortir le contrôle du bloc de code en cours d'exécution. Il ne peut apparaître que dans les instructions de boucle ou de commutation.
Q # 21) Quelle est la différence de comportement lorsque le fichier d'en-tête est inclus entre guillemets («») et accolades angulaires ()?
Répondre: Lorsque le fichier d'en-tête est inclus entre guillemets («»), le compilateur recherche d'abord dans le répertoire de travail le fichier d'en-tête particulier. S'il n'est pas trouvé, il recherche le fichier dans le chemin d'inclusion. Mais lorsque le fichier d'en-tête est inclus entre accolades angulaires (), le compilateur recherche uniquement dans le répertoire de travail le fichier d'en-tête particulier.
Q # 22) Qu'est-ce qu'un fichier d'accès séquentiel?
Répondre: Les programmes généraux stockent les données dans des fichiers et récupèrent les données existantes à partir de fichiers. Avec le fichier d'accès séquentiel, ces données sont enregistrées dans un modèle séquentiel. Lors de la récupération des données de ces fichiers, chaque donnée est lue une par une jusqu'à ce que les informations requises soient trouvées.
Q # 23) Quelle est la méthode pour enregistrer des données dans un type de structure de données de pile?
Répondre: Les données sont stockées dans le type de structure de données Stack à l'aide du Premier entré dernier sorti (FILO) mécanisme. Seul le haut de la pile est accessible à une instance donnée. Le mécanisme de stockage est appelé PUSH et l'extraction est appelée POP.
Q # 24) Quelle est la signification des algorithmes de programme C?
Répondre: L'algorithme est créé en premier et contient des instructions étape par étape sur la manière dont la solution doit être. En outre, il contient les étapes à prendre en compte et les calculs / opérations nécessaires au sein du programme.
Q # 25) Quel est le code correct pour avoir la sortie suivante en C en utilisant la boucle imbriquée pour?
questions et réponses d'entretien qtp depuis 4 ans d'expérience
Répondre:
#include int main () { int a; int b; /* for loop execution */ for( a = 1; a <6; a++ ) { /* for loop execution */ for ( b = 1; b <= a; b++ ) { printf('%d',b); } printf('
'); } return 0; }
Q # 26) Expliquez l'utilisation de la fonction toupper () avec un exemple de code?
Répondre: La fonction Toupper () est utilisée pour convertir la valeur en majuscules lorsqu'elle est utilisée avec des caractères.
Code:
#include #include int main() { char c; c = 'a'; printf('%c -> %c', c, toupper(c)); c = 'A'; printf('
%c -> %c', c, toupper(c)); c = '9'; printf('
%c -> %c', c, toupper(c)); return 0; }
Résultat:
Q # 27) Quel est le code dans une boucle while qui renvoie la sortie du code donné?
#include int main () { int a; /* for loop execution */ for( a = 1; a <= 100; a++ ) { printf('%d
',a * a); } return 0; }
Répondre:
#include int main () { int a; while (a<=100) { printf ('%d
', a * a); a++; } return 0; }
Q # 28) Sélectionnez le formulaire d'opérateur incorrect dans la liste suivante (==,,> =,<=) and what is the reason for the answer?
Répondre: L’opérateur incorrect est «». Ce format est correct lors de l'écriture d'instructions conditionnelles, mais ce n'est pas l'opération correcte pour indiquer non égal en programmation C. Cela donne une erreur de compilation comme suit.
Code:
#include int main () { if ( 5 10 ) printf( 'test for ' ); return 0; }
Erreur:
Q # 29) Est-il possible d'utiliser des accolades ({}) pour entourer un code d'une seule ligne dans le programme C?
Répondre: Oui, cela fonctionne sans aucune erreur. Certains programmeurs aiment l'utiliser pour organiser le code. Mais l'objectif principal des accolades est de regrouper plusieurs lignes de codes.
Q # 30) Décrivez le modificateur en C?
Répondre: Le modificateur est un préfixe du type de données de base utilisé pour indiquer la modification de l'allocation d'espace de stockage à une variable.
Exemple- Dans un processeur 32 bits, l'espace de stockage pour le type de données int est de 4. Lorsque nous l'utilisons avec un modificateur, l'espace de stockage change comme suit:
- Long int: L'espace de stockage est de 8 bits
- Int court: L'espace de stockage est de 2 bits
Q # 31) Quels sont les modificateurs disponibles dans le langage de programmation C?
Répondre: Il y a 5 modificateurs disponibles dans le langage de programmation C comme suit:
- Court
- Longue
- Signé
- Non signé
- long long
Q # 32) Quel est le processus pour générer des nombres aléatoires dans le langage de programmation C?
Répondre: La commande rand () peut être utilisée à cette fin. La fonction renvoie un nombre entier commençant à zéro (0). L'exemple de code suivant illustre l'utilisation de rand ().
Code:
#include #include int main () { int a; int b; for(a=1; a<11; a++) { b = rand(); printf( '%d
', b ); } return 0; }
Production:
Q # 33) Décrivez la séquence d'échappement de nouvelle ligne avec un exemple de programme?
Répondre: La séquence d'échappement Newline est représentée par n. Cela indique le moment où la nouvelle ligne commence vers le compilateur et la sortie est créée en conséquence. L'exemple de programme suivant illustre l'utilisation de la séquence d'échappement de nouvelle ligne.
Code:
/* * C Program to print string */ #include #include int main(){ printf('String 01 '); printf('String 02 '); printf('String 03
'); printf('String 01
'); printf('String 02
'); return 0; }
Production:
Q # 34) Est-ce possible de stocker 32768 dans une variable de type de données int?
Répondre: Le type de données Int est uniquement capable de stocker des valeurs comprises entre - 32768 et 32767. Pour stocker 32768, un modificateur doit être utilisé avec le type de données int. Long Int peut utiliser et aussi s'il n'y a pas de valeurs négatives, unsigned int est également possible d'utiliser.
Q # 35) Est-il possible de créer un fichier d'en-tête personnalisé avec le langage de programmation C?
Répondre: Oui, il est possible et facile de créer un nouveau fichier d'en-tête. Créez un fichier avec des prototypes de fonctions qui sont utilisés dans le programme. Incluez le fichier dans la section «#include» à partir de son nom.
Q # 36) Décrivez la structure de données dynamiques dans le langage de programmation C?
Répondre: La structure de données dynamique est plus efficace pour la mémoire. L'accès à la mémoire se produit selon les besoins du programme.
Q # 37) Est-ce possible d'ajouter des pointeurs les uns aux autres?
Répondre: Il n'est pas possible d'ajouter des pointeurs ensemble. Étant donné que le pointeur contient des détails d'adresse, il n'y a aucun moyen de récupérer la valeur de cette opération.
Q # 38) Qu'est-ce que l'indirection?
Répondre: Si vous avez défini un pointeur vers une variable ou un objet mémoire, il n'y a pas de référence directe à la valeur de la variable. C'est ce qu'on appelle la référence indirecte. Mais lorsque nous déclarons une variable, elle a une référence directe à la valeur.
Q # 39) Quels sont les moyens d'obtenir un pointeur nul qui peut être utilisé dans le langage de programmation C?
Réponse: Il est possible d'utiliser des pointeurs nuls de trois manières.
- En tant que valeur d'erreur.
- En tant que valeur sentinelle.
- Pour terminer l'indirection dans la structure de données récursive.
Q # 40) Quelle est l'explication de la programmation modulaire?
Répondre: Le processus de division du programme principal en sous-sections exécutables est appelé programmation de module. Ce concept favorise la réutilisabilité.
Conclusion
Le questionneur est basé sur les concepts du langage de programmation C, y compris la gestion de la mémoire avec des pointeurs, la connaissance de sa syntaxe et quelques exemples de programmes qui utilisent la structure de programme Basic C. Les connaissances théâtrales et pratiques du candidat sont examinées avec les questions.
lecture recommandée
- Questions et réponses d'entrevue
- Quelques questions et réponses difficiles sur les tests manuels
- C vs C ++: 39 principales différences entre C et C ++ avec des exemples