
- •Оглавление
- •Билет 1: Понятия о структурном программировании
- •Билет 2: Моделирование стандартных управляющих структур
- •Билет 3: структура программы
- •Билет 4: организация (структура) модуля
- •Билет 5: Переменные
- •Билет 6: Система типов языка
- •Билет 7: Арифметические типы языка c
- •Билет 8: Константы
- •Билет 9: КонстантныеобъектывязыкеСи.
- •Билет 10: Константные объекты
- •Билет 11. Переменные, понятие об объекте, lvalue и rvalue выражения.
- •Билет 12. Время жизни переменных.
- •Билет 15. Операторы. Приоритет и ассоциативность операторов.
- •Билет 19: Побочные эффекты в языке Си.
- •Билет 20: Организация функций. Определение функций
- •Билет 25: Инструкция If…else. Программирование разветвлений.
- •Билет 26: Инструкция switch и организация разветвленных алгоритмов.
- •Билет 27: Циклические алгоритмы, классификация, функциональная схема
- •Билет 28: Циклические инструкции.
- •Билет 29: инструкция for и арифметические циклы
- •Билет 30: Инструкция while и do...While, интерационные циклы
- •Билет 31: Циклы с выходом. Бесконечные циклы
- •Билет 32. Организация вложенных циклов
- •Билет 33: Массивы. Определение и инициализация одномерных массивов
- •Билет 34. Массивы. Определение и инициализация двумерных массивов
- •Билет 35. Связь указателей и массивов
- •Билет 40. Указатели. Определение типизированных и нетипизированых указателей. Модель, используемая при работе с указателями. Операции с указателями.
- •Билет 41: Операции с указателями
- •Билет 42. Использование указателей для возврата из функции через параметры
- •Билет 43. Указатели на функцию. Определение. Операции. Использование в параметрах функции
- •Билет 44. Типичные ошибки при работе с массивами
- •Билет 45. Массив указателей, динамическая матрица
- •Билет 46. Понятие некорректного указателя.
- •Билет 47. Организация строк. Общие сведения
- •Билет 48. Ввод/вывод строк
- •Void funk(“Kozin”); - при этом ничего не возвращается. Данная запись используется довольно редко.
- •Билет 52. Организация динамического одномерного массива
- •Билет 53. Структуры. Определение типа структур. Определение переменных в структуре и инициализация. Операции со структурой
- •Билет 54. Обращение к полям структуры. Массивы структур
- •Билет 55. Использование структур при работе с функциями. Указатели на структуры
- •Билет 58: Файловый ввод-вывод. Символьный ввод-вывод в языке Си.
- •Синтаксис преобразования вывода
- •Билет 60: Файловый ввод-вывод. Строковый ввод-вывод в языке Си.
- •Билет 61: Файловый ввод-вывод. Блоковый ввод-вывод в языке Си.
- •Int fseek(file *f, long int колич_байт, int начало_отсчета);
Билет 9: КонстантныеобъектывязыкеСи.
Если создать представитель класса с модификатором const, то компилятор будет проинформирован, что содержимое объекта не должно изменяться после инициализации. Чтобы предотвратить изменение значений элементов константного объекта, компилятор генерирует сообщение об ошибке, если объект используется с неконстантной функцией-элементом. Константная функция-элемент, объявляемая с ключевым словом const после списка параметров, должна удовлетворять следующим правилам: • она не может изменять значение элементов данных класса; • не может вызывать неконстантные функции-элементы класса; • может вызываться как для константных, так и неконстантных объ-ектов класса. Для того чтобы сделать функцию константной, необходимо указать ключевое слово const после прототипа функции, но до начала тела функции. Если объявление и определение функции разделены, то модификатор const необходимо указать дважды – как при объявлении, так и при ее определении. Те методы, которые только лишь считывают данные из поля класса, имеет смысл делать константными, поскольку у них нет необходимости изменять значения по-лей объектов класса.
Обычно константные объекты создают для того, чтобы получить гарантии того, что данные объекта невозможно будет изменить. Однако иногда случаются ситуации, когда вы хотите создать объект-константу, имеющий опреде-ленное поле, которое нужно будет изменять, несмотря на то, что сам объект является константой. Для этих целей необходимо соответствующее поле объявить со спецификатором mutable.
Билет 10: Константные объекты
Иногда нам приходится использовать константы в программе. Например, при вычислении длины окружности, используется число 3.14... Она представляет собой общеизвестную константу пи. Чтобы воспользоваться этой константой можно ввести её фактическое значение в формулу, однако есть серьёзные основания чтобы использовать вместо числа символьную константу. Другими словами, вы можете воспользоваться оператором pi и заставить компьютер подставлять фактическое значение позже.
В чём заключается преимущества использования константы? Во-первых, имя является более информативным, чем число. Если вы читаете длинную программу, то версия с использованием символьной константы воспринимается лучше.
Для объявления символических и строчных констант применяется оператор #define. С этой целью достаточно воспользоваться одиночными кавычками для первых и двойными кавычками для последних. Например:
#define name “alex” или #define ‘z’
Следует ещё раз подчеркнуть, что всё, что следует за символическим именем, замещает его. Не допускайте следующую распространённую ошибку:
# define TOES = 20
правильно: #define TOES 20
Стандарт С99 обеспечивает ещё один способ создания символических констант, который предусматривает использование ключевого слова const для преобразования объявленной переменной в объявление константы.
Const int MONTHS = 12;
Благодаря такому объявлению константа MONTHS становится значением только для чтения. Иначе говоря, вы можете вывести на экран значение MONTHS и задействовать его в вычислениях, но вы не можете изменять значение MONTHS. Этот новый подход более гибок, чем использование конструкции # define.