Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по программ(мои).doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
969.73 Кб
Скачать

//Билет 1

1. Язык программирования «С» и его характеристика.

Язык Си — универсальный язык, разработанный в 1972 году, который сочетает возможности языков программирования высокого уровня (структурность, модульность, определенные типы данных) и низкого уровня. Программир на этом языке отличается компактностью и быстротой исполнения. Его структура позволяет наилучшим образом использовать возможности современных ПЭВМ. Си – мобильный язык. Это означает, что программа, написанные на этом языке для одной вычислительной системы, может быть перенесена с минимальными изменениями на другую. Си – мощный и гибкий язык. Он достаточно структурирован, чтобы поддерживать хороший стиль программир и не связан жесткими ограничениями.

Пример программы на языке Си:

#include <stdio.h> // главный файл

int main()// главная функция

{

printf("Hello, world!\n");// печать сообщения на экране

return 0;

}

2. Применение условной компиляции и определений: директивы #ifdef и их синтаксис.

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

Основные виды директив: 1 определение макрокоманд; 2 вставка файлов; 3 условная компиляция программы (запрет компиляции части файла или ее зависимость от некоторых условий).

При указании любой директивы первым символом в строке должен быть "#". Директивы могут быть записаны в любом месте исход файла. Их действие распространяется от места, где они записаны до конца исходного файла. Использование директив #ifdef и #ifndef эквивалентно применению директивы #if совместно с операцией defined (идентификатор). Они поддерживаются для совместимости с предыдущими версиями компиляторов Си. Синтаксис директив следующий:

#ifdef идентификатор #ifndef идентификатор

Когда препроцессор обрабатывает директиву #ifdef, он проверяет, определен ли в данный момент <идентификатор> директивой #define т.е. задано ли символическое имя константы (например: #define PI 3.14159265 задает символическое имя PI для константы 3.14159265). Если да, условие считается истинным, если нет — ложным. Директива #ifndef противоположна по действию директиве #ifdef.

3. Сокрытие и защита данных. Доступ к защищенному члену данных.

Для огран уровня доступа к данным существуют три ключевых слова private: (частн), protected: (защищ), public: (общедоступ), задающие разделы доступа в классе. Каждый раздел в классе начинается с одного из этих слов. Элементы private доступными только для методов самого класса, но сокрыты для другой части программы. Элементы public определяют интерфейс класса с другими частями программы и другими классами. Если ни одно из ключевых слов не испол, то все объявления в классе считаются частными. Разделы с разным уровнем доступа могут появл в любом порядке и в любом кол-ве.

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

Friend им_функции ( список_формал_парам); Дружественная функция имеет доступ ко всем компонентам класса вне зависимости от их области видимости.

Рассмотрим пример.

class Example {

int x1; // частные по умолчанию

int f1(void);

protected:

int x2; // защищенные

int f2(void);

private:

int x3; // опять частные

int f3(void);

public:

int x4; // общедоступные

inf f4(void);

};

//билет 2