QCM en programmation C – Opérateurs arithmétiques – Partie 2

QCM sur C avec des réponses pour la préparation des entretiens, des tests en ligne, des examens etc.

 
 

1. Quelle est la sortie de ce code C ?
#include <stdio.h>

void main()
{
    int x = 3;
    int y = ++x + x++ + --x;
    printf("Valeur de y est %d", y);
}

A Valeur de y est 10

B Valeur de y est 13

C Valeur de y est 12

D Valeur indéfini

B

 

2. Déterminer la priorité de chaque opérateur (le plus élevé au plus bas) ?

A +, -, %, *, /

B %, +, -, *, /

C %, +, /, *, –

D %, *, /, +, –

D

 

3. Lequel des éléments suivants n’est pas une opération arithmétique?

A x %= 10;

B x != 10;

C x /= 10;

D x *= 10;

B
L’opérateur « != » : Permet de tester l’inégalité

 

4. Lequel des types de données suivantes générera une erreur sur l’opération modulo %?

A float

B int

C short

D char

A
Pour effectuer le modulo entre des valeurs de types « float », nous pouvons utiliser la fonction « fmod() » de la bibliothèque math standard. Son prototype est dans l’en-tête standard <math.h>.

 

 

5. Parmi les options suivants, on peut citer les opérateurs arithmétiques fondamentaux, c’est-à-dire que l’exécution de l’opération souhaitée peut être effectuée en utilisant uniquement cet opérateur?

A +, -, *, /, %

B +, -, *, /

C +, -, %

D +, –

D
L’opérateur + et – sont les opérateurs de base.

 

6. Quelle est la valeur de « z » dans ce code ?
#include <stdio.h>

int main()
{
    int x = 10;
    double y = 5.6;
    int c;
    int z = x + y;
    printf("Valeur de z est %d", z);
}

A Valeur de z est 10

B Valeur de z est 15

C Valeur de z est 15,6

D Valeur de z est 16

B

 

7. Quelle est la valeur de « z » dans ce code ?
#include <stdio.h>

int main()
{
    int x = 10, y = 5, w = 5;
    int d;
    int z = x == (y + w);
    printf("Valeur de z est %d", z);
}

A Valeur de z est 5

B Valeur de z est 1

C Valeur de z est 10

D Erreur de syntaxe

B

 

3 réflexions sur “QCM en programmation C – Opérateurs arithmétiques – Partie 2

  • octobre 22, 2020 à 4:45 pm
    Permalien

    La réponse de la question 1 est 12 et non pas 13.

    Répondre
  • septembre 11, 2024 à 12:19 pm
    Permalien

    Quelle est la sortie de ce code C ?

    #include <stdio.h>
    void main()
    {
        int x = 3;
        int y = ++x + x++ + --x;
        printf("Valeur de y est %d", y);
    }

    Réponse correcte : C

    Répondre
  • octobre 2, 2024 à 12:44 pm
    Permalien

    La réponse de la question 1 est D: indéfini!
    La norme ne définit pas l’ordre d’exécution entre 2 « sequence points »
    « A sequence point is a point in the program’s execution sequence where all previous side- effects shall have taken place and where all subsequent side-effects shall not have taken place  »

    Quoiqu’il en soit ce code est exactement ce qu’il ne faut pas faire, car l’intention du programmeur est difficile/impossible à capter à la 1e lecture.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *