C programmeringsspråk ble utviklet som en lesbar , system design språk for programmerere å arbeide med utvikling av programvare . Syntaksen og drift av C (for eksempel matematiske uttrykk og looping strukturer ) er mer intuitivt til en datamaskin programmerer jobber med komplisert programvare . Enkle matematiske operasjoner som modulo ( eller resten ) operasjon krever en enkelt symbol , og lar programmerere til å utvikle funksjoner som beregner selv og oddetall. C Modulus Operatør
modulus operatør i C (representert som ' %' symbol) fungerer som en slags divisjon. Imidlertid , i stedet for å dele to tall og retur kvotienten for brukeren, dividerer operasjonen modulus to tall og returnerer resten som et heltall. I dette eksempelet to modulus drift, oppstår, hver på retur en identisk verdi : en
int x = 11 % 4 //resten av 11/4 = 3
int y = 13 % 5 //resten av 13/5 = 3
hjelp modulus fastslår Even /Odd Numbers
Fordi modulus drift bestemmer resten av delingen drift av de to tallene , virker det logisk at modulus operatør brukes til å bestemme selv eller oddetall. Et partall, per definisjon , er et tall delelig med to. Derfor , hvis et tall som returnerer en null for en resten når modulo 2 . Mer enkelt, er et tall " n" , selv om " n% 2" er lik null . For eksempel definerer denne koden en funksjon som tar et heltall og returnerer et heltall ( 0 eller 1 ) basert på hvorvidt nummeret er enda .
Int ERPARTALL ( int x )
{
avkastning ( x % 2 ) ;
}
An Even eller Odd Number generere Funksjon
Bruke modulus drift , blir det da ganske enkelt å lage en funksjon som genererer enten selv eller ulike tall . En programmerer kan finne det nyttig å generere et felt av selv eller odde tall. I dette tilfellet en enkel for løkke og en brukerdefinert felt størrelsen er alt som trengs for å lage en samling tall : en
void evenGenerate ( int størrelse)
{
< p> int i = 0;
for (i , i < = størrelse; i + + )
{
if ( i% 2 == 0 )
cout << i << endl;
}
}
Denne funksjonen genererer partall. Programmereren ville bare endre " hvis " statement å lese " if ( i% 2 == 1 ) " for å generere oddetall .
Alternativer til Modulus
Modulus selv ikke er en enkel operasjon . Snarere inneholder modulus tre matematiske beregninger i ett. Dette er fordi operasjonen " x % y " egentlig er lik "x - . Y * ( x /y )" Ut fra dette kan en programmerer bryte opp av operasjonen, eller finne måter å inkorporere de delene av operasjonen med andre operasjoner for å optimalisere tid . Imidlertid , for generell bruk og enkel koding modulus operatøren fungerer godt. Følgende tjener som et eksempel på de to metoder sammen i C : en
int x = 10 % 2 , //10 /2 = 5 med ingen rest
int y = 10 - (2 * (10 /2) ), //for av drift , 10/2 = 5 , 5 * 2 = 10; 10-10 = 0 resten