- •4. Идентификаторы. Ключевые слова. Алфавит языка.
- •5. Этапы получения загрузочного файла. Понятие консольного приложения.
- •6.Стандартные типы данных. Типы данных для представления целых чисел.
- •20.Операторы цикла while, do … while. Варианты выражений. Бесконечные циклы.
- •21.Оператор цикла for. Варианты выражений. Тело цикла. Пустой оператор for. Оператор без тела цикла.
- •22. Операторы goto, break, continue, return. Варианты использования.
- •23.Массивы. Индексация, инициализация, размещение элементов в памяти. Определение размера массива.
- •24.Многомерные массивы. Инициализация многомерных массивов. Размещение элементов в памяти.
- •25.Строки. Представление строк. Длина строки. Варианты инициализации строк.
- •31.Область существования имени. Виды областей существования имени
- •32.Область видимости имени. Операция разрешения контекста.
- •33. Классы памяти.
- •34.Структуры. Элементы структуры. Массивы структур.
- •35.Структуры. Передача структур в функции.
- •36.Структуры. Битовые поля в структурах.
- •37.Объединения.
- •38.Перечисления.
- •39.Работа с файлами. Потоки. Буфер.
- •40.Библиотека stdio. Связь с файлами. Открытие и закрытие файла.
- •41.Библиотека stdio. Текстовые файлы – чтение и запись.
- •42.Библиотека stdio. Форматированный ввод/вывод.
- •43.Библиотека stdio. Функция fseek().
- •44.Работа с файлами. Переключение ввода/вывода.
- •45.Операторы времени компиляции inline и typedef.
- •46.Директива препроцессора #define. Макросы с формальными параметрами.
- •47.Директивы условной компиляции. Директивы #if, #else, #elif и #endif
31.Область существования имени. Виды областей существования имени
1) БЛОК - это фрагмент программы, заключённый в фигурные скобки { }
Тело любой функции является блоком. Имя функции также имеет область существования "блок". Область существования "блок" распространяется и на вложенные блоки.
2) ФУНКЦИЯ. Эту область существования имеют только имена меток перехода, используемые оператором goto:
void f (){…. ... goto lab; ... {... lab: ...} ... } 3)ПРОТОТИП ФУНКЦИИ- объявление функции, не являющееся её определением и имеющий, вид:
int F(int a, double b, char* str);
Область существования "прототип" заключена между открывающей и закрывающей круглыми скобками.
4)ФАЙЛ- имеют имена, объявленные вне любого блока и класса. Такие имена называют глобальными. Глобальные имена определены от точки их объявления и до конца файла, где встретилось их объявление. Примером таких имён являются имена функций.
#include int a, b, c[40]; // Глобальные имена; int f1() // локальное имя f1; {int i; // локальное имя; ... } int count; // глобальное имя; void f2() { ... } // глобальное имя f2.
5)КЛАСС. Такую область существования имеют имена, объявленные в классах. Эти имена определены во всем классе, в котором они объявлены, независимо от точки их объявления.
32.Область видимости имени. Операция разрешения контекста.
Если, используя имя, можно получить доступ к элементу, с которым это имя сопоставлено, то говорят, что данное имя находится в области своей видимости.
Если скрытым именем является глобальное имя функции или объекта, то обратиться к нему можно, используя операцию разрешения контекста ::.
int i=5; // Глобальная переменная; void main (){ int i=1; // локальная переменная. i++; ::i++; cout<< "i="<< i<< ", глобальное i="<< ::i<< ".\n"; }
Здесь будет напечатано
i=2, глобальное i=6. |
С помощью операции :: нельзя обратиться к скрытому локальному объекту.
33. Классы памяти.
Классы памяти дают возможность определить с какими функциями связаны переменные и как долго сохраняется переменная в программе.
1)auto(по умолч.)-освобождает переменную при выходе из блока
2)static-перем существует до конца выполнения программы
3)extern-внешняя переменная
4)register- перем существует только локально
34.Структуры. Элементы структуры. Массивы структур.
Структура — это совокупность переменных, объединенных под одним
именем.
Переменные, из которых состоит структура, называются элементами структуры.
Пример структуры:
struct date { // объявление нового типа данных
int day;
int month;
int year;
int week_day;
char mon_name[4];
};
date d1,d2; // объявление переменных типа date
d1.day = 20;
d1.month = 5; // доступ к отдельным элементам структуры
Структуры можно присваивать:
d2 = d2;
Структуры нельзя сравнивать.
Чтобы объявить массив структур, вначале необходимо определить структуру (то есть определить агрегатный тип данных), а затем объявить переменную массива этого же типа:
person list[100];
Это выражение создаст 100 наборов переменных, каждый из которых организован так, как определено в структуре person