Loading lang_c_qu_02...

enib_small.png LANG-C Qu_02 — Questionnaire sur le chapitre 02_Basics

{1} Organisation

Vrai ou faux ? Le code source d'un programme en langage C peut tenir dans de multiples fichiers.
 1 ? 


Vrai ou faux ? Le code source d'un programme en langage C tient forcément dans un unique fichier.
 2 ? 


Vrai ou faux ? Les instructions que doit exécuter un programme en langage C doivent nécessairement être placées dans des fonctions.
 3 ? 


Vrai ou faux ? Les instructions que doit exécuter un programme en langage C peuvent être placées en dehors de toute fonction.
 4 ? 


Vrai ou faux ? Le code source d'un programme en langage C doit être traduit en un autre format de fichier qui sera exécutable par le système d'exploitation et la machine informatique.
 5 ? 


Vrai ou faux ? Le code source d'un programme en langage C est directement exécutable par le système d'exploitation et la machine informatique.
 6 ? 


Vrai ou faux ? Le langage C est un langage compilé.
 7 ? 


Vrai ou faux ? Le langage C est un langage interprété.
 8 ? 
{2} Fonctions

Quel nom porte la fonction principale d'un programme ?
 9 ? 


Quand est appelée la fonction principale d'un programme ?
 10 ? 


Quand se termine un programme ?
 11 ? 


Quel est le prototype le plus simple pour la fonction principale ?
 12 ? 


Écrire le prototype d'une fonction nommée useless, qui n'attend aucun paramètre et qui ne renvoie aucun résultat.
 13 ? 


Écrire le prototype d'une fonction nommée useless, qui attend un paramètre entier nommé a et qui ne renvoie aucun résultat.
 14 ? 


Écrire le prototype d'une fonction nommée useless, qui attend un paramètre réel nommé a et qui ne renvoie aucun résultat.
 15 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres entiers nommés a et b et qui ne renvoie aucun résultat.
 16 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres réels nommés a et b et qui ne renvoie aucun résultat.
 17 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres entiers nommés a et b, deux paramètres réels nommés c et d et qui ne renvoie aucun résultat.
 18 ? 


Écrire le prototype d'une fonction nommée useless, qui n'attend aucun paramètre et qui renvoie un résultat entier.
 19 ? 


Écrire le prototype d'une fonction nommée useless, qui attend un paramètre entier nommé a et qui renvoie un résultat entier.
 20 ? 


Écrire le prototype d'une fonction nommée useless, qui attend un paramètre réel nommé a et qui renvoie un résultat entier.
 21 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres entiers nommés a et b et qui renvoie un résultat entier.
 22 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres réels nommés a et b et qui renvoie un résultat entier.
 23 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres entiers nommés a et b, deux paramètres réels nommés c et d et qui renvoie un résultat entier.
 24 ? 


Écrire le prototype d'une fonction nommée useless, qui n'attend aucun paramètre et qui renvoie un résultat réel.
 25 ? 


Écrire le prototype d'une fonction nommée useless, qui attend un paramètre entier nommé a et qui renvoie un résultat réel.
 26 ? 


Écrire le prototype d'une fonction nommée useless, qui attend un paramètre réel nommé a et qui renvoie un résultat réel.
 27 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres entiers nommés a et b et qui renvoie un résultat réel.
 28 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres réels nommés a et b et qui renvoie un résultat réel.
 29 ? 


Écrire le prototype d'une fonction nommée useless, qui attend deux paramètres entiers nommés a et b, deux paramètres réels nommés c et d et qui renvoie un résultat réel.
 30 ? 


Que désigne t-on par le terme prototype d'une fonction ?
 31 ? 


À quoi servent les fichiers d'en-tête ?
 32 ? 


Que désigne t-on par le terme déclaration d'une fonction ?
 33 ? 


À quoi sert la déclaration d'une fonction ?
 34 ? 


Que désigne t-on par le terme définition d'une fonction ?
 35 ? 


À quoi sert la définition d'une fonction ?
 36 ? 
{3} Types et variables

Vrai ou faux ? Une variable garde toujours le même type après sa déclaration.
 37 ? 


Vrai ou faux ? Une variable peut changer de type après sa déclaration.
 38 ? 


Vrai ou faux ? Deux variables ayant le même nom dans des fonctions différentes sont indépendantes.
 39 ? 


