©ρŧą Базовые конструкции языка.

Презентация:



Advertisements
Похожие презентации
©Павловская Т.А. Язык С++ Курс «С++. Программирование на языке высокого уровня» Павловская Т.А.
Advertisements

Лекция 3 Основные операции Базовые управляющие конструкции.
Лекция 1 по дисциплине «Программные средства математических расчетов» тема: «Основы языка С++» гр. 8Е31 Мамонова Татьяна Егоровна
Введение в C++ Урок 1-2.
Выражения языка Си(ч.2). Операции Лекция 3. Основные классы операций арифметические логические поразрядные операции сравнения.
Язык программирования Си Приведение типов, операции Потоковый ввод-вывод Югов Иван Олегович МОУ Гимназия 10, г. Тверь.
Операторы языка с++. Операторы в языке C++ предназначены для описания действий. Любой оператор может быть помечен меткой. Операторы отделяются друг от.
УКАЗАТЕЛИ. Переменная - это именованная область памяти с заданным типом. [=значение]; int a; //Переменная типа integer с именем a int b=2;// Переменная.
1 ©Павловская Т.А. Язык С# Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Теоретические основы программирования на JavaScript.
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Лекция 2 Введение в язык Си.
Операторы языка Си Лекция 5.
Инструкции C++ Условная инструкция Формат: if (условие) оператор; else оператор; Пример: if (i!=0) { if (j) j++; if(k) k++; else if(p) k--; } else i--;
Разработка программного обеспечения для сигнальных процессоров TMS320C64xx в IDE Code Composer Studio Часть II. Язык программирования С. Основные понятия.
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Лекция 2. Фундаментальные типы данных и основные конструкции Красс Александр СПбГУ ИТМО, 2008.
Переменная l. Определение Переменная - именованное место в памяти, в котором можно хранить некоторое значение.
Элементы языка СИ Средства для написания простейших программ.
Транксрипт:

©ρŧą Базовые конструкции языка

©ρŧą #include int main(){ int i; printf("Введите целое число\n"); scanf("%d", &i); printf("Вы ввели число %d, спасибо!", i); } Пример 1 - простейшая программа #include using namespace std; int main(){ int i; printf("Введите целое число\n"); scanf("%d", &i); printf("Вы ввели число %d, спасибо!", i); }

©ρŧą #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| Пример 2 - целые форматы

©ρŧą #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 = | f = 3.62| f = 3.6| f = 3.621| f = e+000| f = E+000| dbl = 2.23| dbl = e+000| dbl = 2| Пример 3 - вещественные форматы

©ρŧą #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| str = ramambahari| Пример 4 - форматы символов и строк

©ρŧą #include int main(){ int i; cout > i; cout

©ρŧą Унарные операции ++ – –sizeof~!–+& *newdelete(type) Бинарные операции */%+– >===!=&^|&&|| =*=/=%=+=–==&=|=^=throw, Тернарная операция ? : Операции С++ (не все!)

©ρŧą Приоритеты операций ОперацияКраткое описание Унарные операции ::доступ к области видимости.выбор ->выбор [ ]индексация ( )вызов функции ( )конструирование ++постфиксный инкремент – постфиксный декремент typeidидентификация типа dynamic_castпреобразование типа с проверкой на этапе выполнения static_castпреобразование типа с проверкой на этапе компиляции reinterpret_castпреобразование типа без проверки const_castконстантное преобразование типа

©ρŧą sizeofразмер объекта или типа – префиксный декремент ++префиксный инкремент ~поразрядное отрицание !логическое отрицание –арифметическое отрицание (унарный минус) +унарный плюс &взятие адреса *разадресация newвыделение памяти deleteосвобожение памяти ( )преобразование типа

©ρŧą.*выбор ->*выбор Бинарные и тернарная операции *умножение /деление %остаток от деления +сложение –вычитание сдвиг вправо

