Le langage de programmation C a été conçu comme un , système langage de conception lisible pour les programmeurs de travailler avec le développement de logiciels. La syntaxe et les opérations de C ( telles que les expressions mathématiques et des structures en boucle ) sont plus intuitives pour un programmeur informatique travaillant sur des logiciels complexes . Opérations mathématiques simples tels que l'opération modulo (ou reste) nécessitent un seul symbole , et permettent aux programmeurs de développer des fonctions qui calculent nombres pairs et impairs . C Module opérateur
L'opérateur modulo en C (représenté par le symbole ' % ') agit comme une sorte de division. Cependant , au lieu de la division de deux nombres et en retournant le quotient à l'utilisateur, l' opération modulo divise deux nombres et renvoie le reste sous forme d'entier . Dans cet exemple, deux opérations module , produisent, chacun en rentrant une valeur identique :
int x = 11% 4 //reste du 11 /4 = 3
int y = 13% 5 //reste du 13/5 = 3
aide Modulus pour déterminer Even /Odd Numbers
parce que l'opération module détermine le reste de l'opération de division des deux nombres , il semble logique que l' opérateur modulo être utilisée pour déterminer nombres pairs ou impairs . Un nombre pair, par définition, est tout nombre divisible par deux . Par conséquent, si un numéro qui renvoie un zéro pour un reste quand modulo 2 . Plus simplement, un certain nombre "n" est même si " n% 2" est égal à zéro . Par exemple , ce code définit une fonction qui prend un entier et renvoie un entier ( 0 ou 1) en fonction de si oui ou non le nombre est pair.
Int iSEVEN (int x ) {
retour
( x % 2);
}
Un numéro fonction génératrice
Pair ou Impair Utilisation de l' opération module , il devient alors très simple de créer une fonction qui génère des nombres soit pair ou impair. Un programmeur pourrait trouver utile de générer un champ de numéros pairs ou impairs . Dans ce cas, une simple boucle et une entrée par l'utilisateur la taille du champ sont tout ce qui est nécessaire pour créer une collection de nombres :
evenGenerate void ( int size )
{
< p> int i = 0;
pour ( i; i <= taille ; i + +) {
if ( i% 2 == 0)
cout << i << endl; }
}
Cette fonction génère un nombre pair . Le programmeur aurait suffit de changer le "if" pour lire "if ( i% 2 == 1) " pour générer des nombres impairs .
Alternatives à Modulus
Modulus lui-même n'est pas une opération simple. Au contraire, le module contient trois calculs mathématiques en un. C'est parce que l'opération « x % y" est égal à vraiment "x - . Y * ( x /y) " Sachant cela, un programmeur pourrait briser l'opération, ou de trouver des façons d'intégrer les parties de l'opération avec d'autres opérations pour optimiser le temps . Cependant, pour une utilisation générale et la facilité de codage de l' opérateur module fonctionne bien . Ce qui suit est un exemple de ces deux méthodes ensemble dans C:
int x = 10% 2; //10/2 = 5 sans reste
int y = 10 - (2 * ( 10/2) ) ; //afin de fonctionnement, 10/2 = 5, 5 * 2 = 10; 10 - 10 = 0 reste