![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
(МВ) Для трансляторов языка C, в которых не предусмотрены логические данные, разумно ввести в программу логические литералы.
# define TRUE 1
# define FALSE 0
Не следует забывать, что логические данные в программе на языке Basic занимают в памяти 2 байта, значения хранятся в виде true (-1), false (0), а на языке C они занимают в памяти 1 байт и хранятся в виде true (1), false (0).
(В) Старайтесь избегать в тексте программы литералов, заменяйте их символическими константами с помощью директивы #define (язык C).
4. (В) Массивы.
Для языка C следует отметить такие особенности.
Если возможно изменение размеров массивов, определяйте их размеры с помощью директивы #define.
Пример.
#define PAZM 5
float Matrix[PAZM][PAZM];
Нижняя граница индексов всегда 0, а в описаниях массивов указываются длины измерений, а не величины верхних границ, причем длина измерения может быть только постоянным выражением.
В языке Basic для массивов, размеры которых могут изменяться, при описании используется инструкция dim с пустыми скобками.
Пример.
Dim Matrix() As Single
Затем в том месте процедуры, где требуется определить число измерений и границы каждого из них, применяют инструкцию redim.
Пример.
ReDim Matrix(1 To 10, 1 To 10)
Такая инструкция в теле процедуры может использоваться многократно. Более подробно синтаксис и область применения инструкции redim будет изложена ниже.
5. (ОВ) В языке C необходимо помнить об особенностях операторов деления / и остатка % при работе с целыми операндами. При делении целого на целое результат всегда целый. Оператор % используйте только для целых операндов.
6. (В) Для логических операторов && и || в языке C вычисление выражения прекращается, как только результат определен, а для аналогичных операторов and и or в языке Basic проверяются оба операнда.
Пример.
Выражение i<100 && x[ i ]<0 при i=100 в языке C примет значение false и выполнение программы продолжится, тогда как в языке Basic вычисление выражения i<100 and x(i)<0 при тех же условиях вызовет ошибку: Subscript out of range (Индекс вне диапазона), поскольку элемента массива x(100) не существует.
7. (ОВ) В языке C при использовании библиотечных функций не забудьте включить файл прототипов.
Пример.
#include <stdio.h>
#include <math.h>
8.(В) Не забывайте об удобных возможностях языка С: многократном присваивании, операторах: ++ -- <знак>=.
9. (ОВ) Ввод-вывод (C):
- при вводе информации функцией scanf в списке данных необходимо использовать оператор нахождения адреса &;
- не забывайте заканчивать ввод данных инструкции scanf клавишей Enter;
- не забывайте заканчивать управляющую строку инструкции printf символом '\n' (перевод на новую строку);
- при неизвестном диапазоне выводимых значений данных с плавающей точкой используйте спецификацию g.
Вопросы для самопроверки и контроля
Вопросы для самопроверки
1. Как разумно размещать инструкции текста программы?
2. Какую роль играют отступы при размещении вложенных инструкций?
3. В чем суть "венгерской" нотации имен?
4. На что, вероятно, указывает предупреждение при трансляции?
5. В чем различие в применении операторов "И" и "ИЛИ" в языках C и Basic?
6. Чем отличается действие оператора деления / в языках C и Basic?
Контрольные вопросы
1. В каких местах нужно осуществлять перенос инструкции, если она не входит в строку?
2. Перечислите типы комментариев к программе.
3. Почему нежелательно использовать в программе схожие имена?
4. Зачем нужно явно объявлять все объекты программы?
5. Почему следует избегать инструкций перехода?
6. В чем преимущество работы с массивами в языке Basic?
Дата публикования: 2014-11-02; Прочитано: 139 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!