Wednesday, December 10, 2025 | 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-
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"

 -2-
Quelle caractéristique ne s?applique pas au langage C :
Le langage C est un langage procédural
Le langage C a été développé pour faciliter le portage du système UNIX
Le langage C est un langage objet compilé
Le langage C est normalisé (ANSI)

 -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-
A partir de la variable suivante : char c = 'a';
quelle est la valeur affichée après exécution de : printf ("%d\n", c);
a
97
erreur à la compilation
erreur à l'exécution

 -5-
Le mot clé continue à l?intérieur d?une structure itérative sert à :
arrêter l?exécution du bloc courant et passer à l?itération suivante
continuer l?exécution du programme lors de la détection d?une erreur
sortir de la structure itérative
ce n?est pas un mot clé du langage C

 -6-
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; }

 -7-
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

 -8-
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));

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

 -10-
Identifiez la macro pré processeur non valide :
#define PI 3.141593
#define forever for( ; ; )
#define max(int I, int J) ((I)>(J) ? (I) : (J))
#define getrandom(min, max) ((rand()%(int)(((max) + 1)-(min)))+ (min))

 -11-
Etant donné les déclarations suivantes :
char tab1[11];
char tab2[ ] = "un contenu";
quelle est la proposition permettant de recopier tab2 dans tab1 :
tab1 = tab2;
tab1 = tab2[*];
for(i=0;tab1[i] = tab2[i]; i++);
strcpy(tab1[], tab2[]);

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

 -13-
A partir des définitions suivantes :
int i = 10;
int * p = NULL;
char *q = NULL;
quelle est la seule affectation valide :
p = q;
q = p;
p = &i;
q = &i;

 -14-
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;

 -15-
Quelle est la liste des opérateurs applicables sur des structures nommées de même type et sur des pointeurs de structure :
= + - # $ [ ]
= == != . ^ & *
= . -> & *
aucune de celles proposées

 -16-
Etant donné la définition :
typedef struct Personne {
char nom[20];
int age;
} Personne;
Quelles sont les propositions valides :
Personne p1;
struct Personne p3 = {"Dupont", 30};
Personne * p4;
Personne * p5 = malloc(sizeof(Personne));

 -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" ...