« Exercices en langage C/Les opérateurs » : différence entre les versions

Contenu supprimé Contenu ajouté
m Formatage, ajout de div style="text-align: center;"
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
 
Ligne 92 :
===Exercice 1===
*Quelle est la valeur de i après la suite d'instructions :
<sourcesyntaxhighlight lang="c">
int i=10;
i = i-(i--);
</sourcesyntaxhighlight>
{{Boîte déroulante|titre=Solution|contenu=
La série d'instructions donnée est équivalente à :
<sourcesyntaxhighlight lang="c">
int i=10;
i = i-(i); // on retire la post décrémentation pour la mettre après
i--;
</sourcesyntaxhighlight>
Donc i vaut -1
}}
*Quelle est la valeur de i après la suite d'instructions :
<sourcesyntaxhighlight lang="c">
int i=10;
i = i-(--i);
</sourcesyntaxhighlight>
{{Boîte déroulante|titre=Solution|contenu=
La série d'instructions donnée est équivalente à :
<sourcesyntaxhighlight lang="c">
int i=10;
i--; // i passe à 9
i = i-(i); // on retire la pré-décrémentation pour la mettre avant
</sourcesyntaxhighlight>
Donc i vaut 0
}}
Ligne 122 :
===Exercice 2 : la priorité des opérateurs===
Enlever les parenthèses des expressions suivantes lorsqu'elles peuvent être retirées.
<sourcesyntaxhighlight lang="c">
a=(25*12)+b;
if ((a>4) &&(b==18)) { }
((a>=6)&&(b<18))||(c!=18)
c=(a=(b+10));
</syntaxhighlight>
</source>
Évaluer ces expressions pour a=6, b=18 et c=24. On supposera que les valeurs données le sont pour chacune des lignes : il n'y a pas d'exécution séquentielle comme dans un programme.
 
Ligne 141 :
<div style="width:70%">{{Boîte déroulante|titre=Solution|contenu =
 
<sourcesyntaxhighlight lang="c">
/*
Nom : calcul.c
Ligne 190 :
return EXIT_SUCCESS;
}
</syntaxhighlight>
</source>
}} </div>