A linguagem de programação C foi concebido como uma linguagem de design sistema legível para os programadores a trabalhar com o desenvolvimento de software. A sintaxe e as operações de C (tais como expressões matemáticas e as estruturas de loop ) são mais intuitivos para um programador de computador trabalhando em um software complexo . Operações matemáticas simples, como a operação de módulo (ou resto) exigem um único símbolo, e permitir que os programadores a desenvolver funções que calculam números pares e ímpares . C Módulo Operador
O operador módulo em C ( representado como o símbolo "%" ) funciona como uma espécie de divisão. No entanto , em vez de dividir dois números e retornar o quociente para o utilizador , a operação de módulo divide dois números e devolve o restante na forma de um número inteiro . Neste exemplo, duas operações de módulo , ocorrem , cada um em retornar um valor idêntico :
int x = 11 % 4 //restante de 11/4 = 3
int y = 13% 5 //restante de 13/5 = 3
Usando modulus determinar par /ímpar números
Porque a operação de módulo determina o resto da operação de divisão de dois números , parece lógico que o operador módulo ser usado para determinar os números pares ou ímpares . Um número par , por definição , é qualquer número divisível por dois . Portanto , se um número que retorna um zero para um resto quando módulo 2 . Mais simplesmente , um número " n" é o mesmo que "n % 2" é igual a zero. Por exemplo, este código define uma função que recebe um inteiro e retorna um inteiro (0 ou 1 ) com base em se ou não o número é ainda .
Int eIgual (int x) {
retornar (x % 2);
}
Um Par ou Ímpar Número Geradoras Função
Usando o operação de módulo , torna-se bastante simples de criar uma função que gera par ou ímpar números . Um programador pode achar que é útil para gerar um campo de números pares ou ímpares . Neste caso, um simples laço for e um tamanho de campo introduzidos pelo utilizador são tudo o que é necessário para criar uma coleção de números :
evenGenerate void ( int size )
{
int i = 0;
for ( i; i < = tamanho ; i + +) {
if ( i % 2 == 0)
cout << i << endl; }
}
Esta função gera números pares. O programador seria apenas mudar os " if" para ler " if ( i % 2 == 1) " para gerar números ímpares .
Alternativas ao módulo
Modulus em si não é uma operação simples . Em vez disso , o módulo contém três cálculos matemáticos em um. Isso ocorre porque a operação de "x % y" realmente é igual a " x - y * (x /y) ". Sabendo disso, um programador poderia quebrar a operação, ou encontrar maneiras de incorporar as partes da operação com outras operações para otimizar o tempo . No entanto , para uso geral e a facilidade de codificação o operador módulo funciona bem . O seguinte serve como exemplo dos dois métodos juntas em C :
int x = 10 % 2 //10/2 = 5 sem resto
int y = 10 - ( 2 * ( 10/2) ) //A fim de operação, 10/2 = 5; 5 * 2 = 10; 10 - 10 = 0 restante