
- •2. Применение условной компиляции и определений: директивы #ifdef и их синтаксис.
- •3. Сокрытие и защита данных. Доступ к защищенному члену данных.
- •1.Синтаксис языка Си, зарезервированные имена.
- •2.Форматированный и неформатированный ввод-вывод.
- •Форматированный ввод с клавиатуры
- •3.Сценарии создания объектов: с инициализацией по умолчанию, со специальной инициализацией, путем копирования других объектов
- •1. Структура программы на Си, трансляция и создание загрузочного модуля.
- •2.Агрегаты данных, описание агрегатов через шаблоны, вложенные описания
- •3. Интерфейс класса. Свойство защищенности интерфейса класса
- •1. Классификация функций, функции пользователя и стандартные.
- •2. Модификаторы «[],(),*» в объявлениях.
- •3. Наследование, инкапсуляция и полиморфизм, иерархия классов.
- •1.Вызов функций: параметры и аргументы.
- •2. Функции преобразования и тестирования.
- •3. Уровни описания и реализации структур данных.
- •Билет №6
- •2. Структуры данных struct, поля битов в структуре
- •Билет 7
- •1. Библиотеки функций и их подключение.
- •2. Спецификаторы и модификаторы в объявлениях
- •3. Объекты класса и члены данных.
- •Билет 8
- •Ввод-вывод как средство связи пользователя с пк.(билет2)
- •3.Правила перегрузки операторов. Приоритеты операторов.
- •1.Библиотечные функции ввода-вывода символов и строк, функции gets и puts.
- •3.Константы и переменные скалярного типа.
- •3.Объявление класса: private, protected, public элементы класса.
- •Ключевые слова public и private
- •Билет №10
- •1. Ввод-вывод данных, функции printf и scanf, спецификации преобразования.
- •Идентификаторы и зарезервированные слова.
- •Билет 11
- •1.Простой и составной оператор.
- •2.Базовые типы данных и перечислимый тип enum, объявление перечислимого типа через шаблон, использование перечислимого типа вместо констант.
- •3.Статические элементы класса.
- •Билет n 12
- •1.Операторы принятия решений: применение операторов решения.
- •2.Классы памяти и область действия объектов программы.
- •3.Приватные конструкторы. Конструкторы с аргументами.
- •Билет 13
- •1.Условный оператор if.
- •2.Функция и указатель на функцию: объявление.
- •3.Деструкторы: общедоступные, приватные
- •Билет №14
- •1.Вычисляемый оператор-переключатель группового выбора switch
- •2.Классы памяти, область действия объявления
- •3.Принципы разработки структуры проекта, блок-схемы проекта
- •Билет №15
- •1.Организация цикла в программе, цикл с предусловием while
- •2.Рекурсивные функции
- •3.Ссылки и указатели: указатели и ссылки как члены данных
- •1.Организация цикла в программе, цикл с постусловием do - while.
- •2.Объединение данных union.
- •3.Понятие объекта и класса.
- •Билет 17
- •1. Организация цикла в программе. Цикл с инициализацией и модификацией for
- •2. Директивы препроцессора: директива #define, синтаксис.
- •3. Отладка программных комплексов: этапы отладки, методы отладки, организация тестирования программ.
- •1.Функции для работы со строками символов.
- •2.Примеры абстрактных структур: таблицы.
- •3.Понятие проекта программы: структура проекта.
- •Билет №19
- •1. Преобразование типов явное и неявное.
- •2. Таблицы указателей на функции и вызов функции из таблицы
- •3. Доступ к глобальным и локальным данным, область видимости для идентификаторов, объявленных внутри класса
- •Билет 20
- •1 Операции арифметического типа, преобразование типа в операции присвоения.
- •2 Главная функция и способы передачи аргументов.
- •3. Абстрактные структуры данных. Понятие шаблона структуры.
- •Билет n 21
- •1. Операции логического типа, одноместные и двуместные операции.
- •2.Разбор аргументов в главной функции и их использование.
- •3. Форматы данных и их применение.
- •Билет №22
- •1.Адресные операции: указатели в адресных операциях.
- •2.Функции ввода-вывода: классификация функций, ввод-вывод символов и строк.
- •3.Перегрузка операторов, правила перегрузки операторов, приоритеты
- •2.Описание файла.
- •3.Классификация функций-членов класса
- •Билет №24
- •1.Определение массива и его описание, индексирование массива.
- •3.Операторы new и delete.
- •1.Связь между массивами и указателями
- •2.Файлы данных: структура данных в файле.
- •3. Примеры абстрактных структур: очереди
- •1.Обращение к элементам массива
- •2.Директивы препроцессора: директива #include и способы включения файла
- •3.Вызов функций-элементов
- •Билет 27
- •1.Классы: использование указателя this.
- •2.Спецификаторы и модификаторы в объявлениях
- •1.Строки и массивы строк символов.
- •2.Файловый ввод-вывод потоком: поиск в файле, добавление и удаление данных.
- •3.Объявление структур через шаблон.
- •1.Массив ссылок
- •2 Поиск в файле, добавление и удаление данных.
- •3.Понятие стиля программирования: «ясность», «краткость», «эффективность».
- •Билет №31
- •1.Размерность массива и представление в памяти.
- •2.Файловый ввод-вывод записями, доступ к данным.
- •3.Перегрузка функций.
- •Билет 32
- •Билет 33
- •3.Скобочные операторы: оператор вызова функции operator() и оператор индексирования [].
- •Билет 34
- •1 Стиль оформления выражений
- •Классификация данных по назначению, структуре и формату.
- •Управление динамической памятью: функции распределения памяти.
- •Принцип модульности: совокупность модулей (функций) и файлов, разделение на модули.
- •Билет №36
- •2.Макроподстановки: директива #define, синтаксис.
- •Билет 28
- •1.Многомерные массивы, способы описания, инициализация.
- •2.Режимы открытия и модификации файла.
- •3.Перегруженные конструкторы.
2.Разбор аргументов в главной функции и их использование.
Когда функция MAIN вызывается к исполнению, она вызывается с двумя аргументами. Первый аргумент ARGC содержит количество аргументов в командной строке, с которыми происходит обращение к программе, и является параметром типа int. Второй аргумент ARGV является указателем на массив строк, содержащих эти аргументы, по одному в строке. Один параметр отделяется от другого пробелом.
В результате получается следующее обращение к функции main:
int main(int argc, char *argv[])
Существует еще и третий аргумент функции main(). Это аргумент char *env[]. Он позволяет организовать доступ к параметрам среды операционной системы. Эти три аргумента доступны только для функции main().
На экран выводятся слово Привет и ваше имя, которое надо указать в виде аргумента командной строки.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
if(argc!=2) {
printf("Вы забыли ввести свое имя.\n");
exit(1); }
printf("Привет %s", argv[1]);
return 0; }
3. Форматы данных и их применение.
Язык Си относится к языку с жестко определенными форматами данных: каждое имя всегда обозначает объект некоторого типа, причем этот тип нельзя изменить до конца выполнения программы.
int - целый длиной 2 байта, диапазон значений -32768 ... +32767;
short - целый короткий, для IBM PC аналогичен int;
long - целый длиной 4 байта, диапазон значений -2*109 ... 2*109
char - символьный длиной 1 байт, его можно рассматривать как целое -128...+127 (иногда 0...255);
float - тип данных с плавающей точкой, длиной 4 байта, вещественное число с диапазоном значений от ±8.4·10-37 до ±3.3·1038 и 6-ю значащими цифрами;
double - тип данных с плавающей точкой, длиной 8 байт, вещественное число с диапазоном значений от ±2.2·10-308 до ±1.8·10308 и 14-ю значащими цифрами;
Вещественный тип данных следует использовать в тех случаях, когда данное в принципе может иметь дробную часть.
Целый тип данных часто используется для организации флагов, счетчиков, индексов и т.д.
Могут использоваться ключевые слова signed и unsigned. Если указано ключевое слово unsigned, то нулевой бит интерпретируется как часть числа, в противном случае нулевой бит интерпретируется как знаковый.
Кроме базовых типов есть и составные типы: модифицируемые, перечислимые и структурные.
Билет №22
1.Адресные операции: указатели в адресных операциях.
Указатели обеспечивают косвенное манипулирование объектами, на которые они указывают. Для доступа к объекту можно воспользоваться оператором обращения к значению указателя. Этот оператор (*) - операция обращения по адресу или операция косвенного обращения возвращает объект, адрес которого содержит указатель. Например: int i=10; int *p=&i; printf(“% d”, p)- выводит нам число 10. Если написать в коде *р=120, то значение переменной i станет 120.
2.Функции ввода-вывода: классификация функций, ввод-вывод символов и строк.
Функции стандартного вывода printf() и стандартного ввода scanf().
Функция printf().Формат: printf(control, arg 1, arg 2) Она преобразует численные величины в символьное представление, определяет формат и печатает свои аргументы по управлением строки control. Эта строка содержит два типа объектов :
Обычные символы, которые просто копируются в выходной поток
Спецификации преобразований. Начинаются с символа % и заканчиваются символом преобразования .
Между % и символом преобразования могут находится знак «-» (выравнивание аргумента по левому краю), строка цифр(задающая минимальную ширину поля), точка после которой так же стоит строка цифр –модификатор длинны (для long int). В управляющей строке указывается такое же количество аргументов , какое стоит после этой строки.
Осуществляющая ввод функция scanf() является аналогом printf() и позволяет проводить в обратном направлении многие из тех же самых преобразований.
Функция getchar()- запрос на ввод символа
Функция putchar()– вывод символа на экран
Функция gets(str)– запрашивает на экран ввод строку, которую она помещает в str, пока пользователь не нажмёт enter
Функция puts(str)– печатает строку str и переводит курсор на следующую строку.