Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЕлизавета Изединова
1 Лекция 2. Фундаментальные типы данных и основные конструкции Красс Александр СПбГУ ИТМО, 2008
2 2 Начнём с этих типов Тип Размер в байтах Диапазон значений int double8 ±2.2E-308 (15 цифр) ±1.7E308 (15 цифр) bool1true или false char
3 3 true и false в C++ Любое число отличное от нуля – это true. Нуль – это false.
4 4 Модификаторы типов unsigned signed long short
5 5 Модификаторы типов (1/2) unsigned signed long short
6 6 Модификаторы типов (2/2) Если явно не указано unsigned или signed, то всегда предполагается signed. Если указан модификатор типа, а тип опущен, то всегда предполагается int: unsigned i; // Обе строчки объявляют unsigned int j; // переменную типа // unsigned int
7 7 Примеры Тип Размер в байтах Диапазон значений int unsigned int
8 8 Интегральные типы (1/2) char bool short int long
9 9 Интегральные типы (2/2) Диапазоны многих типов платформозависимы. Можно быть уверенными только в следующем соотношении: sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
10 10 Вещественные типы (1/2) float double long double
11 11 Вещественные типы (2/2) sizeof (float) <= sizeof(double) <= sizeof(long double) К вещественным типам нельзя применять модификаторы unsigned, signed и short.
12 12 Подробнее о фундаментальных типах данных Читаем в интернете (например, здесь us/library/cc953fe1.aspx).
13 13 Оператор ветвления (1/3) if (условие_1) { действия_1 } [else if (условие_2) { действия_2 }] […] [else { действия_n }]
14 14 Оператор ветвления (2/3) if (true) { cout << Будет напечатано; } if (false) { cout << Не будет напечатано; }
15 15 Оператор ветвления (3/3) if (25) { cout << Будет напечатано; } if (0) { cout << Не будет напечатано; }
16 16 Разберём фрагмент программы unsigned int i; cin >> i; if (i > 3) { cout << "The value is greater than 3" << endl; } else if (i == 4) { // Вместо этого выполнится случай, когда i > 3 } else { cout << "The value is lesser than 4" << endl; } 3 } else { cout << "The value is lesser than 4" << endl; }">
17 17 switch switch ( expression ) case constant-expression : statement case constant-expression : statement … [default : statement]
18 18 Эти фрагменты делают одно и то же (1/2) unsigned int i; cin >> i; if (i == 3) { // i == 3 } else if (i < 6) { // i >= 0 && i < 6 && i != 3 } else { // i >= 6 }
19 19 Эти фрагменты делают одно и то же (2/2) switch(i) { case 3: cout << "i == 3" << endl; break; case 0: case 1: case 2: case 4: case 5: cout = 0 && i < 6 && i != 3 " << endl; break; default: cout = 6" << endl; }
> j; // нужны {}. Иначе будет ошибка. cout << "j == " << j << endl; } break; default: cout = 6" " title="20 Ещё один момент switch(i) { case 5: cout << "i == 5" << endl; cout << "Please, enter one more number: " << endl; { int j; // Из-за этой строчки и cin >> j; // нужны {}. Иначе будет ошибка. cout << "j == " << j << endl; } break; default: cout = 6" " class="link_thumb"> 20 20 Ещё один момент switch(i) { case 5: cout << "i == 5" << endl; cout << "Please, enter one more number: " << endl; { int j; // Из-за этой строчки и cin >> j; // нужны {}. Иначе будет ошибка. cout << "j == " << j << endl; } break; default: cout = 6" << endl; } > j; // нужны {}. Иначе будет ошибка. cout << "j == " << j << endl; } break; default: cout = 6" "> > j; // нужны {}. Иначе будет ошибка. cout << "j == " << j << endl; } break; default: cout = 6" << endl; }"> > j; // нужны {}. Иначе будет ошибка. cout << "j == " << j << endl; } break; default: cout = 6" " title="20 Ещё один момент switch(i) { case 5: cout << "i == 5" << endl; cout << "Please, enter one more number: " << endl; { int j; // Из-за этой строчки и cin >> j; // нужны {}. Иначе будет ошибка. cout << "j == " << j << endl; } break; default: cout = 6" ">
21 21 while while ( expression ) statement
22 22 Пример использования while (1/6) void main() { unsigned int n = 0, k = 1; cin >> n; while (n > 1) { k = k * n; n = n - 1; } cout << "n! = " << k << endl; }
23 23 Пример использования while (2/6) void main() { unsigned int n = 0, k = 1; cin >> n; while (n > 1) { k *= n; n -= 1; } cout << "n! = " << k << endl; }
24 24 Пример использования while (3/6) void main() { unsigned int n = 0, k = 1; cin >> n; while (n > 1) { k *= n; n--; } cout << "n! = " << k << endl; }
25 25 Пример использования while (4/6) void main() { unsigned int n = 0, k = 1; cin >> n; while (n > 1) { k *= n; --n; // Так лучше. } cout << "n! = " << k << endl; }
26 26 Пример использования while (5/6) void main() { unsigned int n = 0, k = 1; cin >> n; while (n > 1) { k *= --n; // Ошибка! // n -= 1; } // k *= n; cout << "n! = " << k << endl; }
27 27 Пример использования while (6/6) void main() { unsigned int n = 0, k = 1; cin >> n; while (n > 1) { k *= n--; // Ok // k *= n; } // n -= 1; cout << "n! = " << k << endl; }
28 28 do-while do statement while ( expression ) ;
29 29 Пример использования do-while void main() { unsigned int n = 0, k = 1; cin >> n; do { k *= n--; } while (n > 1); cout << "n! = " << k << endl; }
30 30 for for ( init-expression ; cond-expression ; loop-expression ) statement
31 31 Пример использования for void main() { unsigned int n = 0, k = 1; cin >> n; for (; n > 1; --n) { k *= n; } cout << "n! = " << k << endl; }
32 32 Пример использования for void main() { unsigned int n = 0, k = 1; cin >> n; for (; n > 1; --n) // Что выведется на { // Экран, если k *= n; // пользователь } // введёт n == 0? cout << "n! = " << k << endl; }
33 33 Пример использования for void main() { unsigned int n = 0, k = 1; cin >> n; for (; n > 1; --n) // Правильно! { // "n! = 1" k *= n; } cout << "n! = " << k << endl; }
34 34 Пример использования for void main() { unsigned int n = 0, k = 1; cin >> n; for (int i = n; i > 1; --i) { k *= i; } cout << "n! = " << k << endl; }
35 35 Пример использования for for (int i = n; i > 1; --i) { k *= i; } сout << "i = " << i // Ошибка! << endl; // i уже не существует
36 36 Задание на дом Мальчику Васе задали огромное задание по арифметике из-за того, что он долго дёргал за косички дочку учительницы. Помогите ему! Задание состоит из неизвестного вам числа примеров вида: <вещественное число. Например, , 7.5 * (-5), 1 / 7. Виды операций: сложение, вычитание, умножение, деление, деление с остатком (%), возведение в степень (^).
37 37 Задание на дом Замечание. Операнды и операция вводятся по одному. Замечание. Действие ^ в C++ – это не возведение в степень. Для продвинутых. Сделать контроль пользовательского ввода и дать возможность использовать результат предыдущего примера в текущем вместо первого аргумента. Для ещё более продвинутых. Вместо любого из аргументов.
38 38 Как оформлять домашнее задание Каждое задания нужно посылать в архиве с именем:. Пример: 9999 Krass Alexander 2 1. Нумерация заданий начинается с единицы. Внутри папка с таким же именем, а в ней файлы: *.vcproj, файлы с исходными кодами, во вложенной папке Debug *.exe файл с вашим приложением.
39 39 Cпасибо за внимание
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.