Développer en langage C
La définition d?une fonction C ou d?un bloc de code s?écrit toujours entre :
begin ... end
[ ... ]
( ... )
{ ... }
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)
Quel type n?est pas un type primitif du langage C :
int
long
real
char
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
En fonction de la variable : int i = 0; quelle est la structure alternative qui affiche «ok» à l?écran
if(i = 0) printf("%s", "ok");
if(i == 0) { printf("%d", "ok"); }
if(i == 0) then printf("%s", "ok");
if(i != 0) printf("%s", "nok"); else printf("%s", "ok");
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
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
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
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))
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
A partir de la définition suivante : char tab[10] = "Exemple"; quel est le résultat produit par l?expression : printf("%d\n", strlen(&tab[1]));
6
7
10
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;
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;
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 <<
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
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" ...