Скачать презентацию Введение в С Алфавит языка С Скачать презентацию Введение в С Алфавит языка С

2-Vvedenie_v_S.ppt

  • Количество слайдов: 54

Введение в С++ Введение в С++

Алфавит языка С++ • прописные и строчные латинские буквы и знак подчёркивания, • арабские Алфавит языка С++ • прописные и строчные латинские буквы и знак подчёркивания, • арабские цифры от 0 до 9 • специальные знаки: " { } , | [ ] ( ) + / % *. ? <=>!&#~; ^ • пробельные символы: пробел, символы табуляции.

Из символов алфавита формируются лексемы языка: • идентификаторы (имена); • ключевые (зарезервированные) слова; • Из символов алфавита формируются лексемы языка: • идентификаторы (имена); • ключевые (зарезервированные) слова; • знаки операций; • константы • разделители (скобки, точка, запятая, пробельные символы).

Идентификаторы Идентификатор — это имя программного объекта. В идентификаторе используются латинские буквы, цифры и Идентификаторы Идентификатор — это имя программного объекта. В идентификаторе используются латинские буквы, цифры и знак подчеркивания. sysop, Sy. So. P и SYS 0 P — три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Пробелы внутри имен не допускаются.

Венгерская нотация: i. Max. Length, d. Sum. Знаки подчёркивания: max_length, number_of_galosh. При выборе идентификатора: Венгерская нотация: i. Max. Length, d. Sum. Знаки подчёркивания: max_length, number_of_galosh. При выборе идентификатора: • идентификатор не должен совпадать с ключевыми словами языка; • не рекомендуется начинать идентификаторы с символа подчеркивания.

Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для компилятора.

asm else new auto enum operator bool explicit private break export protected case extern asm else new auto enum operator bool explicit private break export protected case extern public catch false register char float reinterpret_cast class for return const friend short const_cast goto signed continue if sizeof default inline static delete int static_cast do long struct double mutable switch dynamic_cast namespace template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while

Константы Константами называют неизменяемые величины. Различаются целые, вещественные, символьные и строковые константы. Константы Константами называют неизменяемые величины. Различаются целые, вещественные, символьные и строковые константы.

Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка: 0. 2 Е Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка: 0. 2 Е 6 → 0, 2 · 10 6 мантисса порядок

