QCM en programmation C – Types et tailles des données – Partie 2
QCM sur C avec des réponses pour la préparation des entretiens, des tests en ligne, des examens etc.
1. Commenter la sortie de ce code C?
#include <stdio.h> int main() { float a = 0.1; if (a == 0.1) printf("equal\n"); else printf("not equal\n"); }
A equal
B not equal
C la sortie dépend du compilateur
D aucun de ces choix
2. Commenter la sortie de ce code C?
#include <stdio.h> int main() { float a = 0.1; if (a == 0.1f) printf("equal\n"); else printf("not equal\n"); }
A equal
B not equal
C la sortie dépend du compilateur
D aucun de ces choix
3. Commenter la sortie de ce code C?
#include <stdio.h> int main() { int x = 20000; double y = 26; int *p = &x; double *q = &y; printf("La taille de p = %d et q = %d", sizeof(p), sizeof(q)); return 0; }
A La taille de p = 4 et q = 4
B La taille de p = 4 et q = 8
C erreur de compilation
D La taille de p = 8 et q = 8
4. Quel conversion est correct par rapport à la taille des types de données?
A char > int > float
B int > char > float
C char < int < double
D double > char > int
5. Quelle est la sortie de ce code C (sur une machine 64 bits)?
#include <stdio.h> union S { int a; char b; }; int main() { union S s; printf("%d", sizeof(s)); return 0; }
A 8
B 5
C 9
D 4
6. Quelle est la sortie de ce code C?
#include <stdio.h> int main() { float y = 'a'; printf("%f", y); return 0; }
A a
B erreur d’exécution
C a.0000000
D 97.000000
7. Lequel de ces types de données dont la taille est variable?
A int
B struct
C float
D double