ЛАБОРАТОРНАЯ РАБОТА № 1

Тема работы:  проверка компилятора Си или Си ++  на  соответствие стандарту ANSI C/C++.

Цель работы: проверить с помощью приведенной ниже программы соответствие компилятора Си или Си ++ стандарту ANSI C/C++.

Теоретическая часть:

Стандарт ANSI C/C++ определяет,  что массивы могут быть или  глобальными  (массивы,  заданные  вне  main и других функций) или по умолчанию локальными.  Если не заданы другие значения инициализации,  все глобальные  массивы инициализируются двоичными нулями. Все по умолчанию локальные массивы содержат случайные значения. В языке C/C++ численные массивы инициализируются нулевыми значениями (массивы указателей инициализируются значениями NULL). В программе на C/C++ невозможно создать массив,  начинающийся с индекса  1, новый индекс любого массива всегда равен 0.

Ход работы:

1. Запустить пакет компиляторов Си или Си ++.

2. Набрать нижеприведенную программу отладить  и  откомпилировать ее. Запустить на выполнение и проверить результат.

3. При соответствии компилятора стандарту программа должна вывести следющий результат:

                                globalll: 0

                        local: (случайное значение)

                       local1: (случайное значение)

                                 ststic: 0

Программма инициализации массивов.

     Программа демонстрирует варианты инициализации массива.

     Инициализация массива в Си и Си ++ происходит одинаково.*/

     #include <stdio.h>

     #define MAX 5

     int autoglob[MAX];/*Обьявление глобального массива*/

     void main(void)

     {

     int garblocal[MAX];/*Обьявление локального массива*/

     int garblocal1[MAX];/*Обьявление локального массива*/

     static int autostat[MAX];

     int

     init,

     defaultt,

     defaultt1,

     staticc;

     init=autoglob[0];

     defaultt=garblocal[0];

     defaultt1=garblocal1[0];

     staticc=autostat[0];

     printf("globalll: %d\n", init);/*Вывод результата (0)*/

     printf("local: %d\n", defaultt);/*Вывод результата (случайное

     значение)*/

     printf("local1: %d\n", defaultt1);/*Вывод результата (случайное

     значение)*/

     printf("ststic: %d\n", staticc);/*Вывод результата (0)*/

     }

Котрольные вопросы:

1. Характеристика стандарта ANSI C/C++.

2. Способы объявления массивов в С/С++.

                           Отчет должен содержать:

1. Распечатку программы и результатов ее работы.

2. Ответы на контрольные вопросы.