Développer en langage C
Tout programme C débute par l?exécution d?une fonction spécifique, laquelle :
run
Start
Main
aucune de celles proposées
La définition d?une fonction C ou d?un bloc de code s?écrit toujours entre :
begin ... end
[ ... ]
( ... )
{ ... }
Parmi les opérateurs suivants : + * () [ ] l?ordre de priorité d?évaluation est :
[ ], *, +, ()
*, +, [ ], ()
(), [ ], *, +
*, (), [ ], +
Quelle constante n?est pas valide en langage C
0x2F
"9"
'une chaine'
032
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
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
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
Parmi l?ensemble de ces propositions, quelle est la seule qui soit valide en langage C :
il est possible d?imbriquer des définitions de fonction
une fonction C peut posséder un nombre variable d?arguments
une fonction C doit obligatoirement spécifier une valeur de retour
deux fonctions C différentes peuvent possédées le même nom. Dans ce cas la distinction est faite à l?aide des types des arguments
Quelle est la directive non supportée par le préprocesseur C :
#include
#ifndef
#define
#exception
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
Quelle est le résultat produit par l?expression : printf("%d\n", strcmp("ok", "nok"));
1
0
-1
erreur à la compilation
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
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);
A partir des définitions suivantes : int i = 10; int * p = &i; char *q = NULL; quelle est l?affection qui produit une erreur à l?exécution :
i = *p;
i = (*p)++;
i = (int)*q;
q = (char *)&i;
Parmi les propositions suivantes, identifier la seule définition de type valide :
typedef struct Personne {
typedef struct {
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 <<
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
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" ...