Пишем собственную (пользовательскую) функцию возведения в степень.

Наша функция будет иметь небольшие ограничения так как она будет работать только с небольшими целыми числами. (В стандартной библиотеке имеется функция pow(x, y), вычисляющая Xy). 

#include <stdio.h>

/* Прототип функции power (возведение в степень) */
int power(int, int);

/* С функции main начинает выполняться программа */
int main()
{
  /* значения 2 и i используемые при вызове функции power(2, i) -
  аргументы, передаваемые в функцию */
  for(int i = 0; i <= 10; ++i)
    printf("2 ** %d = %d\n", i, power(2, i));
  return 0;  // Нормальное завершение программы
}

/* Определение функции power (возведение в степень).
   По стандарту ANSI C
*/
int power(int base, int n)
{
  /* переменные base и n - параметры функции power */
  /* переменные p и i - локальные параметры функции power */
  int p = 1;
  for(int i = 1; i <= n; ++i)
    p = p * base;
  return p; // Возвращаемое функцией значение
}

Лист. 1.

gcc -o 1.7_function 1.7_function.c

Лист. 2.

./1.7_function

2 ** 0 = 1
2 ** 1 = 2
2 ** 2 = 4
2 ** 3 = 8
2 ** 4 = 16
2 ** 5 = 32
2 ** 6 = 64
2 ** 7 = 128
2 ** 8 = 256
2 ** 9 = 512
2 ** 10 = 1024

Лист. 3.

Литература: Брайн Керниган, Деннис Ритчи "Язык программирования C (ANSI C)"