De C -programmeertaal is ontworpen als een voor mensen leesbare , systeemontwerp taal voor programmeurs om mee te werken aan de ontwikkeling van software . De syntaxis en de activiteiten van C ( zoals wiskundige uitdrukkingen en looping structuren ) zijn meer intuïtief naar een computer programmeur werkt aan complexe software . Eenvoudige wiskundige bewerkingen zoals het modulo ( of restant ) operatie vereisen een symbool , en waarmee programmeurs functies dat even en oneven getallen te berekenen ontwikkelen. C Modulus Operator De modulus operator in C ( voorgesteld als de ' % ' symbool ) fungeert als een soort van verdeeldheid . Echter , liever dan het twee getallen en terug het quotiënt van de gebruiker , de modulus operatie scheidt twee getallen en geeft de rest als een geheel getal . In dit voorbeeld twee modulus operaties plaatsvinden , elk met terug een identieke waarde int x = 11 % 4 //overige = 3 int y = 13 % 5 11/4 //rest van 13/5 = 3 behulp modulus op Even /Oneven getallen Bepaal Omdat de modulus operatie is bepalend voor de rest van de deling van de twee getallen , lijkt het logisch dat de modulus operator worden gebruikt om even of oneven getallen te bepalen . Een even getal , per definitie , een getal deelbaar is door twee . Daarom, als een nummer dat een nul voor een rest wanneer modulo 2 terugkeert . Eenvoudiger , een aantal " n " is , zelfs als " n% 2 " gelijk aan nul . Bijvoorbeeld , deze code definieert een functie die een geheel draait en retourneert een geheel getal ( 0 of 1 ) op basis van of het getal even is . ISEVEN int ( int x ) op { terugkeer ( x % 2 ) ; } een even of oneven nummer genereren Functie gebruiken modulus operatie, dan wordt het heel eenvoudig om een functie die hetzij even of oneven getallen genereert creëren . Een programmeur vinden het misschien nuttig om een gebied van de even of oneven getallen te genereren . In dit geval , een eenvoudige lus en een door de gebruiker ingevoerde veldgrootte zijn alles wat nodig is om een verzameling van nummers te maken: leegte evenGenerate ( int size ) op { int i = 0; voor ( i; i < = grootte; i + + ) op Twitter { if ( i % 2 == 0 ) op Twitter cout << i << endl ; } } Deze functie genereert zelfs nummers . De programmeur zou gewoon veranderen de " if" statement te lezen " , indien ( i % 2 == 1 ) " aan oneven getallen te genereren . Alternatieven voor Modulus Modulus zelf is niet een eenvoudige bediening . Integendeel, modulus bevat drie wiskundige berekeningen in een. Dit komt omdat de operatie " x % y " echt gelijken " x - . Y * ( x /y ) " Dit wetende , kan een programmeur breken de operatie of manieren om de delen van de operatie op te nemen met andere operaties te optimaliseren voorbeeld. Voor algemeen gebruik en gemak van de coderende modulus operator werkt goed . Het volgende dient als voorbeeld van de beide methoden samen in C : int x = 10 % 2 //10/2 = 5 zonder verdere int y = 10 - ( 2 * ( 10/2 ) ) ; //In volgorde van de operatie , 10/2 = 5 ; 5 * 2 = 10 ; 10 - 10 = 0 rest
|