Символ  используется для представления: • кодов, не имеющих графического изображения (например, n — Символ используется для представления: • кодов, не имеющих графического изображения (например, n — перевод курсора в начало следующей строки); • символов апострофа ( ' ), обратной косой черты ( ), знака вопроса (? ) и кавычки ( " ); • любого символа с помощью его шестнадцатеричного или восьмеричного кода, например, 73, ХF 5. Числовое значение должно находиться в диапазоне от 0 до 255. Последовательности символов, начинающиеся с , называют управляющими, или escapeпоследовательностями.

Управляющие последовательности в языке C++ Изображение Наименование а Звуковой сигнал b Возврат на шаг Управляющие последовательности в языке C++ Изображение Наименование а Звуковой сигнал b Возврат на шаг f Перевод страницы (формата) n Перевод строки r Возврат каретки t Горизонтальная табуляция v Вертикальная табуляция \ Обратная косая черта ' Апостроф " Кавычка ? Вопросительный знак ddd Восьмеричный код символа Xddd Шестнадцатеричный код символа

"Издательский дом "Питер" "

Комментарии • начинается с двух символов // и заканчивается символом перехода на новую строку, Комментарии • начинается с двух символов // и заканчивается символом перехода на новую строку, • заключается между символами-скобками /* и */. Внутри комментария можно использовать любые допустимые на данном компьютере символы.

Типы данных C++ Тип данных определяет: • внутреннее представление данных в памяти компьютера; • Типы данных C++ Тип данных определяет: • внутреннее представление данных в памяти компьютера; • множество значений, которые могут принимать величины этого типа; • операции и функции, которые можно применять к величинам этого типа.

Все типы языка C++ можно разделить на основные и составные. В языке C++ определено Все типы языка C++ можно разделить на основные и составные. В языке C++ определено шесть основных типов данных для представления целых, вещественных, символьных и логических величин. На основе основных типов описывают составные типы: массивы, перечисления, функции, структуры, ссылки, указатели, объединения и классы.

Основные типы данных • • • int (целый); char (символьный); wchar_t (расширенный символьный); bool Основные типы данных • • • int (целый); char (символьный); wchar_t (расширенный символьный); bool (логический); float (вещественный); double (вещественный с двойной точностью). Первые четыре типа называют целочисленными (целыми), последние два — типами с плавающей точкой.

Существует четыре спецификатора типа, уточняющих представление стандартных типов: • short (короткий); • long (длинный); Существует четыре спецификатора типа, уточняющих представление стандартных типов: • short (короткий); • long (длинный); • signed (знаковый); • unsigned (беззнаковый).

Целый тип (int) Размер типа int не определяется стандартом, а зависит от компьютера и Целый тип (int) Размер типа int не определяется стандартом, а зависит от компьютера и компилятора (для 16 -разрядного процессора отводится 2 байта, для 32 -разрядного — 4 байта). Спецификатор short перед int указывает, что под число требуется отвести 2 байта. Спецификатор long означает, что целая величина будет занимать 4 байта.

Внутреннее представление величины целого типа — целое число в двоичном коде. При использовании спецификатора Внутреннее представление величины целого типа — целое число в двоичном коде. При использовании спецификатора signed старший бит числа интерпретируется как знаковый (0 — положительное число, 1 — отрицательное). Спецификатор unsigned позволяет представлять только положительные числа (старший разряд рассматривается как часть кода числа). По умолчанию все целочисленные типы считаются знаковыми.

Тип константы можно регулировать с помощью суффиксов L, l (long) и U, u (unsigned). Тип константы можно регулировать с помощью суффиксов L, l (long) и U, u (unsigned). Например: константа 32 L - тип long (4 байта), 0 x 22 UL, 05 Lu.

Символьный тип (char) Под величину символьного типа отводится 1 байт. Тип char, как и Символьный тип (char) Под величину символьного типа отводится 1 байт. Тип char, как и другие целые типы, может быть со знаком или без знака. В величинах со знаком можно хранить значения в диапазоне от -128 до 127. В величинах без знака значения могут находиться в пределах от 0 до 255 ( достаточно для хранения 256 -символьного набора ASCII).

Расширенный символьный тип wchar_t Работает с набором символов, для кодировки которых не достаточно 1 Расширенный символьный тип wchar_t Работает с набором символов, для кодировки которых не достаточно 1 байта, например, Unicode. Строковые константы типа wchar_t записываются с префиксом L, например, L"Gates".

Логический тип (bool) Величины логического типа могут принимать 2 значения: true и false. Внутренняя Логический тип (bool) Величины логического типа могут принимать 2 значения: true и false. Внутренняя форма представления значения false — 0 (нуль). Любое другое значение (≠ 0) интерпретируется как true.

Типы с плавающей точкой (float, double и long double) Внутреннее представление вещественного числа состоит Типы с плавающей точкой (float, double и long double) Внутреннее представление вещественного числа состоит из двух частей — мантиссы и порядка: 12 10 = 11002 = 1, 1 · 2 3 порядок мантисса Мантисса — это число, большее 1. 0, но меньшее 2. 0.

Длина мантиссы определяет точность числа, а длина порядка — его диапазон. Величины типа float Длина мантиссы определяет точность числа, а длина порядка — его диапазон. Величины типа float занимают 4 байта, из которых один двоичный разряд отводится под знак мантиссы, 8 разрядов под порядок и 23 под мантиссу. Для величин типа double, занимающих 8 байт, под порядок и мантиссу отводится 11 и 52 разряда соответственно. Спецификатор long перед именем типа double указывает, что под величину отводится 10 байтов.

Тип Диапазон Байт bool true и false 1 signed char -128. . . 127 Тип Диапазон Байт bool true и false 1 signed char -128. . . 127 1 unsigned char 0. . . 255 1 signed short int -32768. . . 32767 2 unsigned short int 0. . . 65535 2 signed long int -2, 15 млрд. . . 2, 15 млрд 4 unsigned long int 0. . . 4 294 967 295 4 float 3. 4 e-38. . . 3. 4 e+38 4 double 1. 7 e-308. . . 1. 7 e+308 8 long double 3. 4 e-4932. . . 3. 4 e+4932 10

Тип void (пустой тип) используется для определения функций, которые не возвращают значения, для указания Тип void (пустой тип) используется для определения функций, которые не возвращают значения, для указания пустого списка аргументов функции , как базовый тип для указателей и в операции приведения типов.

Структура программы Программа на языке C++ состоит из функций, описаний и директив препроцессора. Одна Структура программы Программа на языке C++ состоит из функций, описаний и директив препроцессора. Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции.

Простейшее определение функции имеет следующий формат: Тип имя_функции([параметры]) { Оператор1. . . Оператор. N Простейшее определение функции имеет следующий формат: Тип имя_функции([параметры]) { Оператор1. . . Оператор. N }

Необходимые сведения о функциях: • тип функции – это тип возвращаемого функцией значения ; Необходимые сведения о функциях: • тип функции – это тип возвращаемого функцией значения ; • если функция не возвращает значение, указывается тип void ; • тело функции является блоком и, следовательно, заключается в фигурные скобки ; • функции не могут быть вложенными.

Пример программы, содержащей функции main, f 1 и f 2: #include <stdio. h > Пример программы, содержащей функции main, f 1 и f 2: #include / / директива препроцессора float w, r; //описание глобальных переменных int f 1(параметры); // объявление функции int main() { операторы главной функции } int f 1(параметры) { операторы функции fl } int f 2() { операторы функции f 2 }

Директивы препроцессора задают действия препроцессора по преобразованию текста программы перед компиляцией. Директива #include <имя_файла> Директивы препроцессора задают действия препроцессора по преобразованию текста программы перед компиляцией. Директива #include <имя_файла> вставляет содержимое указанного файла (заголовочного файла) в ту точку исходного файла, где она записана. Заголовочные файлы имеют расширение. h и могут содержать: • Объявления функций, данных; • Определения констант, типов.

Описания задают имена и атрибуты переменных, данных и типов, используемых в программе. Объявление функции Описания задают имена и атрибуты переменных, данных и типов, используемых в программе. Объявление функции является предварительным описанием функции и может опускаться. Программа может состоять из нескольких модулей (исходных файлов).

Переменные и выражения Переменная – это именованная область памяти, в которой хранятся данные определённого Переменные и выражения Переменная – это именованная область памяти, в которой хранятся данные определённого типа. У переменной есть имя и значение (значение можно менять). Перед использованием любая переменная должна быть описана (определена): [const] тип имя [инициализатор];

Модификатор const показывает, что значение переменной изменять нельзя. Такую переменную называют именованной константой, или Модификатор const показывает, что значение переменной изменять нельзя. Такую переменную называют именованной константой, или просто константой. При описании можно присвоить переменной начальное значение, это называется инициализацией. Инициализатор можно записывать в двух формах — со знаком равенства: = значение или в круглых скобках: ( значение ) Константа должна быть инициализирована при объявлении. В одном операторе можно описать несколько переменных одного типа, разделяя их запятыми.

Примеры: short int а = 1; // целая переменная а double g (9. 81); Примеры: short int а = 1; // целая переменная а double g (9. 81); // переменная типа double const char С = 'С'; // символ. константа С char s, sf = ‘ f '; // инициализация относится только к sf char t(54); float с = 0. 22, x(3), sum;

Описание переменной задает ее область действия : переменная может быть локальной или глобальной. Если Описание переменной задает ее область действия : переменная может быть локальной или глобальной. Если переменная определена внутри блока (блок ограничен фигурными скобками), она называется локальной, область ее действия — от точки описания до конца блока, включая все вложенные блоки. Если переменная определена вне любого блока, она называется глобальной и областью ее действия считается файл, в котором она определена, от точки описания до его конца.

Операции В соответствии с количеством операндов, которые используются в операциях, они делятся на унарные Операции В соответствии с количеством операндов, которые используются в операциях, они делятся на унарные (один операнд), бинарные (два операнда) и тернарные (три операнда).

Унарные операции Операция Описание ++ -sizeof ~ ! – & * new delete Увеличение Унарные операции Операция Описание ++ -sizeof ~ ! – & * new delete Увеличение на 1 Уменьшение на 1 Определение размера в байтах Поразрядное отрицание Логическое отрицание Арифметическое отрицание Взятие адреса Разадресация Выделение памяти Освобождение памяти

Операция увеличения на 1 (++) называется инкремент. 2 формы записи – префиксная (++х) и Операция увеличения на 1 (++) называется инкремент. 2 формы записи – префиксная (++х) и постфиксная (х++). Примеры: 1) int х = 4; cout << ++x; // х увеличивается, затем вывод Результат: 5 2) int х = 4 ; cout << x++; // вывод, затем х увеличивается Результат: 4

Операция уменьшения на 1 (- -) называется декремент. Операция определения размера sizeof предназначена для Операция уменьшения на 1 (- -) называется декремент. Операция определения размера sizeof предназначена для определения размера объекта в байтах. Она имеет 2 формы: sizeof выражение sizeof (тип) Примеры: cout << sizeof(float); Результат: 4

Операции отрицания. Арифметическое отрицание (–) изменяет знак операнда целого или вещественного типа на противоположный. Операции отрицания. Арифметическое отрицание (–) изменяет знак операнда целого или вещественного типа на противоположный. Логическое отрицание (!) даёт 0 (ложь), если операнд ≠ 0 (истина) и наоборот (операнд целого и вещественного типа). Поразрядное отрицание (~) инвертирует каждый разряд в двоичном представлении целочисленного операнда.

Бинарные и тернарные операции Операция Описание * / % + << >> < <= Бинарные и тернарные операции Операция Описание * / % + << >> < <= > >= == != Умножение Деление Остаток от деления Сложение Вычитание Сдвиг влево Сдвиг вправо Меньше или равно Больше или равно Равно Не равно

Бинарные и тернарные операции Операция Описание && || & ^ | = *= /= Бинарные и тернарные операции Операция Описание && || & ^ | = *= /= %= += -= Логическое ИЛИ Поразрядная конъюнкция Поразрядное исключающее ИЛИ Поразрядная дизъюнкция Присваивание Умножение с присваиванием Деление с присваиванием Остаток от деления с присваиванием Сложение с присваиванием Вычитание с присваиванием

Деление (/). Если результат целочисленный, то он округляется до целого числа. int a, b=10, Деление (/). Если результат целочисленный, то он округляется до целого числа. int a, b=10, c=3; a=b/c; cout << a; Результат: 3 Остаток от деления (%) применяется только к целочисленным операндам. int a, b=10, c=3; a=b%c; cout << a; Результат: 1

Операции отношения (<, >, >=, <=, ==, !=) сравнивают первый операнд со вторым. Результат Операции отношения (<, >, >=, <=, ==, !=) сравнивают первый операнд со вторым. Результат операции: true или false. Логические операции ( && и || ). Результат - true или false. Результат логического ИЛИ (||) равен true, если хотя бы один из операндов равен true. 5=6 || 3>-5 x<3 || x>=3

В программе для присвоения переменной значения используется оператор присваивания: Имя_переменной = арифметич. выражение Например, В программе для присвоения переменной значения используется оператор присваивания: Имя_переменной = арифметич. выражение Например, Коeff = 5. 6; FIO = “Иванович”; X = 2*sin(3*A);

Арифметические выражения В арифметическом выражении можно использовать: • имена переменных, констант, • круглые скобки, Арифметические выражения В арифметическом выражении можно использовать: • имена переменных, констант, • круглые скобки, • знаки арифметических операций +, - , * , / , % (остаток от деления), • математические функции.

Операции выполняются в соответствии с приоритетами (см. табл. операций): 2 + a / 4*b Операции выполняются в соответствии с приоритетами (см. табл. операций): 2 + a / 4*b → (2+a) /(4*b) →

 • • Математические функции: abs (fabs) - модуль числа acos - арккосинус числа • • Математические функции: abs (fabs) - модуль числа acos - арккосинус числа asin - арксинуса числа atan - арктангенс числа ceil - наибольшее целое число, большее или равное числу cos - косинус заданного угла(в радианах) eхр – экспонента числа floor - наименьшее целое число, большее или равное заданному

 • log - натуральный логарифм числа • log 10 - десятичный логарифм числа • log - натуральный логарифм числа • log 10 - десятичный логарифм числа • modf – делит вещественное число на целую и дробную часть • pow - значение xy • pow 10 – значение 10 y • sin - синус заданного угла (в радианах). • sinh – гиперболический синус • sqrt - квадратный корень числа • tаn – тангенс угла ( в радианах).

Математ. запись Запись в C++ 3*sqrt(5*a*a*a) 2*sin(6*y)/(8– 4*cos(8*y)) (3. 5+exp(2*b))/(0. 25*log(fabs(4*a))) (tg x – Математ. запись Запись в C++ 3*sqrt(5*a*a*a) 2*sin(6*y)/(8– 4*cos(8*y)) (3. 5+exp(2*b))/(0. 25*log(fabs(4*a))) (tg x – cos y)7 exp(7*log(tan(x)-cos(y))) pow(tan(x)-cos(y), 7) или

Примеры операторов присваивания Num = 3*sqrt(R); Sum =Sum+1; или X =X*(A + B); или Примеры операторов присваивания Num = 3*sqrt(R); Sum =Sum+1; или X =X*(A + B); или Y = Y-res; или Sum+ = 1; X* = A+B; Y- = res;