Vrai ou faux ? Deux variables ayant le même nom dans des fonctions différentes sont confondues.
 40 ? 


Vrai ou faux ? Il est recommandé de déclarer les variables au plus près de leur utilisation dans le code.
 41 ? 


Vrai ou faux ? Il est recommandé de déclarer les variables une fois pour toutes, à l'extérieur de toute fonction.
 42 ? 


Vrai ou faux ? Si dans un bloc de code une variable locale a le même nom qu'une variable globale, elle rend cette variable globale inaccessible depuis ce bloc.
 43 ? 


Vrai ou faux ? Une variable locale ne peut pas avoir le même nom qu'une variable globale.
 44 ? 


Vrai ou faux ? Cette formulation déclare deux variables de type entier :
int a, b;
 45 ? 


Vrai ou faux ? Cette formulation déclare deux variables de type réel :
double a, b;
 46 ? 


Vrai ou faux ? Cette formulation déclare une variable de type entier et une variable de type indéterminé :
int a, b;
 47 ? 


Vrai ou faux ? Cette formulation déclare une variable de type réel et une variable de type indéterminé :
double a, b;
 48 ? 


Vrai ou faux ? Dans cette formulation, une seule variable vaut 8 :
int a=8, b;
 49 ? 


Vrai ou faux ? Dans cette formulation, une seule variable vaut 2.5 :
double a, b=2.5;
 50 ? 


Vrai ou faux ? Dans cette formulation, les deux variables valent 5 :
int a, b=5;
 51 ? 


Vrai ou faux ? Dans cette formulation, les deux variables valent 7.2 :
double a=7.2, b;
 52 ? 


Vrai ou faux ? Une variable entière peut mémoriser la valeur -1234.
 53 ? 


Vrai ou faux ? Une variable entière peut mémoriser la valeur 0x1AC4.
 54 ? 


Vrai ou faux ? Une variable entière peut mémoriser la valeur 12.34.
 55 ? 


Vrai ou faux ? Une variable réelle peut mémoriser la valeur -1234.
 56 ? 


Vrai ou faux ? Une variable réelle peut mémoriser la valeur 12.34.
 57 ? 


Vrai ou faux ? Une opération entre des types différents peut être autorisée implicitement.
 58 ? 


Vrai ou faux ? Une opération entre des types différents peut nécessiter une conversion explicite.
 59 ? 


Vrai ou faux ? Une opération entre des types différents est impossible.
 60 ? 


Vrai ou faux ? Une conversion de type peut entraîner une perte d'information.
 61 ? 


Vrai ou faux ? Une conversion de type n'entraîne jamais de perte d'information.
 62 ? 


Vrai ou faux ? Une conversion de type peut nécessiter l'exécution d'instructions spécifiques par le processeur.
 63 ? 


Vrai ou faux ? Une conversion de type ne nécessite jamais l'exécution d'instructions spécifiques par le processeur.
 64 ? 


Vrai ou faux ? Une conversion de type nécessite toujours l'exécution d'instructions spécifiques par le processeur.
 65 ? 


Déclarer une variable de type entier nommée a.
 66 ? 


Déclarer une variable de type entier nommée a, valant initialement 5.
 67 ? 


Déclarer deux variables de type entier nommées a et b.
 68 ? 


Déclarer deux variables de type entier nommées a et b, valant initialement 14 et -7.
 69 ? 


Déclarer une variable de type réel nommée a.
 70 ? 


Déclarer une variable de type réel nommée a, valant initialement 8x105.
 71 ? 


Déclarer deux variables de type réel nommées a et b.
 72 ? 


Déclarer deux variables de type réel nommées a et b, valant initialement -12.5 et 3.7x10-6.
 73 ? 


Quelle inclusion de fichier d'en-tête standard est nécessaire à l'usage du type booléen ?
 74 ? 


Déclarer une variable de type booléen nommée a.
 75 ? 


Déclarer une variable de type booléen nommée a, ayant initialement la valeur vraie.
 76 ? 


Déclarer une variable de type booléen nommée a, ayant initialement la valeur fausse.
 77 ? 


Déclarer deux variables de type booléen nommées a et b.
 78 ? 


Déclarer deux variables de type booléen nommées a et b, ayant initialement les valeurs vraie et fausse.
 79 ? 


Écrire l'appel qui permet d'afficher la valeur d'une variable de type entier nommée x.
 80 ? 


