C jest imperatywnym językiem programowania wysokiego poziomu i ogólnego przeznaczenia.
C zawiera konstrukcje, które skutecznie odwzorowują typowe konstrukcje maszynowe, a zatem znajduje zastosowanie w aplikacjach, które zostały napisane w asemblerze - między innymi w systemach operacyjnych i innym oprogramowaniu komputerowym, superkomputerach, czy systemach wbudowanych.
#include <stdio.h>
long factorial(int n)
{
if(n==1) return 1;
return factorial(n-1) * n;
}
int main()
{
int n;
printf("Wpisz liczbę naturalną dodatnią\n");
scanf("%d", &n);
printf("Silnia z %d wynosi %ld\n", n, factorial(n));
return 0;
}