21_cpp.ppt
- Количество слайдов: 28
C++ и Object. Pascal (початковий рівень) Порівняння базових понять
Історія Pascal Автор: Ніклаус Вірт Створено у1968— 1969 Опубліковано у 1970 Спадкоємці Modula 2 -1978 Object. Pascal -1986 С Автори: Кен Томпсон Денніс Рітчі Створено у1969— 1973 Опубліковано у 1978 Спадкоємці С++ -1983 С# - 2000
Історія ООП Simula 1960 Small. Talk 1970 C++1983 (STL 1994) Java 1995 (QT 1996 -2009) 2001 C#
Цитати Керніган (автор першої книги з Сі): «Сі — інструмент, гострий, як бритва: за його допомогою можна створити і елегантну програму, і кроваве місиво» . Просто програміст в інтернеті: «Мне доводилось писать и на сях++ и на джаве. Начинал с сей. Программируя на сях легче облажаться и не заметить этого. Человеческий фактор! … Поэтому программирование на спп повышает самооценку (как же! Я пишу на спп! Я крутой программер! …»
Системні програми • • Операційні системи Транслятори Редактори Файлові утиліти Оптимізатори Диспетчери реального часу Драйвери
Алфавіт мови На відміну від Паскалю у Сі великі і маленькі літери, що використовуються для імен, розрізняються! але, у Сі дуже полюбляють знак підкреслення. max_int_number замість max. Int. Number
Типи даних Основні типи char – тип для символів; int – тип для цілих чисел; float – тип для дійсних чисел; double – дійсні числа подвійної точності; void – змінна, що не має значень.
Модифікатори типів signed – із знаком (для char, int); unsigned – без знаку (для char, int); long – довгий (для int, double); short – короткий (для int); Наприклад: unsigned long int; Довжина в байтах: sizeof(<ім'я типу, змінної або константа>)
Деякі нові типи даних (С++) bool – тип змінної, що може приймати значення true або false; bool ok=true; Але можна і так: int ans=true; bool promise = -100;
Деякі нові типи даних (С++) string – тип змінної для рядків символів string name; string fam=“Янукович”; name=“Віктор”+” “+fam; int pos=name. find_first_of(fam);
Оголошення змінних int j, k, n; short int = -10; unsigned long int fact; Зверніть увагу, нема слова var і взагалі, нічого! Окрім того, у С++ оголошувати змінні можна де завгодно, але до першого використання
Константи 1 -125 0 x 20 012 25 L 10000 U 123. 12 -4. 34 E-3 123. 12 F 2. 37 E+1 F 1234. 567 L ‘z’ L’x’ “it is рядок”
Операція присвоювання У Сі присвоювання - є операцією!? позначається = (операція порівняння ==) Пріоритет операції = низький Операція має результат, отже, можна написати while ((x=x-1)>0)… або так a=b=c=d=x*y
Операції із знаком присвоювання m +=20, те саме, що m=m+20; m -=20, те саме, що m=m-20; m *=20, те саме, що m=m*20; m /=10, те саме, що m=m/10; m%=10, те саме, що m=m%10
Математичні операцї Знак Операція * Множення / Ділення (у тому числі ділення націло ) % Остача від ділення + Додавання - Віднімання
Операції порівняння Опера Опис ція == > < Дорівнює >= Більше або дорівнює Менше або дорівнює <= Більше Менше Не дорівнює
Логічні операції Операція || && ! (a||b) && !(a&&b) b>=4 && b<5 Опис Або і Ні Виключно або Дужки не потрібні
Побітові операції Операція | & ~ >> << Опис Або і Ні Зсув праворуч Зсув ліворуч
Операції інкременту Опера Приклад тор Опис Еквівалентний вираз ++ i ++; Постфіксна i =i+1; або i+=1; ++ ++ i; Префіксна i =i+1; або i+=1; -- i - -; Постфіксна i =i-1; або i-=1; -- - - i; Префіксна i =i-1; або i-=1;
Операції інкременту Префіксні операції мають найвищий пріоритет. Виконуються до будь якої іншої операції. Наприклад: int d=1; int a = ++d*3 + d; Результат a=8 d=2.
Операції інкременту Постфіксні операції мають найменший пріоритет і виконуються останніми. b=2, c=1; a = b + c++; Результат a=3 c=2. Що це означає? int c=10; while(c-->0)…
Тернарний оператор (від слова три) ? : Вираз_1 ? Вираз_2 : Вираз_3; Наприклад: stip = ball<4. 0 ? 0 : ball<5 ? 600 : 800;
Операція послідовного обчислення Символ операції , Вираз_1 , Вираз_2 Обчислюється Вираз_1 , потім Вираз_2. Повертається результат Виразу_2 Наприклад x=(y=3, y+1); х дорівнює 4
Перетворення типів в операції присвоювання Результат отриманий у правій частині приводиться до типу лівої частини int x; char ch; float f; … ch=x; x=f; f=ch; f=x;
Перетворення типів у виразах По-перше, char, short int (integral promotion) Далі використовується принцип ”найбільшого операнду ”, відповідно до ряду: long double, float, usigned long, unsigned int, int
Приведення типів (тип) вираз Наприклад: int x=5; float y; y=(float) x / 2
Операції з покажчиками & - операція отримання адреси змінної, наприклад: p = &count; * - операція отримання значення за вказаною адресою, наприклад: c = *p;
Оператори ++ -- () []. -> ! ~ +a -a (type) sizeof *a &a * / % + << >> < > <= >= = = != & ^ | && || ? : = += -= *= /= %= &= ^= |= >>= ++ -- , Пріоритет 1 2 3 4 5 6 7 8, 9, 10, 11, 12 13 14 15
21_cpp.ppt