Tuesday, December 23, 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-
La définition d?une fonction C ou d?un bloc de code s?écrit toujours entre :
begin ... end
[ ... ]
( ... )
{ ... }

 -2-
Tout programme C débute par l?exécution d?une fonction spécifique, laquelle :
run
Start
Main
aucune de celles proposées

 -3-
Quelle constante n?est pas valide en langage C
0x2F
"9"
'une chaine'
032

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

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

 -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é la déclaration de la fonction :
void foo(char * t);
et la définition du tableau :
char tab[10] = "Exemple";
quels sont les appels valides de la fonction foo :
foo(tab);
foo(&tab[0]);
foo(*tab[0]);
aucun

 -12-
Parmi les déclarations de tableaux suivantes, quelles sont celles qui soient valides :
char tab1[] = {'b','o','n','j','o','u','r'};
int tab2[] = "bonjour";
char *tab3[7] = "bonjour";
char tab4 [7] = ['b','o','n','j','o','u','r'];

 -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-
Identifiez la bonne définition d?un pointeur p sur un tableau de 10 fonctions prenant comme argument un int et restituant une chaîne de caractères :
char *(*p[10])(int);
char *(*(*p)[10])(int);
char *(*(*p[10]))(int);
char *(*(*p))[10])(int);

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