wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Langage C

Total questions: 36

Worksheet time: 36mins

Name
Class
Date
1.

Quel est le squelette correct d'un fichier main.c en langage C pour microcontrôleur ?

a)
b)
c)
d)
e)

2.

Parmi les caractères suivants, lesquels peuvent être utilisés pour commenter en langage C ?

a)

*

b)

/

c)

-

d)

\

3.

Sélectionner la bonne séquence des éléments suivants afin de déclarer une variable "ma_variable" de type unsigned short :

1. ma_variable

2. short

3. ;

4. unsigned

a)

2-3-4-1

b)

4-2-1-3

c)

1-2-3-4

d)

4-3-2-1

4.

Quels sont le ou les identificateurs (noms de variables ou de fonctions) corrects ?

a)

2nd

b)

_Variable

c)

X (espace) Y

d)

sEcOND

e)

int

5.

Quelle est la ligne correcte pour une déclaration de variable ?

a)

b)

c)

d)

6.

Quel est le séparateur utilisé pour terminer une déclaration de variable ou une instruction ?

a)

.

b)

,

c)

;

d)

:

7.

Quel est le séparateur utilisé pour accéder à un élément d'un tableau ?

a)

{ }

b)

[ ]

c)

( )

d)

->

8.

Parmi les types suivants, lequel choisira-t-on pour représenter des nombres entiers allant de 0 à 255 ?

a)

float

b)

int

c)

char

d)

unsigned char

9.

Parmi les caractères spéciaux ci-dessous, le(s)quel(s) permet(tent) de passer à la ligne suivante ?

a)

\t

b)

\r

c)

\n

d)

\\

e)

\0

10.

La définition suivante :

typedef enum {FAUX, VRAI} booleen;

permet de définir un type "booleen" qui n'existe pas en langage C, et qui pourra prendre les valeurs "FAUX" (codé 0) ou "VRAI" (codé 1)

Est-ce :

a)

VRAI

b)

FAUX

11.

Quelle proposition correspond à une déclaration correcte de variable ?

a)

int a;

b)

float 1er;

c)

CHAR étoile;

d)

Double nombre;

12.

Quel est l'opérateur qui permet d'affecter une valeur à une variable ?

a)

==

b)

===

c)

<=

d)

=

13.

Parmi ces opérateurs de comparaison, quel est l'intrus ?

a)

>

b)

==

c)

!=

d)

?=

14.

Quel opérateur permet de réaliser un ET LOGIQUE ?

a)

&

b)

and

c)

&&

d)

et

15.

Quel opérateur permet de réaliser un ET BIT À BIT ?

a)

&&

b)

||

c)

|

d)

&

16.

On souhaite réaliser un décalage de bits vers la droite : quel opérateur va-t-on utiliser ?

a)

>

b)

<

c)

<<

d)

>>

17.

Quelle proposition est équivalente à la ligne de code suivante :

a++;

a)

a = a - 1;

b)

a = a + 1;

c)

a = b;

d)

a = a + 2;

18.

Quelle est la syntaxe correcte pour une instruction conditionnelle "if" ?

a)

if (b == 1) then

c = 0;

d = 2;

else

c = 1;

d = 0;

b)

if (b == 1) {

c = 0;

d = 2;

}

else {

c = 1;

d = 0;

}

c)

if b == 1

c = 0;

d = 2;

else

c = 1;

d = 0;

endif

d)

{if(b == 1);

c = 0;

d = 2;

}

{else

c = 1;

d = 0;

};

19.

Quelles sont les 3 lignes montrant exclusivement des structures de contrôle de type "Boucle" :

a)

lignes 1-2-4

b)

lignes 2-3-4

c)

lignes 1-4-5

d)

lignes 3-4-5

20.

Pour réaliser une attente active, quel(s) type(s) de boucle(s) peut-on utiliser ?

a)

while

b)

for

c)

do ... while

d)

loop

21.

