Работа интерпретатора 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; }