
- •Поддержка модульности. Функции, параметры, передача параметров. Область видимости и область существования. Встроенные и собственные типы данных. Структура программы.
- •Директивы препроцессора. Имена. Объявление констант и переменных. Оператор присваивания.
- •3. Условные операторы. Операторы циклов. Операторы: break, continue. Инкрементные и декрементные операторы. Арифметические операции, в том числе целочисленные. Выражения и порядок вычисления.
- •Цикл for
- •Цикл while
- •Оператор continue
- •Операции увеличения (инкремента) и уменьшения (декремента)
- •Порядок вычислений
- •4. Объявление функций, оператор return. Передача параметров. Параметры по умолчанию.
- •5. Встроенные типы данных и операции над ними. Тип void. Перечисления.
- •Int float double char bool – встроенные типы данных
- •6. Указатели и действия над ними.
- •7. Явные и неявные преобразования типа. Составные типы данных и действия над ними.
- •8. Класс памяти и модификатор const.
- •9. Работа с динамической памятью. Назначение динамического выделения памяти. Операторы new и delete. Время жизни динамических объектов.
- •3) Операторы new и delete.
- •10. Inline – функции, шаблоны и перегрузка имен. Роль inline – функций и шаблонов. Объявление inline – функций и шаблонов. Ограничения связанные с inline – функциями.
- •Inline-функции
- •11. Перегрузка имен функций и понятие сигнатуры.
Операции увеличения (инкремента) и уменьшения (декремента)
Оператор ++(инкремент) увеличивает значение операнда на 1, а —(декремент) уменьшает на 1. Иными словами,
x = x+1;
можно записать как
++x;
Аналогично оператор
x = x-1;
равносилен оператору
x--;
Как инкремент, так и декремент могут предшествовать операнду (префиксная форма) или следовать за ним (постфиксная форма). Например
x = x+1;
можно записать как в виде
++x;
так и в виде
x++;
Однако префиксная и постфиксная формы отличаются при использовании их в выражениях. Например,
x = 10;
y = ++x;
присваивает у значение 11. Однако если написать
x = 10;
y = x++;
то переменной убудет присвоено значение 10. В обоих случаях х присвоено значение 11, разница только в том, когда именно это случилось, до или после присваивания значения переменной у.
Арифметические операции, в том числе целочисленные. c = a+b; /*сложение двух переменных*/ с = a-b; /*вычитание*/ c = a*b; /*умножение*/ c = a/b; /*деление*/ Представленные операции можно выполнять не только с переменными, но и с конкретными числами, например:
int a,b; a = 7; b = 2; int d = a/b; Аналогичные правила справедливы для всех арифметических операций.
Деление одного целого числа на другое.
int a = 13 % 5; Операция целочисленного деления % может быть реализована только для целых чисел и целочисленных переменных и не применима к другим типам данных.
x = 5;
y = 2;
printf("%d ", x/y); /* напечатает 2 */
printf("%d ", x%y); /* напечатает 1, остаток от целочисленного деления */
Выражения и порядок вычисления.
Выражения состоят из операторов, констант, функций и переменных. Выражением является любая правильная последовательность этих элементов.
Порядок вычислений
Сначала (то что в скобках), 2) логарифмирование, возведение в степень, экспонента (е^х), 3) *, /, 4) + -
4. Объявление функций, оператор return. Передача параметров. Параметры по умолчанию.
Объявление функций, оператор return.
Функции.
Функция – это законченная часть кода, к которому можно обратиться по имени, т.е. вызвать функцию. В момент вызова функция начинает выполняться. Общий вид:
тип имя (список параметров, которые мы функции будем передавать) {
тело функции (оперируем с этими параметрами)
return c;
}.
Пример функции:
int f(int a, int b) {
int c=a*b;
return c;
}
Параметры.
Параметры – это те же самые аргументы, которые принимают значения объявленных переменных. Они создаются при входе в функцию и уничтожаются при выходе из нее.
Параметрам можно присваивать значения или использовать в любых выражениях.
int f(int a, int b)
{
if(a==b) return 1;
else
return 0;
}
Функция f() имеет два параметра: a и b. Она возвращает 1, если символ a=b и 0 если нет.
Передача параметров. Передача параметров по значению и по ссылке.
В языках программирования существуют два способа передачи аргументов в подпрограмму: передача параметров по значению и по ссылке.
По умолчанию в языке С++ применяется передача по значению. Код, образующий тело функции, не может изменять аргументы, указанные при ее вызове. Параметру подпрограммы присваивается копия значения аргумента, и все изменения параметра никак не отражаются на аргументе.
int sqr(int x)
{
x=x*x;
return(x);
}
main()
{
int a=sqr(10);
cout<<a;
}
Передача параметров по ссылке.
Хотя в языке С++ по умолчанию применяется передача параметров по значению, их можно передавать и по ссылке. Для того, чтобы передать параметры по ссылке в функцию вместо аргумента нужно передать указатель на него. Поскольку функция получается адрес аргумента, ее код может изменять значение фактического аргумента вне функции.
Указатели передаются функции как обычные переменные.
При использовании этого метода параметру присваивается адрес аргумента. Внутри подпрограммы этот адрес открывает доступ к фактическому аргументу. Это значит, что все изменения, которым подвергается параметр, отражаются на аргументе.
int f(int &k){k*=2;return k; }
void main()
{ int y=3, k;
k=f(y);
cout<<y;
}
Оператор return.
Возвращает значение функции и возвращается в точку где вызывалась функция. Вид оператора:
return [выражение];
int f(int a, int b)
{ if(a==b) return 1; else return 0;
}
Параметры по умолчанию.
Пусть объявлена некоторая функция
float f(float a; float b=5; float c=0){}
тут параметры по умолчанию b и c.