Pour parcourir un tableau à 2 dimensions, quel type de boucle imbriquée utilise-t-on généralement ?

a)

loop

b)

do ... while

c)

for

d)

while

22.

Donner la ou les propositions correctes :

a)

a est une variable locale.

b)

b est une variable locale.

c)

a est une variable globale.

d)

b est une variable globale.

e)

a et b ne sont pas des variables : la vérité est ailleurs...

23.

Dans quel cas va-t-on pouvoir compter le nombre de passage dans la fonction ?

a)
b)
c)
d)
24.

Dans quel cas l'affichage sera-t-il le suivant :

A = 5 B = 12

a)

Passage par valeur

b)

Passage par référence

25.

Que fait ce programme ?

a)

L'ordinateur n'affiche rien.

b)

L'ordinateur affiche le texte suivant : "La différence 9 moins 5 vaut : 4".

c)

L'ordinateur m'insulte.

d)

L'ordinateur joue un son.

26.

Quelle(s) proposition(s) correspond à la déclaration et/ou initialisation d'un tableau de 10 nombres entiers ?

a)

int tableau[10];

b)

int tableau [] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};

c)

int [] tableau = 10;

d)

int[10] tableau = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};

27.

Soit un tableau TAB déclaré et initialisé comme suit :

int TAB[] = {1, 2, 3};

Indiquer la bonne proposition pour mettre le résultat de la multiplication des deux derniers éléments du tableau ("2" et "3") dans le premier élément :

a)

TAB[0] = TAB[1] * TAB[2];

b)

TAB[1] = TAB[2] * TAB[3];

c)

TAB[2] = TAB[0] * TAB[1];

d)

TAB[3] = TAB[0] * TAB[2];

28.

Quel est le caractère qui permet de détecter une fin de chaîne de caractère ?

a)

\0

b)

\1

c)

\fin

d)

\the_end

29.

Quelle est la bonne séquence à suivre pour utiliser une fonction ?

a)

1. Déclarer le prototype

2. Définir le corps de la fonction

3. Appeler la fonction

b)

1. Définir le corps de la fonction

2. Déclarer le prototype

3. Appeler la fonction

c)

1. Appeler la fonction

2. Définir le corps de la fonction

3. Déclarer le prototype

30.

Que fait ce programme ?

a)

Rien.

b)

Il initialise le registre du port B du microcontrôleur en entrée.

c)

Il écrit 0x55 sur le port A du microcontrôleur.

d)

Il initialise une broche sur deux en sortie sur le port A, les autres en entrées.

31.

Que vaut la variable "variable_A" juste avant l'entrée dans la boucle infinie ?

a)

variable_A vaut 10

b)

variable_A n'a pas de valeur

c)

variable_A vaut 3

d)

variable_A vaut 15

32.

Combien de fois l'instruction dans la boucle for sera-t-elle exécutée ?

a)

0

b)

9

c)

10

d)

11

33.

Quel fichier généré par l'IDE Eclipse permet de consulter le code assembleur généré par le compilateur avr-gcc ?

a)

Le fichier .c

b)

Le fichier .h

c)

Le fichier .hex

d)

Le fichier .lss

34.

Quel élément spécifique du processus de compilation traite les instructions suivantes :

#include <avr/io.h>

#define CTRL PORTA

a)

Le linker

b)

L'assembleur

c)

Le compilateur

d)

Le préprocesseur

35.

Quelle est la définition d'un pointeur en langage C ?

a)

Un pointeur est une variable qui contient la valeur d'une autre variable.

b)

Un pointeur est une variable qui contient l'adresse en mémoire d'une autre variable.

c)

Un pointeur est un joueur de pétanque.

d)

Un pointeur est une variable qui contient l'intégralité des variables d'un programme.

36.

Soit le code suivant :

float A = 3.14;

float *pointeur_float;

pointeur_float = &A;

Choisir la bonne proposition :

a)

*pointeur_float permet d'accéder à la valeur de A.

b)

pointeur_float permet d'accéder à la valeur de A.