Écrire l'appel qui permet d'afficher la valeur d'une variable de type réel nommée x.
 81 ? 


Écrire l'appel qui permet d'afficher la valeur de deux variables de type entier nommées x et y.
 82 ? 


Écrire l'appel qui permet d'afficher la valeur de deux variables de type réel nommées x et y.
 83 ? 


Écrire l'appel qui permet d'afficher la valeur d'une variable de type entier nommée x et d'une variable de type réel nommé y.
 84 ? 


Écrire l'appel qui permet d'afficher la valeur d'une variable de type réel nommée x et d'une variable de type entier nommé y.
 85 ? 


Déclarer un nouveau nom de type Counter pour le type entier.
 86 ? 


Déclarer un nouveau nom de type Step pour le type entier.
 87 ? 


Déclarer un nouveau nom de type Depth pour le type réel.
 88 ? 


Déclarer un nouveau nom de type Friction pour le type réel.
 89 ? 


Que désigne t-on par le terme cast ?
 90 ? 


Écrire la conversion explicite d'un entier x vers un réel y.
 91 ? 


Écrire la conversion explicite d'un réel x vers un entier y.
 92 ? 


Écrire la conversion explicite qui assure que la somme de deux réels x et y pourra être affectée sans avertissement à un entier z.
 93 ? 


Quelle est la valeur initiale implicite d'une variable ayant une classe de stockage automatique ?
 94 ? 


Que signifie le fait qu'une variable ait une classe de stockage automatique ?
 95 ? 


Que signifie le fait qu'une variable ait une classe de stockage statique ?
 96 ? 


Que signifie le fait qu'une variable soit qualifiée de locale ?
 97 ? 


Que signifie le fait qu'une variable soit qualifiée de globale ?
 98 ? 


Quelle(s) classe(s) de stockage peuvent avoir les variables locales ?
 99 ? 


Quelle(s) classe(s) de stockage peuvent avoir les variables globales ?
 100 ? 
{4} Règles d'écriture

Écrire un commentaire dans sa forme ne tenant que sur une seule ligne.
 101 ? 


Écrire un commentaire dans sa forme tenant sur plusieurs lignes.
 102 ? 


Vrai ou faux ? Le préprocesseur effectue des transformations lexicales.
 103 ? 


Vrai ou faux ? Le préprocesseur reformule les algorithmes en en permutant les mots et les lignes.
 104 ? 


Écrire la directive qui permet d'inclure le fichier d'en-tête standard stdio.h.
 105 ? 


Écrire la directive qui permet d'inclure le fichier d'en-tête standard stdbool.h.
 106 ? 


Écrire la directive qui permet d'inclure le fichier d'en-tête non-standard myHeader.h.
 107 ? 


Écrire la directive qui permet d'inclure le fichier d'en-tête non-standard myUtils.h.
 108 ? 


Écrire une macro GRAVITY se substituant par 9.81.
 109 ? 


Écrire une macro MASS se substituant par 26.4.
 110 ? 


Écrire une macro SQUARE se substituant par son paramètre élevé au carré.
 111 ? 


Écrire une macro TWICE se substituant par son paramètre additionné à lui-même.
 112 ? 


Vrai ou faux ? Le mot Abc123 est un identificateur correct.
 113 ? 


Vrai ou faux ? Le mot _Abc123 est un identificateur correct.
 114 ? 


Vrai ou faux ? Le mot _123Abc est un identificateur correct.
 115 ? 


Vrai ou faux ? Le mot 123Abc est un identificateur correct.
 116 ? 


Vrai ou faux ? Le mot 123_Abc est un identificateur correct.
 117 ? 


Vrai ou faux ? Le mot 123Abc_ est un identificateur correct.
 118 ? 


Vrai ou faux ? Les identificateurs MyVar et myvar sont équivalents.
 119 ? 


Vrai ou faux ? Le mot-clef return termine immédiatement la fonction courante.
 120 ? 


Vrai ou faux ? Le mot-clef return peut être utilisé même si aucun résultat n'est fourni par la fonction courante.
 121 ? 


Vrai ou faux ? Le mot-clef return peut être accompagné d'une expression représentant le résultat de la fonction courante.
 122 ? 


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.
 123 ? 


Vrai ou faux ? Le mot-clef return permet de passer à la prochaine itération de la boucle courante.
 124 ? 


Vrai ou faux ? Le mot-clef return permet de poursuivre l'exécution juste après la boucle courante.
 125 ? 


