Écrire un commentaire dans sa forme ne tenant que sur une seule ligne.
// voici un commentaire ne tenant que sur une seule ligne
(voir
cette section)
Écrire un commentaire dans sa forme tenant sur plusieurs lignes.
/* voici un commentaire
tenant sur plusieurs lignes */
(voir
cette section)
Vrai ou faux ? Le préprocesseur effectue des transformations lexicales.
Vrai ou faux ? Le préprocesseur reformule les algorithmes en en permutant
les mots et les lignes.
Écrire la directive qui permet d'inclure le fichier d'en-tête standard
stdio.h.
Écrire la directive qui permet d'inclure le fichier d'en-tête standard
stdbool.h.
Écrire la directive qui permet d'inclure le fichier d'en-tête
non-standard
myHeader.h.
Écrire la directive qui permet d'inclure le fichier d'en-tête
non-standard
myUtils.h.
Écrire une
macro GRAVITY se substituant par
9.81.
Écrire une
macro MASS se substituant par
26.4.
Écrire une
macro SQUARE se substituant par son paramètre
élevé au carré.
Écrire une
macro TWICE se substituant par son paramètre
additionné à lui-même.
Vrai ou faux ? Le mot
Abc123 est un identificateur correct.
Vrai ou faux ? Le mot
_Abc123 est un identificateur correct.
Vrai ou faux ? Le mot
_123Abc est un identificateur correct.
Vrai ou faux ? Le mot
123Abc est un identificateur correct.
Vrai ou faux ? Le mot
123_Abc est un identificateur correct.
Vrai ou faux ? Le mot
123Abc_ est un identificateur correct.
Vrai ou faux ? Les identificateurs
MyVar et
myvar sont équivalents.
Vrai ou faux ? Le mot-clef
return termine immédiatement la fonction courante.
Vrai ou faux ? Le mot-clef
return peut être utilisé même si aucun résultat
n'est fourni par la fonction courante.
Vrai ou faux ? Le mot-clef
return peut être accompagné d'une expression
représentant le résultat de la fonction courante.
Vrai ou faux ? Le mot-clef
return prépare la valeur qui sera renvoyée par
la fonction courante lorsque sa dernière accolade fermante sera
atteinte.
Vrai ou faux ? Le mot-clef
return permet de passer à la prochaine itération
de la boucle courante.
Vrai ou faux ? Le mot-clef
return permet de poursuivre l'exécution juste
après la boucle courante.
Vrai ou faux ? Le mot-clef
break permet de poursuivre l'exécution juste
après la boucle courante.
Vrai ou faux ? Le mot-clef
break permet de poursuivre l'exécution juste
après la construction
switch-case courante.
Vrai ou faux ? Le mot-clef
break termine immédiatement la fonction courante.
Vrai ou faux ? Le mot-clef
break peut être accompagné d'une expression.
Vrai ou faux ? Le mot-clef
break permet de passer à la prochaine itération
de la boucle courante.
Vrai ou faux ? Le mot-clef
continue permet de passer à la prochaine itération
de la boucle courante.
Vrai ou faux ? Le mot-clef
continue permet de poursuivre l'exécution juste
après la boucle courante.
Vrai ou faux ? Le mot-clef
continue relance l'exécution de la construction
switch-case courante à son début.
Vrai ou faux ? Le mot-clef
continue permet de poursuivre l'exécution juste
après la construction
switch-case courante.
Vrai ou faux ? Le mot-clef
continue termine immédiatement la fonction
courante.
Vrai ou faux ? Le mot-clef
continue relance l'exécution de la fonction
courante à son début.
Vrai ou faux ? Le mot-clef
continue peut être accompagné d'une expression.
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
Quelle est la valeur de la variable
c après cette portion
de code ?
int a=10, b=20;
bool c=(a>5)&&(b<25);
Quelle est la valeur de la variable
c après cette portion
de code ?
int a=10, b=20;
bool c=(a>5)&&(b<15);
Quelle est la valeur de la variable
c après cette portion
de code ?
int a=10, b=20;
bool c=(a>5)||(b<15);
Quelle est la valeur de la variable
c après cette portion
de code ?
int a=10, b=20;
bool c=!((a>5)||(b<25));
Quelle est la valeur de la variable
c après cette portion
de code ?
int a=10, b=20;
bool c=!((a>5)||(b<15));
Quelle est la valeur de la variable
c après cette portion
de code ?
int a=10, b=20;
bool c=!((a>5)&&(b<15));
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
int a=1, b=1;
while(a<=++b)
{
a*=2;
}
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
int a=8, b=1;
while(a>=b++)
{
a-=3;
}
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
int a=1, b=1;
do
{
a*=2;
} while(a<=++b);
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
int a=8, b=1;
do
{
a-=3;
} while(a>=b++);
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
int a=100, b;
for(b=0; b<10; ++b)
{
a-=3;
}
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
int a=100, b;
for(b=0; b<10; b+=2)
{
a+=5;
}
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
int a=100, b;
for(b=5; b>0; b/=2)
{
a+=10;
}
Quelles sont les valeurs des variables
a et
b après
cette portion de code ?
double a=10.0, b;
for(b=1.0; b>0.2; b*=0.5)
{
a+=1.5;
}
Écrire une alternative simple qui affiche le texte
OK si les deux
entiers
a et
b sont strictement positifs.
Écrire une alternative simple qui affiche le texte
OK si au moins
un des deux entiers
a ou
b est strictement positif.
Écrire une alternative simple qui affiche le texte
a wins si la
variable
a a une valeur supérieure à celle de la variable
b,
le texte
b wins si la variable
b a une valeur supérieure à
celle de la variable
a et le texte
draw game dans le dernier
cas.
if(a>b)
{
printf("a wins\n");
}
else if(b>a)
{
printf("b wins\n");
}
else
{
printf("draw game\n");
}
(voir
cette section et
cette section)
Écrire une alternative simple qui ajoute à la plus petite des deux
variables réelles
a ou
b la moitié de l'écart positif
entre leurs valeurs.
Écrire une alternative simple qui retire à la plus grande des deux
variables réelles
a ou
b la moitié de l'écart positif
entre leurs valeurs.
Utiliser l'opérateur ternaire pour initialiser un réel
c avec
le triple de la valeur minimale parmi celles des deux réels
a et
b.
Utiliser l'opérateur ternaire pour initialiser un réel
c avec
la moitié de la valeur maximale parmi celles des deux réels
a et
b.
Reformuler cette alternative simple en utilisant l'opérateur ternaire.
if(a<b)
{
c+=b-a;
}
else
{
c+=a-b;
}
Reformuler cette expression en utilisant une alternative simple.
Écrire une alternative multiple qui multiplie le réel
amount par
10
3 si la variable
suffix vaut le caractère littéral
k, par 10
6 s'il s'agit de
M ou par 10
6 s'il s'agit
de
G, et qui affiche
suffix avec un message d'erreur pour
ses autres valeurs.
switch(suffix)
{
case 'k':
{
amount*=1e3;
break;
}
case 'M':
{
amount*=1e6;
break;
}
case 'G':
{
amount*=1e9;
break;
}
default:
{
printf("unexpected suffix %c\n", suffix);
break;
}
}
(voir
cette section,
cette section et
cette section)
Écrire une alternative multiple qui affiche le texte littéral
never
lorsque l'entier
count vaut
0,
once lorsqu'il vaut
1,
twice lorsqu'il vaut
2 et sa valeur suivie de
times dans
les autres cas.
switch(count)
{
case 0:
{
printf("never\n");
break;
}
case 1:
{
printf("once\n");
break;
}
case 2:
{
printf("twice\n");
break;
}
default:
{
printf("%d times\n", count);
break;
}
}
(voir
cette section)
Écrire une boucle
while qui ajoute
2 à l'entier
a et retire
3 à l'entier
b tant que
a est strictement inférieur à
b.
Écrire une boucle
while qui multiplie par
0.5 le réel
a et
par
2.0 le réel
b tant que
a est strictement supérieur à
b.
Écrire une boucle
do-while qui invoque une fonction
double getValue(void) et accumule ses résultats jusqu'à ce que
leur somme atteigne ou dépasse
12.5.
Écrire une boucle
do-while qui affiche les puissances de deux, à
partir de
1 jusqu'à
4096 (inclus).
Écrire une boucle
for qui énumère et affiche tous les entiers
à partir de zéro et sans atteindre dix.
Écrire une boucle
for qui énumère et affiche tous les entiers
pairs à partir de zéro et sans atteindre dix.
Écrire une boucle
for qui énumère et affiche tous les entiers
à partir de neuf jusqu'à zéro (inclus).
Écrire une boucle
for qui énumère et affiche tous les entiers
pair à partir de huit jusqu'à zéro (inclus).
Écrire une boucle
for qui, pour un entier
x donné, énumère et
affiche tous les entiers dont l'écart (positif ou négatif) à
x
vaut au maximum deux (inclus).
Écrire une boucle
for qui, pour un entier
x donné, énumère et
affiche toutes les puissances de deux (à partir de
1) qui sont
strictement inférieures à
x.