programmeringsspråket C var utformad som en läsbar , systemdesign språk för programmerare att arbeta med på mjukvaruutveckling . Syntaxen och drift av C ( t.ex. matematiska uttryck och looping strukturer ) är mer intuitivt för en programmerare som arbetar med komplex programvara . Enkla matematiska operationer såsom modulo ( eller resten ) operation kräver en enda symbol , och tillåter programmerare att utveckla funktioner som beräknar jämna och udda tal . C Modulus Operator
modul aktör C ( representerad som " % " symbolen ) fungerar som en sorts division . Men i stället för att dela två siffror och återvänder kvoten till användaren, uppdelar modul operationen två nummer och returnerar resten som ett heltal . I detta exempel , två modul operationer , förekommer , var och när de återvänder ett identiskt värde :
int x = 11 % 4 //resten av 11/4 = 3 bilder
int y = 13 % 5 //resten på 13/5 = 3 Addera Använda modulus Avgöra Även /udda nummer
Eftersom modulen operationen bestämmer resten av divisionen driften av de två talen , verkar det logiskt att modulen operatören användas för att bestämma ens eller udda nummer . Ett jämnt antal , per definition, är valfritt antal delbart med två . Därför , om ett nummer som returnerar en noll för en resten när modulo 2 . Mer enkelt , är ett antal " n" , även om " n% 2 " är lika med noll . Till exempel , definierar denna kod en funktion som tar ett heltal och returnerar ett heltal ( 0 eller 1 ) baserat på om numret är ännu .
Int ÄRJÄMN ( int x ) katalog
{
avkastning ( x % 2 ) ,
}
ett jämnt eller udda nummer genererande funktionen
Använda modul drift , blir det då helt enkelt att skapa en funktion som genererar antingen jämna eller udda tal . En programmerare kan ha nytta av att generera ett fält av jämna eller udda tal . I detta fall , en enkel for-loop och ett angivet fält storlek är allt som behövs för att skapa en samling siffror :
void evenGenerate ( int size ) katalog
{
int i = 0;
för (i , i < = size ; i + + ) katalog
{
if (i % 2 == 0 ) katalog
cout << i << endl;
}
}
Denna funktion genererar jämna nummer . Programmeraren skulle bara ändra " om " uttalande att läsa " if (i % 2 == 1 ) " för att generera udda nummer .
Alternativ till Modulus
Modulus sig är inte en enkel operation . Snarare innehåller modul tre matematiska beräkningar i ett. Detta beror på operationen " x % y " riktigt lika " x - . Y * ( x /y ) " Att veta detta , kan en programmerare bryta upp operationen , eller hitta sätt att införliva de delar av verksamheten med andra verksamheter för att optimera tid . Men för allmän användning och enkel kodning modulen operatören fungerar bra . Följande utgör ett exempel på de två metoderna tillsammans i C :
int x = 10 % 2 , //10/2 = 5 utan resten
int y = 10 - ( 2 * ( 10/2 ) ) , //för drift , 10/2 = 5 , 5 * 2 = 10 , 10 - 10 = 0 resten