©ρŧą =больше или равно ==равно !=не равно &поразрядная конъюнкция (И) ^поразрядное исключающее ИЛИ |поразрядная дизъюнкция (ИЛИ) &&логическое И ||логическое ИЛИ ? :условная операция (тернарная) =присваивание *=умножение с присваиванием /=деление с присваиванием

©ρŧą %=остаток отделения с присваиванием +=сложение с присваиванием –=вычитание с присваиванием =сдвиг вправо с присваиванием &=поразрядное И с присваиванием |=поразрядное ИЛИ с присваиванием ^=поразрядное исключающее ИЛИ с присваиванием throwисключение,последовательное вычисление Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Если в одном выражении записано несколько операций одинакового приоритета, унарные операции, условная операция и операции присваивания выполняются справа налево, остальные слева направо.

©ρŧą #include int main(){ int x = 3, y = 3; printf("Значение префиксного выражения: %d\n", ++x); printf("Значение постфиксного выражения: %d\n", y++); } Результат работы программы: Значение префиксного выражения: 4 Значение постфиксного выражения: 3 Операции инкремента и декремента

©ρŧą sizeof выражение sizeof ( тип ) #include int main(){ float x = 1; cout

©ρŧą #include int main(){ cout

©ρŧą #include int main(){ int x = 11, y = 4; float z = 4; printf(" %d %f\n", x/y, x/z); printf("Остаток: %d\n", x%y); } Остаток: 3 Операции деления и остатка от деления

©ρŧą a = b = c означает a = (b = c) a + b + c означает (a + b) + c (sin(x + 2) + cos(y + 1)) i = (i < n) ? i + 1: 1 (a )/6 x && y || !z (t * sin(x)-1.05e4)/((2 * k + 2) * (2 * k + 3)) Тернарная операция: Примеры выражений: a += b Приоритеты: Сложное присваивание:

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

©ρŧą Операнды 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. Тип результата тот же, что и тип участвующих в выражении операндов. Правила преобразования типов

©ρŧą Оператор «выражение» ; i++; fun(i, k); a *= b + c;

©ρŧą Базовые конструкции структурного программирования

©ρŧą if ( выражение ) оператор_1; [else оператор_2;] if (a

©ρŧą switch ( выражение ){ case константное_выражение_1: [список_операторов_1] case константное_выражение_2: [список_операторов_2]... case константное_выражение_n: [список_операторов_n] [default: операторы ] } Оператор switch

©ρŧą #include int main(){ int a, b, res;char op;bool f = true; cout > a; cout > op; cout > b; switch (op){ case '+': res = a + b; break; case '-': res = a - b; break; case '*': res = a * b; break; case '/': res = a / b; break; default : cout

©ρŧą #include int main(){ float Xn, Xk, Dx; printf("Введите диапазон и шаг изм-я аргумента: "); scanf("%f%f%f", &Xn, &Xk, &Dx); printf("| X | Y |\n"); float X = Xn; while (X

©ρŧą #include int main(){ char answer; do{ cout > answer; }while (answer != 'y'); } do оператор while выражение; Оператор цикла do while

©ρŧą #include int main(){ double X, Eps; double Yp, Y = 1; printf("Введите аргумент и точность: "); scanf("%lf%lf", &X, &Eps); do{ Yp = Y; Y = (Yp + X/Yp)/2; }while (fabs(Y – Yp) >= Eps); printf("\n %lf %lf", X, Y); } y n = ½ (y n-1 + x/y n-1 ) Пример 6 - вычисление квадратного корня

©ρŧą #include int main(){ int num; cout > num; for (int half = num / 2, div = 2; div

©ρŧą оператор безусловного перехода goto; оператор выхода из цикла break; оператор перехода к следующей итерации цикла continue; оператор возврата из функции return. Операторы передачи управления

©ρŧą #include int main(){ const int MaxIter = 500; double x, eps; cout > x >> eps; bool ok = true; double y = x, ch = x; for (int n = 0; fabs(ch) > eps; n++){ ch *= x * x /(2 * n + 2)/(2 * n + 3); y += ch; if (n > MaxIter){ok = false; break;} } if (ok) cout