Демонстрация Little C

Содержание

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