Sunday, March 1, 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-
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)

 -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-
Quelle constante n?est pas valide en langage C
0x2F
"9"
'une chaine'
032

 -4-
Quelles sont les tailles en octets des types prédéfinis long, char, double, short :
8, 1, 4, 2
4, 1, 4, 2
4, 2, 8, 4
4, 1, 8, 2

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

 -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-
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-
Quelle est la technique de passage de paramètre non supportée par le langage C
passage par adresse
passage par référence
passage par pointeur
passage par valeur

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

 -10-
Une bonne programmation modulaire favorise :
la maintenance et évolutivité des programmes
le développement en équipes
la limitation des dépendances inter modules
l'optimisation des ressources mémoire

 -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-
A partir des définitions suivantes :
char tab1[10] = "Exemple";
char tab2[20] ;
quel est le contenu de tab2 après évaluation de l?expression :
strcat(strcpy(tab2, &tab1[2]), "...");
Ex?emple
?Exemp
emple?
erreur à la compilation

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

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

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

 -16-
Parmi les propositions suivantes, identifier la seule définition de type valide :
typedef struct Personne {
typedef struct {
typedef struct {
typedef struct 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" ...