
- •3. Значением символьной переменной является один символ из фиксированного набора.
- •13. Важнейшим элементом любой программы являются данные, с которыми работает программа. Под данными принято понимать информацию, представленную в виде, пригодном для использования эвм.
- •18. Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражение состоит из:
- •23. Тип указателя – тип данных для хранения адресов ячеек памяти
- •25. Подпрограмма – относительно самостоятельный именованный
- •26. Переменные, определяемые в теле любой функции (в том числе и главной), называются локальными.
26. Переменные, определяемые в теле любой функции (в том числе и главной), называются локальными.
Локальные переменные создаются в перед каждым выполнением «своей» подпрограммы и уничтожаются при ее завершении.
Существует еще возможность объявлять переменные (и константы) вне какой-либо функции. Такие переменные будут называться глобальными. Обычно глобальные переменные объявляют в начале программы, до начала определения функций. Глобальные переменные создаются перед началом выполнения программы и уничтожаются при завершении программы.
Место программы, где объявлена та или иная переменная, имеет важное значение. От этого зависит, в какой части программы эту переменную можно будет использовать, а где – нельзя. Часть программы, в которой переменная доступна для использования, называется ее областью видимости.
Область видимости локальной переменной начинается с места ее объявления и ограничивается блоком, внутри которого она объявлена. Область видимости переменной, объявленной в заголовке цикла, ограничена заголовком и телом цикла.
Областью видимости глобальной переменной является часть программы, начиная с места ее объявления и до конца данного исходного файла. Таким образом глобальная переменная доступна для использования в любой функции в пределах области видимости. На рис.0 представлен пример программы, демонстрирующей использование локальных и глобальных переменных с обозначением областей их видимости.
27. Создание функций в С++
Вызов функции означает команду на ее выполнение.
Структура определения функции:
[Заголовок функции (прототип)] ТипРезультата ИмяФункции (СписокФормАргументов)
{
Инструкции [тело функции]
}
ИмяФункции (СписокФормАргументов)
[точка вызова функции]
28. Аргументы бывают двух разновидностей.
Аргументы первой из них называются формальными. Они указываются в заголовке программы; используются внутри подпрограммы.
Аргументы второй разновидности называются фактическими. Они указываются при вызове подпрограммы в скобках после имени. Могут быть значениями, константами или переменными.
// Объявление функции. int a - формальный параметр, имя параметра может отсутствовать.
int myfunction(int a);
// Определение функции. int b - формальный параметр, имя параметра может не совпадать с указанным при объявлении функции.
int myfunction(int b)
{
return 0;
}
int main()
{
int c=0;
myfunction(c); // Вызов функции. c - фактический параметр.
return 0;
}
29. Способы возврата результата функции
1. Возврат через имя функции
Что нужно:
· задать непустой ТипРезультата функции (не void)
· для возврата значения в функции использовать инструкцию
return Выражение;
c = summa(a, b) * pow(a*b, 1./3);
2. Запись результата во внешнюю переменную посредством формального аргумента типа указателя или ссылки
Что нужно:
· объявить в заголовке функции формальный аргумент типа ссылки или типа указателя на переменную, в которую функция будет сохранять результат
· до вызова функции определить переменную для сохранения результата функции. Переменная должна быть создана вне вызываемой функции
· если формальный аргумент – типа указателя, то фактическим аргументом должен быть адрес переменной, а если ссылка, то просто имя переменной
· в теле функции разыменовать аргумент-указатель и присвоить внешней переменной значение результата; если аргумент – ссылка, то просто присвоить ей возвращаемое значение.
void Center(double x1, double y1,
double x2, double y2,
double *xc, double *yc)
{
*xc = (x2+x1)/2;
*yc = (x2+x1)/2;
}
30. Массивы применяются для хранения данных чуть ли не в каждой программе. Очень часто возникает необходимость массив, созданный в одной функции (например, в главной), передавать для обработки в другие функции. При этом требуется учитывать ряд моментов, связанных с внутренним устройством массивов в C++, таких как:
· массив в программе на C++ неявно представляет собой указатель на начальный
элемент, т.е. для получения адреса массива в памяти нужно просто указать массива;
· в массиве не хранится никакой информации о его размере.
Поэтому при передаче массивов в функцию используются:
· один формальный аргумент типа указателя на начальный элемент массива;
· один (для одномерных массивов) или несколько (для многомерных массивов)
формальных аргументов беззнакового целого типа для передачи размера( массива.
31. Строковые данные (строки) – совокупность символьных значений (или просто символов), хранимых в памяти в виде своих целочисленных кодов.
Для хранения строк используются символьные одномерные массивы.
Обычно хранимые в памяти строки оканчиваются символом с нулевым кодом (пустым символом): '\0' . Такие строки называются С-строками.
Символьный массив szS из 16 элементов*:
char szS[] = "Пример С-строки";
printf("%d", sizeof(szS)); // выведет значение 16
Принципы работы:
для хранения C-строк будем использовать обычные символьные массивы
для ввода строк с клавиатуры будем использовать стандартную функцию gets
для определения длины C-строки (не учитывая «нулевой» символ) ипользуем стандартную функцию strlen
для поиска последовательности символов в строке будем использовать стандартную функцию strstr
для представления строковых данных будем использовать C-строки
будем использовать связь массивов и указателей: имя массива можно использовать как указатель на начальный элемент массива