Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_dlya_podgotovki_k_ekzamenu_po_distsipli...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
607.23 Кб
Скачать

Вопросы для подготовки к экзамену по дисциплине «Объектно-ориентированное программирование» для студентов заочного отделения

  1. Общая характеристика С и С++, назначение, достоинства.

Язык Си является языком программирования общего назначения. Язык Си - это алгоритмический язык "не очень высокого уровня".Это означает, что он дает возможность работы с таки­ми типами объектов и позволяет выполнять такие операции, которые тра­диционно относят к машинноориентированным языкам "низкого уровня", подобным языку ассемблера. Примером упомянутых объектов могут служить символы, числа (со знаком и без), адреса оперативной памяти и указа­тели, битовые цепочки и т.д., над которыми можно выполнять арифмети­ческие, логические и поразрядные операции. В то же время, Си не обес­печивает возможности работы со строками, множествами, массивами или списками как с единым целым.

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

является многоцелевым, лаконичным и относительно низкоуровневым языком;

подходит для решения большинства системных задач;

исполняется везде и на всём;

стыкуется со средой программирования UNIX.

- наличие препроцессора, позволяющего вносить изменение в текст программы непосредственно перед ее компиляцией; C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ.

Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C

Достоинства

  • Высокая совместимость с языком Си 

  • Как следствие предыдущего пункта — вычислительная производительность.

  • Поддержка различных стилей программирования: (структурное, объектно-риентированное),  обобщённое программированиефункциональное программирование

  • Автоматический вызов деструкторов объектов в адекватном порядке (обратном вызову конструкторов) упрощает и повышает надёжность управления памятью и другими ресурсами

  • Перегрузка операторов позволяет кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме.

  • Имеется возможность управления константностью объектов (модификаторы const, mutable, volatile). Использование константных объектов повышает надёжность и служит подсказкой для оптимизации.

  • Шаблоны C++ дают возможность построения обобщённых контейнеров и алгоритмов для разных типов данных. Попутно шаблоны дают возможность производить вычисления на этапе компиляции.

  • Возможность встраивания предметно-ориентированных языков программирования в основной код.

  • Доступность. Для С++ существует огромное количество учебной литературы, переведённой на всевозможные языки.

  1. Программа на с, включение заголовочных файлов стандартной библиотеки и разработанных пользователем. Именованные константы и макроопределения. Идентификаторы.

  1. Типы данных (скалярные, составные). Размер памяти основных типов данных. Модификатор const.

Все типы делятся на:

1)скалярные (простые)  2) структруированные (составные)  К стандартным скалярным типам относятся целочисленные, вещественные, символьные, булевские типы данных и указатели.  К структурированным типам относятся классы, структуры строки, массивы. Строки тоже, так как представляют собой по сути массивы, например char[] a = "String" - массив символов типа char.  Например, структура:  struct struct1 //struct1 - составной тип  {  bool a; //скалярный тип  int x; //скалярный тип  int* y; //скалярный тип  };

char — это тип данных, которые требуют для хранения 1 байт памяти

int используется для хранения целых чисел и занимает не менее 4 байтов памяти

Для хранения чисел с плавающей точкой, используются специальные типы данных: float,double и long double. Каждый из них занимает 4, 8 и 12 байт соответственно.

Модификатор const

Если в объявлении имени присутствует модификатор const, то объект, с которым сопоставлено данное имя, рассматривается в области существования этого имени как константа. Например:

const int i=50;       // то же, что const i=50;      const double pi=3.14159;

Такие именованные константы в программе изменять нельзя. Использовать эти константы можно так же, как и обычные.

  1. Константы (целые, с плавающей точкой, символьные, строковые). Управляющие (Эскейп) последовательности.

Константами называются перечисление величин в программе. В языке СИ разделяют четыре типа констант: целые константы, константы с плавающей запятой, символьные константы и строковыми литералы.

Целая константа: это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целую величину в одной из следующих форм: десятичной, восьмеричной или шестнадцатеричной.

5l, 6l, 128L, 0105L, OX2A11L.

Константа с плавающей точкой - десятичное число, представленное в виде действительной величины с десятичной точкой или экспонентой. Формат имеет вид:

Примеры: 115.75, 1.5Е-2, -0.025, .075, -0.85Е2

Символьная константа - представляется символом заключенном в апострофы. Управляющая последовательность рассматривается как одиночный символ, допустимо ее использовать в символьных константах. Значением символьной константы является числовой код символа. Примеры:

' '- пробел ,

'Q'- буква Q ,

'\n' - символ новой строки ,

'\\' - обратная дробная черта ,

'\v' - вертикальная табуляция .

Символьные константы имеют тип int и при преобразовании типов дополняются знаком.

Строковая константа (литерал) - последовательность символов (включая строковые и прописные буквы русского и латинского а также цифры) заключенные в кавычки (") . Например: "Школа N 35", "город Тамбов", "YZPT КОД".

Управляющая последовательность  — совокупность идущих подряд значащих элементов, в группе теряющих для обрабатывающего механизма своё индивидуальное значение, одновременно с приобретением этой группой нового значения.

Пример 1

char str[]="Такой ввод символа " в строку вызовет ошибку

Пример 2

char str[]="Служебный символ \" можно ввести в строку";

В первом примере содержится ошибка — пропущена инструкция «;». Это произошло из-за того, что символ двойных кавычек используется для выделения строки. Во втором же примере этой ошибки нет, так как перед средней кавычкой стоит символ экранирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]