Académique Documents
Professionnel Documents
Culture Documents
Tableaux statiques :
Si t est dfini par "int t[2];", alors "&t" est de type : C'est une expression errone
Si t est dfini par "int t[2];", alors "&t[2] + 1" est de type : (int *)
Si t est dfini par " int t[] = { 1,0 }; " alors " t[t[*(t+1)]] " vaut : 0
Si t est dfini par " int t[] = { 1,0 }; " alors " t[*(t+*t)] " vaut : 1
Si t est dfini par " int t[2][3] = {{3,4,5} , {0,1,2}}; " alors " t[0][4] " vaut : 1
Si t est dfini par " int t[] = { 1,0}; " alors " *(*t + 1)" est de type : Cest une expression errone
Si t est dfini par " int * t;" alors "&t" est de type : (int **)
Si t est dfini par " int t[] = {1,0}; " alors "&t" est de type : Cest une expression errone
Si t est dfini par " int t[] = {1,0}; " alors "*t" est de type : (int)
Si s et t sont dfinis par "int t[] = {1,2,3,4,5}; int * s = t+4 " alors "s[-2]" vaut : 3
Structure :
Si Brol_ est dfinie par " struct Brol_ {int a; double d;}; " alors sizeof (Brol_) vaudra : Toujours au moins (sizeof(int) + sizeof(double))
Si Brol_ est dfinie par " union Brol_ {int a; double d;}; " alors sizeof (Brol_) vaudra : Toujours sizeof(double)
Si un pointeur p sur une structure Brol_ est dfini par " struct Brol_ {int a; struct {double x, y; } t;} *p;", alors le champs x de la structure Brol_ pointe par p est
accd par l'expression : p->t.x
Si o1 et o2 sont deux variables de type structur Brol_, dfinis par " struct Brol_ {int a; struct {double x, y;} t;} o1, o2;", alors la copie de tous les champs de o2
dans les champs de o1 s'crit : o1 = o2;
Fonction f :
Si f est une fonction prenant en paramtre un entier et ne renvoyant rien, alors le prototype de f peut s'crire : void f (int)
Si f est une fonction prenant en paramtre un pointeur sur un tableau de double et renvoyant un pointeur d'entier, alors le prototype de f peut s'crire : int * f
(double *)
Include :
Pour inclure le fichier d'en-tte systme "brol.h", on doit crire : #include <brol.h>
Si l'on inclut le fichier d'en-tte "brol.h" au moyen de la directive "#include "brol.h"", le fichier sera cherch : Dans les repertoires spcifis par l'utilisateur
seulement
Macro :
Pour dfinir une macro PI gal la cinquime dcimale et utilisable dans des expressions mathmatiques, on crit : #define PI 3.14159
Pour dfinir une macro PRODUIT qui calcule le produit de deux arguments qui lui sont passs, quelles que soient les expressions qui lui sont passes, on crit :
#define PRODUIT(a,b) ((a)*(b))
Pour n'inclure le fragment de code frag que si la macro BROL est dfinie, il ne faut pas crire : #if defined BROL #else frag #endif
Programme (si identique) :
Dans le programme 1 situ en fin de test, la valeur affiche aprs L1 est : 1
Dans le programme 1 situ en fin de test, la valeur affiche aprs L2 est : 0
Dans le programme 1 situ en fin de test, la valeur affiche aprs L3 est : 0
Dans le programme 1 situ en fin de test, la valeur affiche aprs L4 est : 0
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L5 est : 1
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L6 est : 3
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L7 est : 4
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L8 est : 10
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L9 est : 3
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L10 est : 5
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L11 est : 10
Dans le programme 1 situ a la fin du test, la valeur affiche aprs L12 est : 3