Операторы С++

Содержание

Слайд 2

Типы данных в Си++

В Си++ определено 6 простых типов данных:
int (целый)
char (символьный)
wchar_t

Типы данных в Си++ В Си++ определено 6 простых типов данных: int
(расширенный символьный)
(число=мантисса х 10к )
bool (логический)
float(вещественный)
double (вещественный с двойной точностью)

 
Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон стандартных типов
short (короткий)
long (длинный)
signed (знаковый)
unsigned (беззнаковый)

Слайд 3

Знаки операций в Си++

Знаки операций в Си++

Слайд 4

Операции присваивания
=, +=, -=, *= и т.д.
Формат операции простого присваивания:
операнд1=операнд2

Условная операция.
Выражение1 ?

Операции присваивания =, +=, -=, *= и т.д. Формат операции простого присваивания:
Выражение2 : Выражение3;
Первым вычисляется значение выражения1. Если оно истинно, то вычисляется значение выражения2, которое становится результатом. Если при вычислении выражения1 получится 0, то в качестве результата берется значение выражения3.
Например:
x<0 ? -x : x ; //вычисляется абсолютное значение x.

Операции в СИ++

Слайд 5

Ввод и вывод данных

В языке Си++ нет встроенных средств ввода и

Ввод и вывод данных В языке Си++ нет встроенных средств ввода и
вывода – он осуществляется с помощью функций, типов и объектов, которые находятся в стандартных библиотеках. Существует два основных способа: функции унаследованные из Си и объекты Си++.

Для ввода/вывода данных в стиле Си используются функции, которые описываются в библиотечном файле stdio.h.
1) printf ( форматная строка, список аргументов);

printf ( “Значение числа Пи равно %f\n”, pi);

Форматная строка может содержать
1)   символы печатаемые текстуально;
2)   спецификации преобразования;
3)   управляющие символы.

Слайд 6

Каждому аргументу соответствует своя спецификация преобразования:
%d, %i - десятичное целое число;
%f -

Каждому аргументу соответствует своя спецификация преобразования: %d, %i - десятичное целое число;
число с плавающей точкой;
%e,%E – число с плавающей точкой в экспоненциальной форме;
%u – десятичное число в беззнаковой форме;
%c - символ;
%s - строка.

В форматную строку также могут входить управляющие символы:
\n - управляющий символ новая строка;
\t – табуляция;
\a – звуковой сигнал и др.

Слайд 7

Модификаторы формата.
%[-]m[.p]C, где
-   - задает выравнивание по левому краю,
m – минимальная ширина

Модификаторы формата. %[-]m[.p]C, где - - задает выравнивание по левому краю, m
поля,
p – количество цифр после запятой для чисел с плавающей точкой и минимальное количество выводимых цифр для целых чисел (если цифр в числе меньше, чем значение р, то выводятся начальные нули),
С- спецификация формата вывода.

Слайд 8

Пример
printf("\nСпецификации формата:\n%10.5d - целое,\n%10.5f - с плавающей точкой\
\n%10.5e – в экспоненциальной форме\n%10s

Пример printf("\nСпецификации формата:\n%10.5d - целое,\n%10.5f - с плавающей точкой\ \n%10.5e – в
- строка",10,10.0,10.0,"10");
Будет выведено:
Спецификации формата:
00010 – целое
10.00000 – с плавающей точкой
1.00000е+001 - в экспоненциальной форме
10 – строка.

Слайд 9

2) scanf ( форматная строка, список аргументов);

В качестве аргументов используются адреса переменных.

2) scanf ( форматная строка, список аргументов); В качестве аргументов используются адреса
Например:
scanf(“ %d%f ”, &x,&y);
При использовании библиотеки классов Си++, Используется библиотечный файл iostream.h, в котором определены стандартные потоки ввода данных от клавиатуры cin и вывода данных на экран дисплея cout, а также соответствующие операции
1) << - операция записи данных в поток;
2) >> - операция чтения данных из потока.
Например:
#include ;
. . . . . . . . .
cout << “\nВведите количество элементов: ”;
cin >> n;

Слайд 10

Оператор «выражение»
Примеры:
i++;
a+=2;
x=a+b;

Оператор «выражение» Примеры: i++; a+=2; x=a+b;

Слайд 11

Составные операторы

Это последовательность операторов, заключенная в фигурные скобки. Блок отличается от составного

Составные операторы Это последовательность операторов, заключенная в фигурные скобки. Блок отличается от
оператора наличием определений в теле блока.

{
n++; это составной оператор
summa+=n;
}
{
int n=0;
n++; это блок
summa+=n;
}