Vrai ou faux ? Le mot-clef break permet de poursuivre l'exécution juste après la boucle courante.
 126 ? 


Vrai ou faux ? Le mot-clef break permet de poursuivre l'exécution juste après la construction switch-case courante.
 127 ? 


Vrai ou faux ? Le mot-clef break termine immédiatement la fonction courante.
 128 ? 


Vrai ou faux ? Le mot-clef break peut être accompagné d'une expression.
 129 ? 


Vrai ou faux ? Le mot-clef break permet de passer à la prochaine itération de la boucle courante.
 130 ? 


Vrai ou faux ? Le mot-clef continue permet de passer à la prochaine itération de la boucle courante.
 131 ? 


Vrai ou faux ? Le mot-clef continue permet de poursuivre l'exécution juste après la boucle courante.
 132 ? 


Vrai ou faux ? Le mot-clef continue relance l'exécution de la construction switch-case courante à son début.
 133 ? 


Vrai ou faux ? Le mot-clef continue permet de poursuivre l'exécution juste après la construction switch-case courante.
 134 ? 


Vrai ou faux ? Le mot-clef continue termine immédiatement la fonction courante.
 135 ? 


Vrai ou faux ? Le mot-clef continue relance l'exécution de la fonction courante à son début.
 136 ? 


Vrai ou faux ? Le mot-clef continue peut être accompagné d'une expression.
 137 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=30, b=40;
a+=b;
 138 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=25, b=12;
b+=a;
 139 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=30, b=20;
b-=a;
 140 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=25, b=12;
a-=b;
 141 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=30, b=40;
b*=a;
 142 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=20, b=15;
a*=b;
 143 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=37, b=10;
a/=b;
 144 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=15, b=50;
b/=a;
 145 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=10, b=37;
b%=a;
 146 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=50, b=15;
a%=b;
 147 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=10, b=++a;
 148 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=10, b=a++;
 149 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=10, b=--a;
 150 ? 


Quelles sont les valeurs des variables a et b après cette portion de code ?
int a=10, b=a--;
 151 ? 


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);
 152 ? 


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);
 153 ? 


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);
 154 ? 


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));
 155 ? 


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));
 156 ? 


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));
 157 ? 


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;
}
 158 ? 


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;
}
 159 ? 


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);
 160 ? 


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++);
 161 ? 


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;
}
 162 ? 


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;
}
 163 ? 


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;
}
 164 ? 


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;
}
 165 ? 


Écrire une alternative simple qui affiche le texte OK si les deux entiers a et b sont strictement positifs.
 166 ? 


Écrire une alternative simple qui affiche le texte OK si au moins un des deux entiers a ou b est strictement positif.
 167 ? 


É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.
 168 ? 


É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.
 169 ? 


É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.
 170 ? 


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.
 171 ? 


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.
 172 ? 


Reformuler cette alternative simple en utilisant l'opérateur ternaire.
if(a<b)
{
  c+=b-a;
}
else
{
  c+=a-b;
}
 173 ? 


Reformuler cette expression en utilisant une alternative simple.
y-=x<1.0 ? x*x : 1.0;
 174 ? 


Écrire une alternative multiple qui multiplie le réel amount par 103 si la variable suffix vaut le caractère littéral k, par 106 s'il s'agit de M ou par 106 s'il s'agit de G, et qui affiche suffix avec un message d'erreur pour ses autres valeurs.
 175 ? 


É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.
 176 ? 


Écrire une boucle while qui ajoute 2 à l'entier a et retire 3 à l'entier b tant que a est strictement inférieur à b.
 177 ? 


É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.
 178 ? 


É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.
 179 ? 


Écrire une boucle do-while qui affiche les puissances de deux, à partir de 1 jusqu'à 4096 (inclus).
 180 ? 


Écrire une boucle for qui énumère et affiche tous les entiers à partir de zéro et sans atteindre dix.
 181 ? 


Écrire une boucle for qui énumère et affiche tous les entiers pairs à partir de zéro et sans atteindre dix.
 182 ? 


Écrire une boucle for qui énumère et affiche tous les entiers à partir de neuf jusqu'à zéro (inclus).
 183 ? 


Écrire une boucle for qui énumère et affiche tous les entiers pair à partir de huit jusqu'à zéro (inclus).
 184 ? 


É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).
 185 ? 


É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.
 186 ?