Wednesday, March 11, 2026 | Accueil | Contact    
COGITEC - Transfert de savoir-faire en technologie objet
  |   Valeurs  |   Partenaires  |  Location  |  
  PRESENTATION ENTREPRISE
  Activités
  Localisation
 
  FORMATION
  Catalogue
  Calendrier
  Proposer une date
  Evaluez-vous
 
  RECHERCHE
  Formations
  Stages
 
  REFERENCES
  Interentreprises
  Intra entreprise
  Accompagnement
 
  DEVELOPPEMENT
 
 
  COGITEC
  12 avenue Jules Verne
44230 Saint Sébastien / Loire
Mail : cogitec@cogitec.fr
Tél: 02 40 94 78 68
 
EVALUEZ-VOUS EN LIGNE
  C/C++
Développer en langage C

Répondez aux 18 questions suivantes pour évaluer vos connaissances sur cette formation.

 -1-
La définition d?une fonction C ou d?un bloc de code s?écrit toujours entre :
begin ... end
[ ... ]
( ... )
{ ... }

 -2-
Une chaîne de production de programme C est généralement constituée :
d?un éditeur de source, d?un compilateur, d?un éditeur de lien
d?un éditeur de source, d?une plate-forme d?exécution, d?un débogueur
d?un gestionnaire de version, d?un chargeur, d?une librairie
d?un fichier "a.out", de fichier ".c", de fichiers ".lib"

 -3-
Pour les variables suivantes :
int i = 2;
int j = 3;
int k = 0;
Quelle est la valeur de k après évaluation de l?expression
k = (++i) * (j--) - 1;
5
8
7
erreur à la compilation

 -4-
Quel est le caractère spécial permettant le retour à la ligne :
'l'
'/l'
'\n'
'/0'

 -5-
Quelle est la structure de contrôle itérative non valide en langage C
for (i = 0; i<10; i++) printf("%d", i);
while (i>=0) { printf("%d", i); i--; }
until (i<0) { printf("%d", i); i--; }
for(i=10; ; i--) {printf("%d", i); if(i==0) break; }

 -6-
Parmi les situations suivantes, quelles sont les situations correspondant à l?utilisation d?un switch :
effectuer un traitement particulier en fonction d?une valeur entière spécifique
factoriser un traitement pour un ensemble de valeurs entières ordonnées
fournir un traitement par défaut
substituer l?exécution de la fonction courante par celle spécifiée dans le switch

 -7-
A partir des deux prototypes de fonctions :
int foo1(char, int, double);
int foo2(int);
Quel est le contexte d?appel invalide :
int i = foo1('a', 10, 1000);
foo1("b", (int) 1.0, (double)1000);
foo1(10, 'a', 1000.0);
foo2(foo1('b', foo2(3), 1.0));

 -8-
Parmi les propositions suivantes quelle est la seule qui soit exacte :
le corps d?une fonction est obligatoirement défini dans le même fichier que son prototype
il faut utiliser le mot clé recursive pour rendre une fonction C récursive
la connaissance du corps d?une fonction n?est pas obligatoire pour compiler un programme l?invoquant
chaque branche d?exécution d?une fonction doit obligatoirement se conclure par le mot clé return

 -9-
Parmi les propositions suivantes, quelle est celle qui est incorrecte :
un module C est généralement constitué d?un fichier interface ou header (.h) et d?un fichier d?implémentation ou corps (.c)
pour éviter la redéfinition de types, il est nécessaire d?encadrer le contenu d?un fichier header par des directives de compilation conditionnelle #ifndef ? #endif
une variable static est implémentée dans la pile
une fonction static a une portée limitée au module qui l?a définie

 -10-
Quelle est la directive non supportée par le préprocesseur C :
#include
#ifndef
#define
#exception

 -11-
Quelle est le résultat produit par l?expression :
printf("%d\n", strcmp("ok", "nok"));
1
0
-1
erreur à la compilation

 -12-
Tenant compte de la macro :
#define MAX 3
quelle est la seule déclaration de tableau valide :
int tab1["z"] = MAX;
char tab2[max];
char tab3[MAX] = "NOK";
void foo(short tab5[][MAX] );

 -13-
A partir des définitions suivantes :
int * debut;
int * fin;
int result;
quelle est l?expression invalide :
result = debut+fin;
result = fin - debut;
--fin;
result = debut == fin;

 -14-
La forme la plus répandue de la fonction main est :
void main(int argc, char * argv[ ])
où les arguments argc et argv représentent respectivement :
le nombre d?occurrences d?exécution du programme et le nom de l?utilisateur
le nombre de variables d?environnement et leur contenu
le nombre de paramètres d?appel et leur contenu
ces arguments ne sont plus utilisés, ils sont encore présents pour assurer la compatibilité avec des versions antérieures dans langage C

 -15-
Parmi les propositions suivantes, identifier la seule définition de type valide :
typedef struct Personne {
typedef struct {
typedef struct {
typedef struct Personne {

 -16-
En langage C, une union est :
une structure dont tous les champs sont alignés sur la même adresse en mémoire
une structure construite par concaténation de plusieurs structures
une structure dont la validité des champs est définie à partir de la valeur d?un sélecteur de cas
un champ de bit manipulable à l?aide des opérateurs & | ! ^ >> et <<

 -17-
Parmi les propositions suivantes, lesquelles affichent le caractère 'a' à l?écran :
putchar(97); // 97 est le code ascii du caractere 'a'
putc('a', stdout);
fprintf(stdout, "%c", 'a');
aucune

 -18-
FILE *fopen(const char *nom, const char *mode);
est le prototype de la fonction standard d?ouverture de fichier.
Quels sont les principaux modes d?ouverture exploitables par cette fonction :
"R" "W" "A" ...
"re" "wr" "ap" ...
"get" "put" "append" ...
"r" "w" "a" ...