Test simulé de programmation C
Cette section vous présente divers ensembles de tests simulés liés à C Programming Framework. Vous pouvez télécharger ces exemples de tests simulés sur votre ordinateur local et les résoudre hors ligne à votre convenance. Chaque test fictif est fourni avec une clé de test fictif pour vous permettre de vérifier le score final et de noter vous-même.

C Programmation Test simulé I
Q 1 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
int const a = 5;
a++;
printf(“%d”,a);
}
Réponse: D
Explication
Erreur de compilation - la variable constante ne peut pas être modifiée.
main()
{
int const a = 5;
a++;
printf(“%d”,a);
}
Q 2 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
const int a = 5;
a++;
printf("%d", a);
}
Réponse: D
Explication
Erreur de compilation - la variable constante ne peut pas être modifiée.
main()
{
const int a = 5;
a++;
printf("%d", a);
}
Q 3 - Quelle est la sortie de l'extrait de code ci-dessous?
#include<stdio.h>
main()
{
char s[]="hello", t[]="hello";
if(s==t){
printf("eqaul strings");
}
}
Réponse: C
Explication
Aucune sortie, car nous comparons les deux adresses de base et elles ne sont pas identiques.
Q 4 - Quelle est la sortie de l'extrait de code ci-dessous?
#include<stdio.h>
main()
{
int a = 5, b = 3, c = 4;
printf("a = %d, b = %d\n", a, b, c);
}
Réponse: A
Explication
a = 5, b = 3, car il n'y a que deux spécificateurs de format pour l'impression.
Q 5 - Quelle est la sortie de l'extrait de code ci-dessous?
#include<stdio.h>
main()
{
int a = 1;
float b = 1.3;
double c;
c = a + b;
printf("%.2lf", c);
}
Réponse: A
Explication
2.30, l'addition est valide et après la virgule avec est spécifié pour 2 places.
Q 6 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
enum { india, is=7, GREAT };
printf("%d %d", india, GREAT);
}
Réponse: C
Explication
0 8, enums donne la séquence commençant par 0. Si une valeur est attribuée, la séquence continue à partir de la valeur assignée.
Q 7 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
char c = 'A'+255;
printf("%c", c);
}
Réponse: A
Explication
A, la plage de valeurs ASCII pour les caractères ASCII est comprise entre 0 et 255. D'où l'opération d'addition circule vers 'A'
Q 8 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
short unsigned int i = 0;
printf("%u\n", i--);
}
Réponse: A
Explication
0, avec la valeur d'opérateur de post-décrémentation de la variable sera considérée comme la valeur de l'expression et sera ensuite décrémentée.
Q 9 - Quelle est la sortie de l'extrait de code ci-dessous?
#include<stdio.h>
main()
{
unsigned x = 5, y=&x, *p = y+0;
printf("%u",*p);
}
Réponse: D
Explication
5, car p contient l'adresse de x qui est y + 0
Q 10 - Quel est votre commentaire sur la déclaration C ci-dessous?
signed int *p=(int*)malloc(sizeof(unsigned int));
B - Lèverait une erreur d'exécution
C - La mémoire sera allouée mais ne peut pas contenir une valeur int dans la mémoire
Réponse: D
Explication
Option (d), comme la taille de int et unsigned est la même, pas de problème d'allocation de mémoire.
Q 11 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
int x = 5;
if(x==5)
{
if(x==5) break;
printf("Hello");
}
printf("Hi");
}
Réponse: A
Explication
erreur de compilation, le mot-clé break ne peut apparaître que dans l'instruction loop / switch.
Q 12 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
int x = 5;
if(x=5)
{
if(x=5) break;
printf("Hello");
}
printf("Hi");
}
Réponse: A
Explication
erreur de compilation, le mot-clé break ne peut apparaître que dans l'instruction loop / switch.
Q 13 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
int x = 5;
if(x=5)
{
if(x=5) printf("Hello");
}
printf("Hi");
}
Réponse: A
Explication
HelloHi, l'expression de l'instruction if est évaluée comme vraie.
Q 14 - Quelle est la sortie de l'extrait de code ci-dessous?
#include<stdio.h>
main()
{
for(;;)printf("Hello");
}
Réponse: A
Explication
boucle infinie, avec la seconde expression de 'for' absente, elle est considérée comme vraie par défaut.
Q 15 - Quelle est la sortie de l'extrait de code ci-dessous?
#include<stdio.h>
main()
{
for()printf("Hello");
}
Réponse: D
Explication
Erreur du compilateur, les points-virgules doivent apparaître bien que les expressions soient facultatives pour la boucle «for».
Q 16 - Quelle est la sortie de l'extrait de code ci-dessous?
#include<stdio.h>
main()
{
for(1;2;3)
printf("Hello");
}
Réponse: A
Explication
boucle infinie, car la deuxième expression est non-0, donc la condition est toujours vraie.
Réponse: D
Explication
-2, le compliment à un de 1 est 1110 (binaire), ce qui équivaut au compliment à deux de 2, soit -2.
Q 18 - Quel est le résultat du programme suivant?
#include<stdio.h>
void f()
{
static int i;
++i;
printf("%d", i);
}
main()
{
f();
f();
f();
}
Réponse: D
Explication
1 2 3, Une variable locale statique conserve sa valeur entre les appels de fonction et la valeur par défaut est 0.
Q 19 - Quelle est la sortie de l'extrait de code suivant?
#include<stdio.h>
main()
{
int *p = 15;
printf("%d",*p);
}
Réponse: C
Explication
Erreur d'exécution, car la variable de pointeur ne contient pas l'adresse appropriée, l'écriture / la lecture des données à partir de la même source génère une erreur d'exécution.
Q 20 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
register int x = 5;
int *p;
p=&x;
x++;
printf("%d",*p);
}
Réponse: A
Explication
Erreur de compilation, nous ne pouvons pas prendre l'adresse d'une variable de registre.
Q 21 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int x = 65, *p = &x;
void *q=p;
char *r=q;
printf("%c",*r);
}
Réponse: B
Explication
Un pointeur, void est un pointeur générique et peut contenir l'adresse de n'importe quelle variable. Le caractère ASCII pour la valeur 65 est «A»
Q 22 - Quel est le résultat du programme suivant?
#include<stdio.h>
void f()
{
printf(“Hello\n”);
}
main()
{
;
}
B - Erreur, car la fonction n'est pas appelée.
Réponse: A
Explication
Aucune sortie, à part l'option (a), le reste des commentaires sur les options ne sont pas valides.
Q 23 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
printf("\");
}
Réponse: D
Explication
Erreur de compilation, la chaîne de formatage de printf n'est pas terminée.
Q 24 - Quel est le résultat du programme suivant?
#include<stdio.h>
{
int x = 1;
switch(x)
{
default: printf("Hello");
case 1: printf("hi"); break;
}
}
Réponse: B
Explication
Salut, le contrôle atteint le cas par défaut après avoir comparé le reste des constantes de cas.
Q 25 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
struct { int x;} var = {5}, *p = &var;
printf("%d %d %d",var.x,p->x,(*p).x);
}
Réponse: A
Explication
5 5 5, les deux manières possibles d'accéder aux éléments de la structure à l'aide du pointeur sont d'utiliser -> (opérateur de flèche) OU *.
Q 26 - Quel est le résultat du programme suivant?
#include<stdio.h>
void swap(int m, int n)
{
int x = m;
m = n;
n = x;
}
main()
{
int x=5, y=3;
swap(x,y);
printf("%d %d", x, y);
}
Réponse: B
Explication
5 3, le mécanisme d'appel par valeur ne peut pas modifier les arguments réels.
#include <stdio.h>
void swap(int m, int n)
{
int x = m;
m = n;
n = x;
}
main()
{
int x=5, y=3;
swap(x,y);
printf("%d %d", x, y);
}
Q 27 - Que sera imprimé pour la déclaration ci-dessous?
#include<stdio.h>
main()
{
printf("%d",strcmp("strcmp()","strcmp()"));
}
Réponse: A
Explication
0, strcmp renvoie 0 si les deux chaînes sont égales
Q 28 - Que fait le programme suivant?
#include<stdio.h>
main()
{
FILE *stream=fopen("a.txt",'r');
}
A - Essayer d'ouvrir "a.txt" en mode lecture
B - Essayer d'ouvrir "a.txt" en mode écriture.
Réponse: D
Explication
Erreur de compilation, le deuxième argument de fopen n'est pas valide, doit être une chaîne.
Q 29 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int r, x = 2;
float y = 5;
r = y%x;
printf("%d", r);
}
Réponse: D
Explication
Erreur de compilation, il est invalide que l'un des opérandes de l'opérateur de module (%) soit un nombre réel.
Q 30 - Quel opérateur est utilisé pour continuer la définition de macro dans la ligne suivante?
Réponse: D
Explication
\, les deux premiers sont respectivement des opérateurs stringize et token colling. Il n'y a pas d'opérateur appelé $.
Q 31 - Quelle est la taille de la définition de syndicat suivante?
#include<stdio.h>
union abc {
char a,b,c,d,e,f,g,h;
int i;
}abc;
main()
{
printf( "%d", sizeof( abc ));
}
Réponse: C
Explication
la taille de l'union est la plus grande taille de l'élément. Tous les éléments du syndicat partagent une mémoire commune.
Réponse: D
Explication
La taille de «int» dépend du complicateur, c'est-à-dire s'il s'agit d'un 16 bits ou d'un 32 bits.
Q 33 - Le nom de type / mot réservé 'court' est ___
Réponse: D
Explication
short est utilisé comme alternative à short int.
Q 34 - Quelle est la valeur de «y» pour l'extrait de code suivant?
#include<stdio.h>
main()
{
int x = 1;
float y = x>>2;
printf( "%f", y );
}
Réponse: C
Explication
0, les bits de données sont perdus pour l'opération de décalage ci-dessus, la valeur est donc 0.
Q 35 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
float t = 2;
switch(t)
{
case 2: printf("Hi");
default: printf("Hello");
}
}
Réponse: D
Explication
Erreur, l'expression de commutateur ne peut pas être une valeur flottante.
Q 36 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int i = 1;
while(++i <= 5)
printf("%d ",i++);
}
Réponse: B
Explication
2 4, à while d'abord incrémenté, puis comparé et en printf imprimé en premier et incrémenté plus tard
Q 37 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int i = 1;
while( i++<=5 )
printf("%d ",i++);
}
Réponse: C
Explication
2 4 6, à while d'abord comparé puis incrémenté et en printf imprimé en premier et incrémenté plus tard.
Q 38 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int i = 1;
while(i++<=5);
printf("%d ",i++);
}
Réponse: B
Explication
6, il y a une instruction vide après 'while'.
Q 39 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int x = 1;
do
printf("%d ", x);
while(x++<=1);
}
Réponse: B
Explication
1 2, do.. while est une boucle de contrôle d'entrée. Comme l'expression x ++ est, la boucle post-formulaire se poursuit également pour la deuxième fois.
Q 40 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int a[] = {1,2}, *p = a;
printf("%d", p[1]);
}
Réponse: B
Explication
2, comme 'p' contient l'adresse de base, nous pouvons accéder au tableau en utilisant 'p' tout comme avec 'a'
Q 41 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int a[3] = {2,1};
printf("%d", a[a[1]]);
}
Réponse: B
Explication
1, l'indirection interne est évaluée à 1 et la valeur d'index 1 pour l'indirection externe est 1.
Q 42 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int a[3] = {2,,1};
printf("%d", a[a[0]]);
}
Réponse: D
Explication
Erreur de compilation, syntaxe incorrecte lors de l'initialisation du tableau.
Q 43 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int a[] = {2,1};
printf("%d", *a);
}
Réponse: C
Explication
2, car «a» fait référence à l'adresse de base.
Q 44 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int i = 1;
Charminar:
printf("%d ",i++);
if(i==3) break;
if(i<=5) goto Charminar;
}
Réponse: D
Explication
Erreur de compilation, mauvais endroit pour que «pause» apparaisse.
Q 45 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
int i = 13, j = 60;
i ^= j;
j ^= i;
i ^= j;
printf("%d %d", i, j);
}
Réponse: B
Explication
60 13, son échange.
Q 46 - Quel est le résultat du programme suivant?
#include<stdio.h>
main()
{
union abc {
int x;
char ch;
}var;
var.ch = 'A';
printf("%d", var.x);
}
Réponse: C
Explication
65, comme les variables d'union partagent la mémoire commune pour tous ses éléments, x obtient 'A' dont la valeur ASCII est 65 et est imprimé.
Q 47 - Identifiez le mode d'ouverture de fichier incorrect parmi les éléments suivants.
Réponse: C
Explication
x, il n'existe pas de mode appelé «x».
Q 48 - La fonction fopen () avec le mode "r +" essaie d'ouvrir le fichier pour __
B - lecture et ajout de nouveau contenu
Réponse: A
Explication
Option (a), le fichier doit exister et s'ouvre à la fois en lecture et en écriture.
Q 49 - Identifiez la constante invalide utilisée dans la fonction fseek () comme référence «d'où».
Réponse: C
Explication
SEEK_BEG, tout le reste sont des constantes valides définies dans 'stdio.h'
Q 50 - Premier système d'exploitation conçu en utilisant le langage de programmation C.
Réponse: C
Explication
UNIX. C a en fait inventé pour écrire un système d'exploitation appelé UNIX. En 1973, l'ensemble du système d'exploitation UNIX est conçu avec C.
Feuille de réponses
Numéro de question | Clé de réponse |
---|---|
1 | ré |
2 | ré |
3 | C |
4 | UNE |
5 | UNE |
6 | C |
sept | UNE |
8 | UNE |
9 | ré |
dix | ré |
11 | UNE |
12 | UNE |
13 | UNE |
14 | UNE |
15 | ré |
16 | UNE |
17 | ré |
18 | ré |
19 | C |
20 | UNE |
21 | B |
22 | UNE |
23 | ré |
24 | B |
25 | UNE |
26 | B |
27 | UNE |
28 | ré |
29 | ré |
30 | ré |
31 | C |
32 | ré |
33 | ré |
34 | C |
35 | ré |
36 | B |
37 | C |
38 | B |
39 | B |
40 | B |
41 | B |
42 | ré |
43 | C |
44 | ré |
45 | B |
46 | C |
47 | C |
48 | UNE |
49 | C |
50 | C |