Answer:
Here is the C program:
#include <stdio.h>  //to use input output functions 
//functions prototype
unsigned int mod(unsigned int a, unsigned int b);  
unsigned int mul(unsigned int a, unsigned int b);  
 unsigned int sub( unsigned int a,unsigned int b);
 float divide(unsigned int a,unsigned int b);  
 unsigned int add( unsigned int a,unsigned int b);  
int main()  {  //start of main method
unsigned int a, b;   //declare variables to store the operands
char d;  //declare variable to store the operator
printf("Enter an operator:  ");   //prompts user to enter an operator
scanf("%c",&d);  //reads the operator from use
getchar();  //gets a character 
while (d!='q')  
{ //keeps iterating until user enters q to quit
printf("Enter 1st operand: ");   //prompts user to enter first operand
scanf("%d",&a);   //reads first operand from user
getchar();  //reads character
printf("Enter 2nd operand: ");   //prompts user to enter second operand
scanf("%d",&b);   //reads second operand from user
getchar();   
if (d=='%')  {   //if the character of operator is a mod
printf("%d",a);  //prints operand 1
putchar(d);  //displays operator
printf("%d",b);  //displays operand 2
printf(" = ");  //displays =
mod(a,b);  }  //displays computed modulo of two input operands
if (d=='*')   //if the input character is for multiplication operator 
{printf("%d",a);  //prints operand 1
putchar(d);  //displays operator
printf("%d",b);  //displays operand 2
printf(" = ");  //displays =
mul(a,b); }  //displays computed multiplication 
if (d=='+')  {  //if the input character is for addition operator 
printf("%d",a);  //prints operand 1
putchar(d);  //displays operator
printf("%d",b);  //displays operand 2
printf(" = "); //
displays =
add(a,b);  }   //displays computed addition 
if (d=='/')  {  //if the input character is for division operator 
printf("%d",a); //
prints operand 1
putchar(d);  //displays operator
printf("%d",b);  //displays operand 2
printf(" = ");  //displays =
divide(a,b);  }   //displays computed division
if (d=='-')  {  //if the input character is for subtraction operator 
printf("%d",a);  //prints operand 1
putchar(d);  //displays operator
printf("%d",b); //
displays operand 2
printf(" = ");  //displays =
sub(a,b);  }  //displays computed subtraction 
printf("Enter an operator: ");   //asks again to enter an operator
scanf("%c",&d);  //reads operator from user
getchar();  }  }   //gets character
unsigned int mod( unsigned int a, unsigned int b){  //function to compute modulo of two integers with no sign
      int c = a%b;  //computes mod
     printf("%d",c);  }  //displays mod result 
unsigned int add(unsigned int a, unsigned int b){    
// function to compute addition of two integers 
     int c = a+b;
//computes addition 
     printf("%d\n",c);  }
//displays result of addition 
unsigned int mul(unsigned int a, unsigned int b){      
//function to compute multiplication of two integers 
     int c = a*b;  //multiplies two integers 
    printf("%d\n",c);
}  //displays result of multiplication 
float divide(unsigned int a, unsigned int b){  
//function to compute division of two integers 
     float c = a/b;  //divides two integers and stores result in floating point variable c
     printf("%f\n",c);  } //displays result of division 
unsigned int sub(unsigned int a, unsigned int b){      
//function to compute subtraction of two integers 
     int c = a-b;  //subtracts two integers 
     printf("%d\n",c);  }  //displays result of subtraction
Explanation:
The program is well explained in the comments mentioned with each line of the program. The program uses while loop that keeps asking user to select an operator and two operands to perform arithmetic calculations. The if conditions are used to check what arithmetic calculation is to be performed based on user choice of operand and calls the relevant function to perform calculation. There are five functions that perform addition, modulo, subtraction, division and multiplication and display the result of computation. The screenshot of output is attached.