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

  • Имена.

  • define

  • define .Пример. define

  • Basic

  • AndAlso и OrElse .7. (ОВ) В языке C

  • include

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


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

    9.5. Стиль в языках С и Basic


    По оценке авторов:

    ОВ – весьма важная рекомендация;

    В – рекомендация средней важности;

    МВ – рекомендация относительно малой важности.

    Степень важности рекомендаций определялась на основании оценки их влияния на написание надежной (с минимумом ошибок) программы.

    1. (В) Имена. Использовать "паскалевскую" или "венгерскую" нотации.

    2. (В) Описатели. Если постановка задачи не требует повышенной точности представления, использовать для данных с плавающей точкой типы float (C) и Single (Basic).

    3. Литералы.

    (МВ) Для трансляторов языка C, в которых не предусмотрены логические данные, разумно ввести в программу логические литералы.

    #define TRUE 1

    #define FALSE 0

    Не следует забывать, что логические данные в программе на языке Basic занимают в памяти 2 байта, значения хранятся в виде True (-1), False (0), а на языке C они занимают в памяти 1 байт и хранятся в виде true (1), false (0).

    (В) Старайтесь избегать в тексте программы литералов, заменяйте их символическими константами с помощью директивы #define (язык C) или #const (язык Basic).

    4. (В) Массивы.

    Для языка C следует отметить такие особенности.

    Если возможно изменение размеров массивов, определяйте их размеры с помощью директивы #define.

    Пример.

    #define SIZE 50

    float Matrix[SIZE][SIZE];

    Нижняя граница индексов всегда 0, а в описаниях массивов указываются длины измерений, а не величины верхних границ, причем длина измерения может быть только постоянным выражением.

    В языке Basic для массивов, размеры которых могут изменяться, при описании используется инструкция Dim с пустыми скобками.

    Пример.

    Dim Matrix(,) As Single

    Затем в том месте процедуры, где требуется определить число измерений и границы каждого из них, применяют инструкцию ReDim.

    Пример.

    ReDim Matrix(10, 10)’ 10-верхняя граница индекса

    Память под матрицу 11х11

    Такая инструкция в теле процедуры может использоваться многократно. Более подробно синтаксис и область применения инструкции ReDim будет изложена разделе 10.6. «Динамические массивы».

    Минимальное значение индекса также всегда равно 0, поэтому не следует применять разрешенную правилами инструкцию вида: <имя массива>(<нижняя граница> to <верхняя граница>). Это приводит к избыточному выделению памяти.

    5. (ОВ) В языке C необходимо помнить об особенностях операторов деления / и остатка % при работе с целыми операндами. При делении целого на целое результат всегда целый. Оператор % используйте только для целых операндов.

    6. (В) Для логических операторов && и || в языке C вычисление выражения прекращается, как только результат определен, а для аналогичных операторов And и Or в языке Basic проверяются оба операнда.

    Пример.

    Выражение i<100 && x[ i ]<0 при i=100 в языке C примет значение false и выполнение программы продолжится, тогда как в языке Basic вычисление выражения i<100 Аnd x( i )<0 при тех же условиях вызовет ошибку: Subscript out of range (Индекс вне диапазона), поскольку элемента массива x(100) не существует. В подобном случае следует использовать операторы AndAlso и OrElse.

    7. (ОВ) В языке C при использовании библиотечных функций не забудьте включить файл прототипов.

    Пример.

    #include

    #include

    8.(В) Не забывайте об удобных возможностях языка С: многократном присваивании, операторах: ++ -- <знак>= (для Basic тоже).

    9. Ввод-вывод:

    C (ОВ):

    - при вводе информации функцией scanf в списке данных необходимо использовать оператор нахождения адреса &;

    - не забывайте заканчивать ввод данных инструкции scanf клавишей Enter (закрывает буфер ввода);

    - не забывайте заканчивать управляющую строку инструкции printf символом '\n' (перевод на новую строку);

    - при неизвестном диапазоне выводимых значений данных с плавающей точкой используйте спецификацию g.

    Basic (В)

    Так как для выполнения действий, реализуемых функциями среды языка С, здесь используется методы, входящие в состав класса, то для сокращения объема кода разумно использовать инструкцию imports system.<имя класса>. Это позволит не записывать имя класса при обращении к методам этого класса.

    Пример.

    Imports System.Math

    Imports System.Console

    …………………………….

    y=Cos(x)+Sin(x)

    WriteLine(“y={0:g5}”, y)
    1   ...   20   21   22   23   24   25   26   27   ...   58


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