Главная страница
Навигация по странице:

  • C(C++) Basic Объем в байтах char, bool

  • Basic

  • Лекции. Основные понятия и определения


    Скачать 1.94 Mb.
    НазваниеОсновные понятия и определения
    Дата27.03.2018
    Размер1.94 Mb.
    Формат файлаdocx
    Имя файлаЛекции.docx
    ТипКонтрольные вопросы
    #39570
    страница19 из 58
    1   ...   15   16   17   18   19   20   21   22   ...   58

    Вопросы для самопроверки и контроля

    Вопросы для самопроверки

    1. Что происходит, когда длина выводимого значения больше величины W?

    2. При каких условиях при выводе значений с плавающей точкой не ставится десятичная точка?

    3. Перечислите символы – ограничители ввода для языка С.

    4. А для языка Basic?

    5. Чем отличаются правила ввода значений по спецификациям f и e?

    6. Что возвращают функции printf и scanf?
    Контрольные вопросы

    1. Почему при вводе не используется второй параметр спецификации D?

    2. При каких условиях производится округление выводимого значения?

    3. Как организуется ввод элементов массива?

    4. Когда разумно применять спецификацию g?

    7. ПРОЦЕДУРЫ

    7.1. Распределение памяти


    Распределение памяти – это процесс, связывающий некоторую область памяти с какой-либо переменной так, что элемент данных, описанный этой переменной, может быть размещен в этой области.

    СХЕМА

    Предметная область Программист Память

    скаляры,

    элементы массивов имена адреса

    и структур

    Источник информации: определения переменных.

    C: инструкции описания типа: int long float double char.

    Basic: инструкция Dim.

    7.1.1. Распределение скаляров


    C(C++)

    Basic

    Объем в байтах

    char, bool

    Byte, Char (1 символ)

    1

    short

    Short, Boolean

    2

    int, long, float

    Integer, Single

    4

    double

    Double

    8

    7.1.2. Распределение массивов


    Объем памяти, занимаемый массивом, равен:

    где S – длина одного элемента данного типа,

    m – число измерений (размерность массива),

    di – число элементов массива в i-м измерении (длина измерения),

    hi – максимальное значение индекса в i-м измерении (верхняя граница),

    li – минимальное значение индекса в i-м измерении (нижняя граница).

    Пример.

    Dim aMatr(1 To 10, 1 To 10) As Double

    Замечание. В изучаемых версиях языков минимальное значение индекса всегда равно 0, поэтому объем памяти, занимаемый массивом aMatr равен:

    V=(10+1)*(10+1)*8=968 байтов.

    Иногда (часто при отладке программы) требуется определить номер по порядку следования в памяти элемента многомерного массива по известным индексам (развернуть в одномерный). Он определяется по формуле:

    где ni – значение i-го индекса.

    Пример. Описание массива имеет вид: float array[10][6][5];

    Адрес элемента массива array[2][3][1] равен: N=6*5*2+5*3+1+1=77

    7.1.3. Статическое и динамическое распределение памяти


    Различают 2 механизма распределения памяти.

    Статический: объекты программы получают постоянный адрес в памяти. Занимаемое ими пространство освобождается только после окончания программы.

    Динамический: память под объекты выделяется и освобождается во время выполнения программы.

    7.2. Блоки


    Блок – это ограниченная последовательность инструкций, задающая границы области действия имен, описанных (или определенных) в нем, и управляющая динамическим распределением памяти для этих данных. Такие объекты называют локализованными в блоке или просто локальными данными. Блок выполняется в естественном порядке следования инструкций.

    Блок – это минимальная структурная единица программы.

    C

    Формат:

    { <описания и определения> <выполняемые инструкции>}

    Пример.

    {int i, j; //Определения локальных данных

    for(i=0; i

    s[ i ]=0;

    for(j=0; j

    s[ i ] += p[ i ][ j ]*q[ j ];

    }

    }

    }

    Как видно из синтаксиса и примера, блок – это составная инструкция, дополненная описаниями и определениями объектов программы. Следовательно, если содержимое {…} не включает описания и определения, то имеем составную инструкцию, если включает, то это блок.

    Замечание. В языке С++ объявления могут находиться в произвольном месте блока. Единственное условие: объявление должно располагаться до 1-го использования перечисленных в нем объектов программы.

    Basic

    Здесь границы блока определяются началом и концом сложных инструкций таких, как: Sub Function Do While For If Select Case.
    1   ...   15   16   17   18   19   20   21   22   ...   58


    написать администратору сайта