Презентация на тему "Простейшие программы на языке С++"

Презентация: Простейшие программы на языке С++
1 из 27
Ваша оценка презентации
Оцените презентацию по шкале от 1 до 5 баллов
  • 1
  • 2
  • 3
  • 4
  • 5
2.1
4 оценки

Комментарии

Нет комментариев для данной презентации

Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.


Добавить свой комментарий

Аннотация к презентации

Скачать презентацию (0.2 Мб). Тема: "Простейшие программы на языке С++". Предмет: информатика. 27 слайдов. Для студентов. Добавлена в 2016 году. Средняя оценка: 2.1 балла из 5.

Содержание

  • Презентация: Простейшие программы на языке С++
    Слайд 1

    Курс «С++. Программирование на языке высокого уровня»

    ©Павловская Т.А. Язык С++ Павловская Т.А.

  • Слайд 2

    Лекция 2. Простейшие программы

    ©Павловская Т.А. Язык С++ Структура простейшей программы, переменные, операции, выражения, преобразования базовых типов, вводные замечания о средствах ввода-вывода, особенности вывода кириллицы в консольное окно.

  • Слайд 3

    Описаниеидентификаторов

    ©Павловская Т.А. (СПбГУ ИТМО) [класс памяти] [const] тип имя[инициализатор]; инициализатор:= значение или( значение ) short int a = 1; const char C = 'C'; char s, sf = 'f'; char t (54); float c = 0.22, x(3), sum; Примеры описаний:

  • Слайд 4

    Область видимости

    ©Павловская Т.А. (СПбГУ ИТМО) Каждый идентификатор имеет область действия (potential scope) и область видимости (scope), которые, как правило, совпадают (кроме случая описания такого же имени во вложенном блоке). Область видимости начинается в точке описания. const int i = 2; { int i[i]; } Имя, описанное внутри блока, локально по отношению к этому блоку. Имя, описанное вне любого блока, имеет глобальную область видимости. Область действия и класс памяти зависят не только от собственно описания, но и от места его размещения в тексте программы.

  • Слайд 5

    Класс памяти

    ©Павловская Т.А. (СПбГУ ИТМО) auto— автоматическая переменная. Память выделяется в стеке и при необходимости инициализируется каждый раз при выполнении оператора, содержащего ее определение. Освобождение памяти - при выходе из блока extern —переменная определяется в другом месте программы. static—статическая переменная. Время жизни — постоянное. Инициализируется один раз при первом выполнении оператора, содержащего определение переменной. В зависимости от расположения оператора описания статические переменные могут быть глобальными и локальными. register — аналогично auto, но память выделяется по возможности в регистрах процессора.

  • Слайд 6

    Область видимости. Пример 1

    ©Павловская Т.А. (СПбГУ ИТМО) int a; // 1 main(){ int b; // 2 extern int x; // 3 static int c; // 4 a = 1; // 5 int a; // 6 a = 2; // 7 ::a = 3; // 8 } int x = 4; // 9

  • Слайд 7

    Область видимости. Пример 2

    ©Павловская Т.А. (СПбГУ ИТМО) int a; // глобальная переменная int main(){ int b; // локальная переменная static int c = 1; // локальная статическая переменная }

  • Слайд 8

    Области действия

    ©Павловская Т.А. (СПбГУ ИТМО) блок файл функция прототип функции класс поименованная область

  • Слайд 9

    Пространства имен

    ©Павловская Т.А. (СПбГУ ИТМО) В каждой области действия различают пространства имен, в пределах которых идентификатор должен быть уникальным. В разных категориях имена могут совпадать, например: struct Node{ int Node; int i; }Node; В С++ определено четыре раздельных класса идентификаторов, в пределах которых имя должно быть уникальным: 1. имена переменных, функций, типов typedef и констант перечислений; 2. имена типов перечислений, структур, классов и объединений; 3. элементы каждой структуры, класса и объединения; 4. метки.

  • Слайд 10

    Пример 1 - простейшая программа

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ int i; printf("Введите целое число\n"); scanf("%d", &i); printf("Вы ввели число %d, спасибо!", i); } #include using namespace std; int main(){ int i; printf("Введите целое число\n"); scanf("%d", &i); printf("Вы ввели число %d, спасибо!", i); }

  • Слайд 11

    Пример 2 - целые форматы

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ int int1 = 45, int2 = 13; printf("int1 = %d| int2 = %3d| int2 = %-4d|\n", int1, int2, int2); printf("int1 = %X| int2 = %3x| int2 = %4o|\n", int1, int2, int2); } int1 = 45| int2 = 13| int2 = 13 | int1 = 2D| int2 = d| int2 = 15|

  • Слайд 12

    Пример 3 - вещественные форматы

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ float f = 3.621; double dbl = 2.23; printf("f = %f| f = %4.2f| f = %6.1f|\n", f, f, f); printf("f = %g| f = %e| f = %+E|\n", f, f, f); printf("dbl = %5.2lf| dbl = %e| dbl = %4.1G|\n", dbl, dbl, dbl); } f = 3.621000| f = 3.62| f = 3.6| f = 3.621| f = 3.621000e+000| f = +3.621000E+000| dbl = 2.23| dbl = 2.230000e+000| dbl = 2|

  • Слайд 13

    Пример 4 - форматы символов и строк

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ char ch = 'z', *str = "ramambahari"; printf("ch = %c| ch = %3c|\n", ch, ch); printf("str = %14s|\nstr = %-14s|\nstr = %s|\n", str, str, str); } ch = z| ch = z| str = ramambahari| str = ramambahari | str = ramambahari|

  • Слайд 14

    Пример 5 - классы ввода-вывода

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ int i; cout > i; cout using namespace std; int main(){ int i; cout > i; cout

  • Слайд 15

    Операции С++ (не все!)

    ©Павловская Т.А. (СПбГУ ИТМО) Унарные операции ++ – – sizeof ~ ! – + & * new delete (type) Бинарные операции * / % + – > >= == != & ^ | && || = *= /= %= += –= >= &= |= ^= throw , Тернарная операция ? :

  • Слайд 16

    Приоритеты операций

    ©Павловская Т.А. (СПбГУ ИТМО)

  • Слайд 17

    ©Павловская Т.А. (СПбГУ ИТМО)

  • Слайд 18

    ©Павловская Т.А. (СПбГУ ИТМО)

  • Слайд 19

    ©Павловская Т.А. (СПбГУ ИТМО)

  • Слайд 20

    ©Павловская Т.А. (СПбГУ ИТМО) Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Если в одном выражении записано несколько операций одинакового приоритета, унарные операции, условная операция и операции присваивания выполняются справа налево, остальные — слева направо.

  • Слайд 21

    Операции инкремента и декремента

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ int x = 3, y = 3; printf("Значение префиксного выражения: %d\n", ++x); printf("Значение постфиксного выражения: %d\n", y++); } Результат работы программы: Значение префиксного выражения: 4 Значение постфиксного выражения: 3

  • Слайд 22

    Операция sizeof

    ©Павловская Т.А. (СПбГУ ИТМО) sizeof выражение sizeof ( тип ) #include int main(){ float x = 1; cout

  • Слайд 23

    Поразрядные операции

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ cout

  • Слайд 24

    Операции деленияи остатка от деления

    ©Павловская Т.А. (СПбГУ ИТМО) #include int main(){ int x = 11, y = 4; float z = 4; printf(" %d %f\n", x/y, x/z); printf("Остаток: %d\n", x%y); } 2 2.750000 Остаток: 3

  • Слайд 25

    ©Павловская Т.А. (СПбГУ ИТМО) a = b = c означает a = (b = c) a + b + c означает (a + b) + c (sin(x + 2) + cos(y + 1)) i = (i

  • Слайд 26

    Преобразования типов

    ©Павловская Т.А. (СПбГУ ИТМО) изменяющие внутреннее представление величин (с потерей точности или без потери точности); изменяющие только интерпретацию внутреннего представления. Явные преобразования типа: const_cast dynamic_cast reinterpret_cast static_cast приведение в стиле С: (имя_типа)выражение

  • Слайд 27

    Правила преобразования типов

    ©Павловская Т.А. (СПбГУ ИТМО) Операнды char, unsigned char или short преобразуются к int по правилам: char расширяется нулем или знаком в зависимости от умолчания для char; unsigned char расширяется нулем; signed char расширяется знаком; short, unsigned short и enumпри преобразовании не изменяются. Затем любые два операнда становятся int, или float, double или long double. Если один из операндов имеет тип long double, то другой преобразуется к типу long double. Если один из операндов double, другой преобразуется к double. Если один из операндов float, другой преобразуется к float. Иначе, если один из операндов unsigned long, другой преобразуется к unsigned long. Иначе, если один из операндов long, то другой преобразуется к long. Иначе, если один из операндов unsigned, другой преобразуется к unsigned. Иначе оба операнда должны иметь тип int. Тип результата тот же, что и тип участвующих в выражении операндов.

Посмотреть все слайды

Сообщить об ошибке