Слайд 12

Операторы выбора

Операторы выбора - это условный оператор и переключатель.

if (выраж-условие

Операторы выбора Операторы выбора - это условный оператор и переключатель. if (выраж-условие
) оператор; //сокращенная форма

if ( выраж-условие ) оператор1;else оператор2; //полная форма

if (d>=0)
{
x1=(-b-sqrt(d))/(2*a);
x2=(-b+sqrt(d))/(2*a);
cout<< “\nx1=”<}
else cout<<“\nРешения нет”;

Слайд 13

Переключатель определяет множественный выбор.

switch (выражение)
{
case константа1 : оператор1 ;
case константа2 :

Переключатель определяет множественный выбор. switch (выражение) { case константа1 : оператор1 ;
оператор2 ;
. . . . . . . . . . .
[default: операторы;]
}

Слайд 14

Пример:
#include
void main()
{
int i;
cout<<"\nEnter the number";
cin>>i;
switch(i)
{
case 1:cout<<"\nthe number is one";
case 2:cout<<"\n2*2="< case 3:

Пример: #include void main() { int i; cout cin>>i; switch(i) { case
cout<<"\n3*3="< case 4: cout<<"\n"< default:cout<<"\nThe end of work";
}
}

Слайд 15

Операторы циклов

1. Цикл с предусловием:
while (выражение-условие) оператор;

Пример
while (a!=0)
{
cin>>a;
s+=a;
}

Операторы циклов 1. Цикл с предусловием: while (выражение-условие) оператор; Пример while (a!=0) { cin>>a; s+=a; }

Слайд 16

2. Цикл с постусловием:
do
оператор
while (выражение-условие);

Пример:
do
{
cin>>a;
s+=a;
}
while(a!=0);

Тело цикла выполняется до тех пор, пока выражение-условие

2. Цикл с постусловием: do оператор while (выражение-условие); Пример: do { cin>>a;
истинно.

Слайд 17

3. Цикл с параметром:
for ( выражение_1;выражение-условие;выражение_3)
оператор;

3. Цикл с параметром: for ( выражение_1;выражение-условие;выражение_3) оператор;

Слайд 18

Примеры использования цикла с параметром.
1) Уменьшение параметра:
for ( n=10; n>0; n--)
{

Примеры использования цикла с параметром. 1) Уменьшение параметра: for ( n=10; n>0;
оператор};
2) Изменение шага корректировки:
for ( n=2; n>60; n+=13)
{ оператор };
3) Возможность проверять условие отличное от условия, которое налагается на число итераций:
for ( num=1;num*num*num<216; num++)
{ оператор };
4) Коррекция может осуществляться не только с помощью сложения или вычитания:
for ( d=100.0; d<150.0;d*=1.1)
{ <тело цикла>};
for (x=1;y<=75;y=5*(x++)+10)
{ оператор };
5) Можно использовать несколько инициализирующих или корректирующих выражений:
for (x=1, y=0; x<10;x++;y+=x);

Слайд 19

Операторы перехода
Операторы перехода выполняют безусловную передачу управления.

1) break - оператор прерывания цикла.
{
<

Операторы перехода Операторы перехода выполняют безусловную передачу управления. 1) break - оператор
операторы>
if (<выражение_условие>) break;
<операторы>
}

Слайд 20

Пример:
// ищет сумму чисел вводимых с клавиатуры до тех пор, пока не

Пример: // ищет сумму чисел вводимых с клавиатуры до тех пор, пока
будет введено 100 чисел или 0
for(s=0, i=1; i<100;i++)
{
cin>>x;
if( x==0) break; // если ввели 0, то суммирование заканчивается
s+=x;
}

Слайд 21

2) continue - переход к следующей итерации цикла. Он используется, когда тело

2) continue - переход к следующей итерации цикла. Он используется, когда тело
цикла содержит ветвления.

Пример:
//ищет количество и сумму положительных чисел
for( k=0,s=0,x=1;x!=0;)
{
cin>>x;
if (x<=0) continue;
k++;s+=x;
}

Слайд 22

2) Оператор goto
Оператор goto имеет формат:
goto метка;

3) Оператор return – оператор возврата

2) Оператор goto Оператор goto имеет формат: goto метка; 3) Оператор return
из функции. Он всегда завершает выполнение функции и передает управление в точку ее вызова. Вид оператора:
return [выражение];

Слайд 23

Массивы

int a[100]; //массив из 100 элементов целого типа
Операция sizeof(a) даст результат 400,

Массивы int a[100]; //массив из 100 элементов целого типа Операция sizeof(a) даст
т. е.100 элементов по 4 байта. Элементы массива всегда нумеруются с 0.

a[0] – индекс задается как константа,
a[55] – индекс задается как константа,
a[I] – индекс задается как переменная,
a[2*I] – индекс задается как выражение.
Элементы массива можно задавать при его определении:
int a[10]={1,2,3,4,5,6,7,8,9,10} ;
Операция sizeof(a) даст результат 40, т. е.10 элементов по 4 байта.

Слайд 24

int a[10]={1,2,3,4,5};
Операция sizeof(a) даст результат 40, т. е.10 элементов по 4 байта.

int a[10]={1,2,3,4,5}; Операция sizeof(a) даст результат 40, т. е.10 элементов по 4
Если количество начальных значений меньше, чем объявленная длина массива, то начальные значения элементы массива получат только первые элементы.
int a[]={1,2,3,4,5};
Операция sizeof(a) даст результат 20, т. е.5 элементов по 4 байта. Длин массива вычисляется компилятором по количеству значений, перечисленных при инициализации.

Слайд 25

Использование датчика случайных чисел для формирования массива.

В Си++ есть функция
int rand()

Использование датчика случайных чисел для формирования массива. В Си++ есть функция int
– возвращает псевдослучайное число из диапазона 0..RAND_MAX=32767, описание функции находится в файле .

Слайд 26

Пример формирования и печати массива с помощью ДСЧ:
#include
#include
void main()
{
int a[100];
int n;
cout<<”\nEnter the

Пример формирования и печати массива с помощью ДСЧ: #include #include void main()
size of array:”;cin>>n;
for(int I=0;I{a[I]=rand()%100-50;
cout<}
}

Слайд 27

Задача 1Найти максимальный элемент массива.
#include
#include
void main()
{
int a[100];
int n;
cout<<”\nEnter the size of array:”;cin>>n;
for(int

Задача 1Найти максимальный элемент массива. #include #include void main() { int a[100];
I=0;I{a[I]=rand()%100-50;
cout<}
int max=a[0];
for(I=1;Iif (a[I]>max)max=a[I];
cout<<”\nMax=”<}

Слайд 28

Указатели

Программист может определить собственные переменные для хранения адресов областей памяти. Такие

Указатели Программист может определить собственные переменные для хранения адресов областей памяти. Такие
переменные называются указателями.
Указатель не является самостоятельным типом, он всегда связан с каким-то другим типом.

Слайд 29

Указатели делятся на две категории: указатели на объекты и указатели на функции.

Указатели делятся на две категории: указатели на объекты и указатели на функции.

Указатели на объекты хранят адрес области памяти, содержащей данные определенного типа .

В простейшем случае объявление указателя имеет вид:
тип *имя;
Тип может быть любым, кроме ссылки.

Примеры:
int *i;
double *f, *ff;
char *c;

Слайд 30

Можно определить указатель на указатель: int**a;

Указатель может быть константой или переменной, а

Можно определить указатель на указатель: int**a; Указатель может быть константой или переменной,
также указывать на константу или переменную.
Примеры:
1. int i; //целая переменная
const int ci=1; //целая константа
int *pi; //указатель на целую переменную
const int *pci; //указатель на целую константу
Указатель можно сразу проинициализировать:
int *pi=&i; //указатель на целую переменную
const int *pci=&ci; //указатель на целую константу
2.int*const cpi=&i; //указатель-константа на целую переменную
const int* const cpc=&ci; //указатель-константа на целую константу

Слайд 31

Если модификатор const относится к указателю (т. е. находится между именем указателя

Если модификатор const относится к указателю (т. е. находится между именем указателя
и * ), то он запрещает изменение указателя, а если он находится слева от типа (т. е. слева от * ), то он запрещает изменение значения, на которое указывает указатель.

Присваивание адреса существующего объекта:
1) с помощью операции получения адреса
int a=5;
int *p=&a; или int p(&a);
2) с помощью проинициализированного указателя
int *r=p;

Слайд 32

Динамические переменные

Для создания динамических переменных используют операцию new, определенную в СИ++:
указатель

Динамические переменные Для создания динамических переменных используют операцию new, определенную в СИ++:
= new имя_типа[инициализатор];
где инициализатор – выражение в круглых скобках.

Например:
int*x=new int(5);

Для удаления динамических переменных используется операция delete, определенная в СИ++:
delete указатель;

Например:
delete x;

В языке Си определены библиотечные функции для работы с динамической памятью, они находятся в библиотеке :

Имя файла: Операторы-С++.pptx
Количество просмотров: 224
Количество скачиваний: 0