
- •Поддержка модульности. Функции, параметры, передача параметров. Область видимости и область существования. Встроенные и собственные типы данных. Структура программы.
- •Директивы препроцессора. Имена. Объявление констант и переменных. Оператор присваивания.
- •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. Перегрузка имен функций и понятие сигнатуры.
Поддержка модульности. Функции, параметры, передача параметров. Область видимости и область существования. Встроенные и собственные типы данных. Структура программы.
Поддержка модульности. Модуль - это файл с расширением .h (заголовочные файлы) который мы сами создаём в нашей программе или базовый файл (т.е. он уже встроен в c++ - это например модуль math), или .cpp – заполняемые файлы(исходники). Если модуль написан в таких скобка <>, то это встроенный модуль, а если в кавычках " ", то это модуль который создали мы.
Функции.
Функция – это законченная часть кода, к которому можно обратиться по имени, т.е. вызвать функцию. В момент вызова функция начинает выполняться. Общий вид:
тип имя (список параметров, которые мы функции будем передавать) {
тело функции (оперируем с этими параметрами)
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 если нет.
Передача параметров. Передача параметров по значению и по ссылке.
В языках программирования существуют два способа передачи аргументов в подпрограмму: передача параметров по значению и по ссылке. По умолчанию в языке С++ применяется передача по значению. Код, образующий тело функции, не может изменять аргументы, указанные при ее вызове. Параметру подпрограммы присваивается копия значения аргумента, и все изменения параметра никак не отражаются на аргументе.
#include "stdafx.h"
#include <iostream>
using namespace std;
int sqr(int x)
{
x=x*x;
return(x);
}
main()
{
int a=sqr(10);
cout<<a;
}
Передача параметров по ссылке.
Для того, чтобы передать параметры по ссылке в функцию вместо аргумента нужно передать указатель на него. Поскольку функция получается адрес аргумента, ее код может изменять значение фактического аргумента вне функции. Указатели передаются функции как обычные переменные.
При использовании этого метода параметру присваивается адрес аргумента. Внутри подпрограммы этот адрес открывает доступ к фактическому аргументу. Это значит, что все изменения, которым подвергается параметр, отражаются на аргументе.
#include "stdafx.h"
#include <iostream>
using namespace std;
int f(int &k){k*=2;return k;}
void main(){int y=3, k;
k=f(y);
cout<<y;
}
Область видимость и область существования.
Глобальные и локальные переменные.
достаточно различать две области видимости - глобальную и локальную.
Глобальная область видимости существует вне всех других областей. Имя, объявленное в глобальной области, известно всей программе. Например, глобальная переменная доступна для использования всеми функциями в программе. Глобальные переменные существуют на протяжении всего жизненного цикла программы.
Локальная область видимости определяется границами блока, т.е. начинается с открывающей фигурной скобки ({) и оканчивается закрывающей фигурной скобкой (}). Имя, объявленное в локальной области, известно только внутри этой области. Самой распространенной локальной областью является область, определенная функцией. Локальные переменные создаются при входе в их блок, а разрушаются при выходе из блока. Это означает, что их значения не хранятся между вызовами функций. Чтобы сохранить значения переменных между вызовами, можно использовать модификатор static.
Пример
void f(int a)
{
int a;
a = 10;
int b;
....
}
Глобальная переменная должна быть объявлена вне всех функций, включая main(). Глобальные переменные, как правило, размещаются в начале файла перед функцией main(), т.к. переменная должна быть объявлена до ее использования; кроме того, размещение глобальных переменных в определенном месте облегчает чтение программы.
Формальные параметры функции также являются локальными переменными, и их можно использовать не только как средство для получения значений аргументов при вызове функции, но и как локальные переменные.
Встроенные и собственные типы данных.
int float double char bool – встроенные типы данных(*,/,-,+)
Элементарные типы данных часто называют арифметическими, поскольку их можно использовать в арифметических операциях таких как + - / *. Для их описания определены следующие ключевые слова:
bool (логический);
char (символьный);
int (целый);
float (вещественный);
double (вещественный с двойной точностью).
Первые три типа называют интегральными (целыми), последние два - типами с плавающей точкой.
Массивы, классы, структуры – собственные типы данных.
Структура программы.
директивы препроцессора
описания (либо глобальные переменные, либо функции)
int main() {
операторы главной функции
}
#include "stdafx.h"
#include <iostream> //библиотека ввода-вывода
#include <conio.h> //задержка экрана в конце программы
using namespace std; //работа с переменными
int a, b, c;
int main()
{
cin >> a >> b; // операция ввода
c = (a * b)* a;
cout << c; //вывод полученного значения}