- •2)Этапы изготовления загрузочного модуля.
- •4)Типы данных.
- •5)Описание типов переменных и именованных констант.
- •6) Классы памяти, область действия, область видимости, время жизни переменных
- •7) Уточнение типа константы (литерала).
- •8)Выражения. Арифметические операции, операции отношения.
- •12) Операция явного приведения типа. Правила преобразования операндов при вычислении выражений. Приоритет операций и порядок их выполнения.
- •Int main(){ // или просто main()
- •14) Форматный ввод-вывод. Функции ввода и вывода;
- •15) Управляющая строка: управляющие символьные константы, поясняющий текст, спецификации преобразования (флаги, ширина, точность, модификаторы, типы преобразования).
- •16) Оператор- выражение. Примеры использования.
- •17) Оператор безусловного перехода. Примеры использования.
- •18) Операторы условного перехода: switch. Примеры использования.
- •19) Операторы условного перехода: if. Примеры использования.
- •20) Операторы цикла: while, do while. Примеры использования.
- •21)Операторы цикла: for. Примеры использования
- •22)Внутреннее представление целых данных.
- •23) Внутреннее представление данных с плавающей точкой
- •24) Другие операторы: break, continue, return. Примеры использования
- •25) Понятие указателя. Виды указателей. Их описание
- •26) Специальные операции, связанные с указателями. Стандартные операции, применимые к указателям.
- •27) Инициализация указателей.
- •28) Одномерные массивы. Описание массивов, их инициализация.
- •29) Связь одномерных массивов с указателями. Динамическое выделение памяти для одномерных массивов.
- •30) Одномерные массивы. Описание массивов, их инициализация.
- •31) Связь двумерных массивов с указателями. Динамическое выделение памяти для двумерных массивов.
- •32) Функции пользователя. Прототипы функций (объявление функций). Структура функции пользователя. Вызов функции. Виды функций.
- •33) Функции пользователя. Способы передачи информации между функциями.
- •34) Функции пользователя. Механизм передачи аргументов в функцию. Передача аргументов функции: передача значений, передача адресов. Возврат результатов из функции.
- •35) Соответствие между фактическими и формальными аргументами. Использование указателей в качестве аргументов. Возврат результатов из функции.
- •36) Понятие ссылки, ее описание. Использование ссылок для передачи аргументов в функцию и обратно.
- •37) Виды функций. Функции с переменным числом аргументов.
- •38) Виды функций. Функции с аргументами, заданными по умолчанию. Inline-функции.
- •39) Виды функций. Рекурсивные функции.
- •40) Виды функций. Перегруженные функции.
- •41) Виды функций. Шаблоны функций.
- •Inline - функция
- •42) Передача аргументов функции main(). Возврат из функции main().
- •43) Описание строк и символов. Функции ввода-вывода символов и строк.
- •44) Действия над строками и символами.
- •46.Использование указателей на строки. Выделение памяти под строку и под массив строк.
- •47.Типы данных, задаваемые пользователем. Оператор typedef. Перечислимый тип
- •48.Структурированный тип данных: структуры, их описание, доступ к полям структуры, вложенные структуры, указатель на структуру, массивы структур
- •49.Разновидности структуры: битовые поля, смеси (объединения). Использование их для построения сложных структур.
- •50.Файлы в с. Способы обмена. Файловый тип. Описание файлов.
- •51.Файлы в с. Потоковый обмен: блоковый, форматный.
- •53.Объекты и классы. Описание классов. Объявление объектов.
- •2 Способа вызова:
- •54Указатель this.
- •55.Конструкторы и деструкторы. Их назначение. Виды конструкторов.
- •61) Наследование. Производный класс. Конструкторы и деструкторы производных классов.
- •62) Множественное наследование.
12) Операция явного приведения типа. Правила преобразования операндов при вычислении выражений. Приоритет операций и порядок их выполнения.
Операция преобразования типа:
(тип) выражение
int a,b; //a=5,b=2 float z; z = a / b; //z=2 z = (float)a / (float)b; //z=2.5
Преобразование типов при вычислении выражений
Все выражения могут содержать операнды различных типов. Перед вычислением происходит преобразование операндов к одному типу (приводят к наибольшему длинному).
Приоритет: long double
double
float
usigned long
int
char
Если переменная расположенная слева от знака = другого типа, чем результат выражения, стоящего справа, то результат вычисления приводится к типу переменной.
Арифметические преобразования типов
Преобразования типов выполняются, если операнды, входящие в выражения,
имеют различные типы. Ниже приведена последовательность преобразований.
1. Любые операнды типа char, unsigned char или short преобразуются к типу int по правилам:
• char расширяется нулем или знаком в зависимости от умолчания для char;
• unsigned char расширяется нулем;
• signed char расширяется знаком;
• short, unsigned short и enum при преобразовании не изменяются;
• Затем любые два операнда становятся либо int, либо float, double или long
double.
2. Если один из операндов имеет тип long double, то другой преобразуется к типу long double.
3. Если один из операндов имеет тип double, то другой преобразуется к типу
double.
4. Если один из операндов имеет тип float, то другой преобразуется к типу
float.
5. Иначе, если один из операндов имеет тип unsigned long, то другой преобразуется к типу unsigned long.
6. Иначе, если один из операндов имеет тип long, то другой преобразуется к типу long.
6. Иначе, если один из операндов имеет тип unsigned, то другой преобразуется к типу unsigned.
7. Иначе оба операнда должны иметь тип i nt.
Тип результата тот же, что и тип участвующих в выражении операндов.
13) Структура С/С++– программы
Структура программы
Программа на языке C++ состоит из функций, описаний и директив препроцессора. Одна из функций должна иметь имя main(). Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат:
тип_возвращаемого_значения имя ([ параметры ] ){
операторы, составляющие тело функции
}
Как правило, функция используется для вычисления какого-либо значения, поэтому перед именем функции указывается его тип.
• если функция не должна возвращать значение, указывается тип void:
• тело функции является блоком и, следовательно, заключается в фигурные
скобки;
• функции не могут быть вложенными;
• каждый оператор заканчивается точкой с запятой (кроме составного оператора).
Пример структуры программы, содержащей функции main(), fl() и f2():
директивы препроцессора (начинаются с #)
описания вне функций
Int main(){ // или просто main()
операторы главной функции
}
int fl(){
операторы функции f l
}
int f2(){
операторы функции f2
}
Программа может состоять из нескольких модулей (исходных файлов).
Несколько предварительных замечаний о вводе/выводе. В языке C++ нет встроенных средств ввода/вывода — он осуществляется с помощью функций, типов и объектов, содержащихся в стандартных библиотеках. Используется два способа:
функции, унаследованные из языка С;
объекты C++.
Основные функции ввода/вывода в стиле С:
int scanf (const char* format. ... ) // ввод
int printf(const char* format. ... ) // вывод
Они выполняют форматированный ввод и вывод произвольного количества величин в соответствии со строкой формата format.
Строка формата содержит символы, которые при выводе копируются в поток (на экран) или запрашиваются из потока (с клавиатуры) при вводе, и спецификации преобразования, начинающиеся со знака %, которые при вводе и выводе заменяются конкретными величинами.
Пример общей структуры программы на C++:
// - директивы препроцессора
// часто используемые
# include … // подключение заголовочных файлов
# define // задание именованных констант и макросов
// - глобальное описание функций и переменных
int a,b;
char c;
double d[8];
void main (void);
float F1 (float x);
// - определение функций программы в любом порядке
float F1 (float x)
{return (2*x/(1+x*x));}
void main(void)
{float z,y;
scanf (“%f”,&z);
y=F1(z);
printf(“\n z=% 6.3f, f(z)=% 6.4f”, z,y);}