- •Простые типы данных и операции над данными. Приведение типов.
- •Void - пустой тип, используется для создания указателей и указания того, что функция не возвращает значений;
- •Выражения сравнения и логические операции.
- •Операторы инкремента и декремента.
- •Составные типы данных: массивы и строки.
- •Составные типы данных: структуры, указатели на структуры.
- •Указатель на тип void и методы работы с ним.
- •Составные типы данных: структуры и объединения.
- •Условные операторы.
- •If (выражение) инструкция1;
- •If (выражение)
- •If (выражение) инструкция1;
- •Циклы, виды циклов. Вложенные циклы. Алгоритмизация циклических процессов.
- •Пользовательские функции, прототипы.
- •14. Указатели и ссылки. Ссылочные переменные.
- •Перегрузка функций.
- •Передача параметров в функцию и вызов функции.
- •1. Вызов функции.
- •2. О аргументах и параметрах
- •Передача указателей и массивов в качестве аргументов функций.
- •Использование указателя для обеспечения вызова по ссылке. Ссылочные параметры.
- •Стек и динамическая память.
- •Простые типы данных и операции над данными. Приведение типов. Константы, квалификатор const.
- •Указатели и динамическое распределение памяти.
Условные операторы.
Условный оператор имеет следующий вид:
первая форма:
If (выражение) инструкция1;
else инструкция2;
#include<iostream>
int main()
{
float x,y,z;
std::cout << "Enter x, please:" << std::endl;
std::cin >> x;
std::cout << "Enter y, please:" << std::endl;
std::cin >> y;
if (y==0)
{
std::cerr << "y should not be zero!" << std::endl;
}
z=x/y;
std::cout << "z= " << z << std::endl;
return 0;
}
If (выражение)
{последовательность инструкций 1};
else
{последовательность инструкций 2};
#include<iostream>
int main()
{
int somenumber = 7;
std::cout << "Enter number, please:" << std::endl;
int number;
std::cin >> number;
if (number > somenumber)
{
std::cout << "Your number more than " << somenumber << std::endl;
}
else
{
std::cout << "Your number less than " << somenumber
<< " or equal to it" << std::endl;
}
return 0;
}
вторая форма:
If (выражение) инструкция1;
else if (выражение) инструкция2;
…
else
инструкция;
#include<iostream>
int main()
{
int somenumber = 7;
std::cout << "Enter number, please:" << std::endl;
int number;
std::cin >> number;
if (number > somenumber)
{
std::cout << "Your number more than " << somenumber << std::endl;
}
else if (number < somenumber)
{
std::cout << "Your number less than " << somenumber << std::endl;
}
else
{
std::cout << "Congratulations! Your number is equal to " << somenumber << std::endl;
}
return 0;
}
Выражение в скобках является условием. Если его значение не равно 0 (истинно), то выполняется оператор инструкция1, в противном случае выполняется оператор инструкция2 (для первой формы оператора) или очередной оператор программы (для второй формы). Если условный оператор содержит другие условные операторы, то слово else соотносится с ближайшим ключевым словом if, еще не связанным ни с каким ключевым словом else.
Приведем пример следующего вычисления:
Y={x*x+x*x*x, если х>1
2, если 0<=х<=1
2-*х*х, если х<0}
Реализация его с помощью условного оператора:
#include<iostream>
int main()
{
float y,x;
std::cout << "Enter x, please:" << std::endl;
std::cin >> x;
if (x >= 1)
{
y = x*x*x+x*x;
}
else if ((x > 0)&&(x<1))
{
y = 2;
}
else
{ y = 2-x*x; }
std::cout << "y= " << y << std::endl;
return 0;
}
#include<iostream>
int main()
{
float y,x;
std::cout << "Enter x, please:" << std::endl;
std::cin >> x;
if (x > 0)
{
if (x>=1)
{ y = x*x*x+x*x; }
else
{ y=2; }
}
else
{ y = 2-x*x; }
std::cout << "y= " << y << std::endl;
return 0;
}
Левыми отступами строк текста программы подчеркиваются особенности ее структуры, хотя этого не требует синтаксис C++ (формат исходного текста совершенно произволен).
Инструкция switch
Инструкция выбора обеспечивает многонаправленное ветвление.
switch (выражение)
{ case константаl:
последовательность инструкций;
case константа2:
последовательность инструкций;
...
default:
последовательность инструкций;
}
где выражение — целочисленное или символьное выражение, константаl и т.д. — константные выражения одного типа, последовательность инструкций - произвольные последовательности операторов. Управляющая конструкция switch передает управление тому из помеченных с помощью case операторов, для которого значение константного выражения совпадает со значением выражения (при этом тип константных выражений автоматически приводится к типу выражения выражение). Некоторые последовательности операторов могут быть пустыми, тогда соответствующая метка будет относиться к следующей последовательности. Таким образом, несколькими метками при желании можно пометить одну и ту же последовательность операторов.
Если значение выражение не совпадает ни с одним из константных выражений, то происходит переход к оператору, помеченному меткой default. Таких меток внутри переключателя должно быть не более одной. Причем в случае ее отсутствия предполагается, что никаких действий по умолчанию (при несовпадении выражение с константными выражениями) не предусмотрено и ни один из внутренних операторов не выполняется.
Пример:
#include<iostream>
int main()
{
char x;
std::cout << "Enter x, please:" << std::endl;
std::cin >> x;
switch (x)
{
case 'A':
std::cout << "A have been chosen! " << std::endl;
break;
case 'B':
std::cout << "B have been chosen! " << std::endl;
break;
case 'C':
std::cout << "C have been chosen! " << std::endl;
break;
default:
std::cout << "You should choose between A, B, and C!" << std::endl;
}
return 0;
}