Работа интерпретатора Little С демонстрируется с помощью следующих примеров программ.
Программа №1 иллюстрирует все средства программирования, поддерживаемые в Little С:
/* Little C. Демонстрационная программа №1.
Эта программа демонстрирует работу всех средств
языка C, поддерживаемых интерпритатором Little C.
*/
int i, j; /* глобальные переменные */
char ch;
int main()
{
int i, j; /* локальные переменные */
puts("Программа демонстрации Little C.");
print_alpha();
do {
puts("Введите число (0, если выход): ");
i = getnum();
if(i < 0 ) {
puts("числа должны быть положительными, введите еще");
}
else {
for(j = 0; j < i; j=j+1) {
print(j);
print("сумма равна");
print(sum(j));
puts("");
}
}
} while(i!=0);
return 0;
}
/* Сумма чисел от 0 до введенного числа. */
int sum(int num)
{
int running_sum;
running_sum = 0;
while(num) {
running_sum = running_sum + num;
num = num - 1;
}
return running_sum;
}
/* Вывод на экран английского алфавита. */
int print_alpha()
{
for(ch = 'A'; ch<='Z'; ch = ch + 1) {
putch(ch);
}
puts("");
return 0;
}
Следующий пример демонстрирует использование вложенных циклов:
/* Пример с вложенными циклами. */
int main()
{
int i, j, k;
for(i = 0; i < 5; i = i + 1) {
for(j = 0; j < 3; j = j + 1) {
for(k = 3; k ; k = k - 1) {
print(i);
print(j);
print(k);
puts("");
}
}
}
puts("выполнено");
return 0;
}
Следующий пример демонстрирует работу оператора присваивания:
/* Присваивание как операция. */
int main()
{
int a, b;
a = b = 10;
print(a); print(b);
while(a=a-1) {
print(a);
do {
print(b);
} while((b=b-1) > -10);
}
return 0;
}
Следующий пример демонстрирует выполнение рекурсивных функций. В ней функция factr() вычисляет факториал числа.
/* Демонстрация рекурсивных функций. */
/* возвращает факториал числа i */
int factr(int i)
{
if(i<2) {
return 1;
}
else {
return i * factr(i-1);
}
}
int main()
{
print("Факториал от 4 равен: ");
print(factr(4));
return 0;
}
В следующей программе демонстируются различные приемы использования аргументов функций:
/* Использование аргументов функций. */
int f1(int a, int b)
{
int count;
print("в функции f1");
count = a;
do {
print(count);
} while(count=count-1);
print(a); print(b);
print(a*b);
return a*b;
}
int f2(int a, int x, int y)
{
print(a); print(x);
print(x / a);
print(y*x);
return 0;
}
int main()
{
f2(10, f1(10, 20), 99);
return 0;
}
И, наконец, в последнем примере демонстрируется работа операторов цикла:
/* Оператор цикла. */
int main()
{
int a;
char ch;
/* the while */
puts("Введите число: ");
a = getnum();
while(a) {
print(a);
print(a*a);
puts("");
a = a - 1;
}
/* цикл do-while */
puts("Введите символ, если выход, то 'q' ");
do {
ch = getche();
} while(ch !='q');
/* цикл for */
for(a=0; a<10; a = a + 1) {
print(a);
}
return 0;
}