Développer en langage C
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"
Tout programme C débute par l?exécution d?une fonction spécifique, laquelle :
run
Start
Main
aucune de celles proposées
Parmi les opérateurs suivants : + * () [ ] l?ordre de priorité d?évaluation est :
[ ], *, +, ()
*, +, [ ], ()
(), [ ], *, +
*, (), [ ], +
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;
3
5
4
erreur à la compilation
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
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; }
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 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
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
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[]);
Quelle est le résultat produit par l?expression : printf("%d\n", strcmp("ok", "nok"));
1
0
-1
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;
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
Parmi les propositions suivantes, identifier la seule définition de type valide :
typedef struct Personne {
typedef struct {
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));
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" ...