Лекция 2. Фундаментальные типы данных и основные конструкции презентация

Содержание

Начнём с этих типов

Слайд 1Лекция 2. Фундаментальные типы данных и основные конструкции
Красс Александр
Alexander.Krass@gmail.com

СПбГУ ИТМО,

2008

Слайд 2Начнём с этих типов


Слайд 3true и false в C++
Любое число отличное от нуля – это

true.
Нуль – это false.



Слайд 4Модификаторы типов
unsigned
signed
long
short


Слайд 5Модификаторы типов (1/2)
unsigned
signed
long
short


Слайд 6Модификаторы типов (2/2)
Если явно не указано unsigned или signed, то всегда

предполагается signed.
Если указан модификатор типа, а тип опущен, то всегда предполагается int: unsigned i; // Обе строчки объявляют unsigned int j; // переменную типа // unsigned int

Слайд 7Примеры


Слайд 8Интегральные типы (1/2)
char
bool
short
int
long long



Слайд 9Интегральные типы (2/2)
Диапазоны многих типов платформозависимы. Можно быть уверенными только в

следующем соотношении: sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)



Слайд 10Вещественные типы (1/2)
float
double
long double




Слайд 11Вещественные типы (2/2)
sizeof (float)

нельзя применять модификаторы unsigned, signed и short. “



Слайд 12Подробнее о фундаментальных типах данных
Читаем в интернете (например, здесь http://msdn.microsoft.com/en-us/library/cc953fe1.aspx).


Слайд 13Оператор ветвления (1/3)
if (условие_1)
{
действия_1
}
[else if (условие_2)
{
действия_2
}]
[…]
[else
{
действия_n
}]


Слайд 14Оператор ветвления (2/3)
if (true)
{
cout


cout << “Не будет напечатано”;
}


Слайд 15Оператор ветвления (3/3)
if (25)
{
cout

cout << “Не будет напечатано”;
}


Слайд 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;
}

Слайд 17switch
switch ( expression )       
case constant-expression :

statement    
case constant-expression :
statement
   …
[default :
statement]

Слайд 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Эти фрагменты делают одно и то же (2/2)
switch(i)
{
case 3:
cout

<< "i == 3" << endl;
break;
case 0:
case 1:
case 2:
case 4:
case 5:
cout << "i >= 0 && i < 6 && i != 3 " << endl;
break;
default:
cout << "i >= 6" << endl;
}

Слайд 20Ещё один момент
switch(i)
{
case 5:
cout

endl;
cout << "Please, enter one more number: "
<< endl;
{
int j; // Из-за этой строчки и
cin >> j; // нужны “{}”. Иначе будет ошибка.
cout << "j == " << j << endl;
}
break;
default:
cout << "i >= 6" << endl;
}

Слайд 21while
while ( expression )       
statement


Слайд 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Пример использования 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Пример использования while (3/6)
void main()
{
unsigned int n = 0,

k = 1;
cin >> n;

while (n > 1)
{
k *= n;
n--;
}

cout << "n! = " << k << endl;
}

Слайд 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Пример использования 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Пример использования 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;
}

Слайд 28do-while
do       
statement       
while ( expression ) ;


Слайд 29Пример использования do-while
void main()
{
unsigned int n = 0, k

= 1;
cin >> n;

do
{
k *= n--;
} while (n > 1);

cout << "n! = " << k << endl;
}

Слайд 30for
for ( init-expression ;
cond-expression ;

loop-expression )
statement

Слайд 31Пример использования for
void main()
{
unsigned int n = 0, k

= 1;
cin >> n;

for (; n > 1; --n)
{
k *= n;
}

cout << "n! = " << k << endl;
}

Слайд 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Пример использования for
void main()
{
unsigned int n = 0, k

= 1;
cin >> n;

for (; n > 1; --n) // Правильно!
{ // "n! = 1"
k *= n;
}

cout << "n! = " << k << endl;
}

Слайд 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Пример использования for
for (int i = n; i > 1; --i)


{
k *= i;
}

сout << "i = "
<< i // Ошибка!
<< endl; // i уже не существует



Слайд 36Задание на дом
Мальчику Васе задали огромное задание по арифметике из-за того,

что он долго дёргал за косички дочку учительницы. Помогите ему! Задание состоит из неизвестного вам числа примеров вида: <вещественное число> <операция> <вещественное число. Например, 2 + 2.5, 7.5 * (-5), 1 / 7.
Виды операций: сложение, вычитание, умножение, деление, деление с остатком (%), возведение в степень (^).

Слайд 37Задание на дом
Замечание. Операнды и операция вводятся по одному.
Замечание. Действие ^

в C++ – это не возведение в степень.
Для продвинутых. Сделать контроль пользовательского ввода и дать возможность использовать результат предыдущего примера в текущем вместо первого аргумента.
Для ещё более продвинутых. Вместо любого из аргументов.

Слайд 38Как оформлять домашнее задание
Каждое задания нужно посылать в архиве с именем:

<Номер группы> <Фамилия Имя> <Номер лекции> <Номер задания на лекции>. Пример: 9999 Krass Alexander 2 1. Нумерация заданий начинается с единицы.
Внутри папка с таким же именем, а в ней файлы: *.vcproj, файлы с исходными кодами, во вложенной папке Debug *.exe файл с вашим приложением.

Слайд 39Cпасибо за внимание


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика