The C programmeringssprog blev udformet som et menneske-læsbart , systemdesign sprog for programmører til at arbejde med på softwareudvikling. Syntaks og driften af C (såsom matematiske udtryk og looping strukturer ), er mere intuitivt at en computer programmør arbejder på komplekse software . Simple matematiske operationer såsom modulo (eller resten ) operation kræver et enkelt symbol og tillade programmører at udvikle funktioner, der beregner lige og ulige numre. C Modulus Operator
modulus operatør i C ( repræsenteret som '%' symbol) fungerer som en slags division. Men i stedet for at dividere to tal og returnere kvotienten til brugeren , opdeler modulus operationen to tal og returnerer resten som et heltal . I dette eksempel forekommer to modulus operationer , hver på returnering en identisk værdi : Hej
int x = 11% 4 //resten af 11/4 = 3 fotos
int y = 13% 5 //resten af 13/5 = 3
Brug modulus til Bestem Lige /Ulige numre
Fordi modulus operation bestemmer resten af division af de to tal , forekommer det logisk , at elasticitetsmodulet operatøren anvendes til at bestemme selv eller ulige numre . Et lige antal , per definition , er et vilkårligt antal deleligt med to . Derfor, hvis et nummer, der returnerer et nul for en resten, når modulo 2 . Mere enkelt , et tal " n" er selv hvis "n % 2" er lig med nul . For eksempel definerer denne kode en funktion, der tager et heltal og returnerer et heltal ( 0 eller 1) er baseret på , hvorvidt tallet er lige .
Int ISEVEN ( int x )
{
afkast ( x% 2),
}
et lige eller ulige tal Generering Function
Brug af modul drift , så bliver det ganske enkelt at oprette en funktion , der genererer enten selv eller ulige numre . En programmør kan være nyttigt at generere et område lige eller ulige tal . I dette tilfælde er en simpel for-løkke og en brugervenlig indtastet feltstørrelse alle, der er nødvendig for at skabe en samling tal : Hej
void evenGenerate ( int size )
{
< p> int i = 0;
for (i , i < = størrelse , i + +)
{
hvis (i % 2 == 0)
cout << i << endl;
}
}
Denne funktion genererer lige numre . Programmøren vil bare ændre "hvis" erklæring for at læse ", hvis (i % 2 == 1 )" for at generere ulige numre .
Alternativer til Modulus
Modulus i sig selv er ikke en simpel operation. Snarere modul indeholder tre matematiske beregninger i én . Dette er fordi operationen "x % y " virkelig lig "x - . Y * ( x /y )" At vide dette , kan en programmør bryde op operationen, eller finde måder at integrere de dele af drift med andre operationer for at optimere tid. Men til almindelig brug og let kodning modulus operatør fungerer godt. Det følgende er et eksempel på de to metoder sammen i C : Hej
int x = 10% 2 //10/2 = 5 med ingen resten
int y = 10 - (2 * (10 /2) ) //for operation , 10/2 = 5; 5 * 2 = 10; 10-10 = 0 resten