Содержание
- 2. Языки программирования Лекции 1 раз в 2 недели Лабораторные работы 1 раз в 2 недели, начиная
- 3. Язык С (Си) Литература Б.Керниган, Д.Ритчи. Язык программирования Си. М.Уэйт, С.Прата, Д.Мартин. Язык Си. Руководство для
- 4. Язык С (Си) Си (англ. C) — компилируемый статически типизированный язык программирования общего назначения. Разработан Деннисом
- 5. Особенности языка С Структурированность: Программа состоит из законченных конструкций (операторов). Позволяет избежать ошибок при программировании. Эффективность:
- 6. Особенности языка С Переносимость (мобильность): простота переноса программы на Си на ЭВМ другого семейства (с другой
- 7. Особенности языка С «Невысокий» уровень: Включает средства для работы на машинном уровне. Некоторые конструкции транслируются в
- 8. Недостатки языка С Сложный и не всегда удобный синтаксис Сложность определения порядка выполнения операций Несколько версий
- 9. Область применения С системное программирование системы управления базами данных (СУБД) управляющие программы (альтернатива ASM) С++ -
- 10. Язык С. Пример программы #include int main (int argc, char* argv[]) { double x, y, z;
- 11. Язык С. Синтаксис Программа. Состоит из функций – автономных программных модулей. Все функции равноправны. Выполнение начинается
- 12. Язык С. Синтаксис Идентификаторы (имена) Первый символ – буква или «_» Остальные – буквы, цифры, знак
- 13. Язык С. Синтаксис Операторы (ключевые слова) Зарезервированы Пробелы внутри недопустимы (кроме go to) Только нижний регистр
- 14. Язык С. Синтаксис Простой оператор: заканчивается “;” a = b+c; if (a > 0) x =
- 15. Язык С. Синтаксис Пример использования вложенных составных операторов: k=0; for (i=0; i { if (a[i] ==
- 16. Язык С. Синтаксис Комментарии (2 типа) вложенность комментариев одного типа запрещена Многострочный /* …….. …….. ……..
- 17. Язык С. Синтаксис Пример использования комментариев в программе /* функция вычисляет среднеквадратическое значение элементов вещественного массива
- 18. Язык С. Препроцессор Обрабатывает текст программы перед компиляцией Директивы препроцессора начинаются с “#” Синтаксис отличается от
- 19. Язык С. Препроцессор Примеры задания констант: #define PI 3.141595 #define LEN 100 #define pрр LEN *
- 20. Язык С. Препроцессор Пример задания макроса: fun(x,y) = x2 + y2 #define fun(x, y) x *
- 21. Язык С. Препроцессор Примеры нестандартного использования #define BEGIN { #define END } #define если if #define
- 22. Язык С. Препроцессор Полный вариант #if выражение // если выражение ≠ 0 Операторы 1 #else //
- 23. Язык С. Препроцессор Пример #define DEBUG 1 // 1 – отладка, 0 – рабочий вариант #if
- 24. Язык С. Препроцессор Пример #define DEBUG ….. #ifdef DEBUG printf(“\nОтладочный вариант”); x = 100; #else x
- 25. Язык С. Препроцессор #pragma pack(1) // упаковка элементов данных с точностью // до байта. По умолчанию
- 26. Язык С. Типы данных
- 27. Язык С. Типы данных Пример использования int a; n = sizeof(int); или n = sizeof(a); sizeof()
- 28. Язык С. Константы Целые десятичные: 123, +12, -456, 5 Вещественные: 12.3, -3.5, +1.2, 0.35, -.273, 5.
- 29. Язык С. Константы Специальные символьные константы \n переход к новой строке \r переход к началу строки
- 30. Язык С. Константы Строковые константы “это строка текста” ? массив char Последний элемент массива – двоичный
- 31. Язык С. Константы Правила определения типов констант Десятичные константы – int или long (в зависимости от
- 32. Язык С. Классы памяти Определяют способы выделения памяти под переменные память выделяется при входе в блок
- 33. Язык С. Классы памяти Дополнительные классы памяти в С++ не модифицируемый тип данных (константа) используется как
- 34. Язык С. Описания переменных Все переменные должны быть описаны. Структура описания: [ класс памяти ] [
- 35. Язык С. Описания переменных Место описания переменных: Вне функций. класс памяти – static (по умолчанию) или
- 36. Язык С. Описания переменных Инициализация (задание начальных значений) переменных Для переменных static – при компиляции Для
- 37. Язык С. Описания переменных Область действия (видимости) переменных от места описания до конца блока (файла) файл
- 38. Язык С. Описания переменных Область действия (видимости) переменных от места описания до конца блока (файла) файл
- 39. Язык С. Описания переменных Оператор переопределения типов: задает синоним существующего типа данных улучшает «читабельность» программы упрощает
- 40. Язык С. Массивы. Описание Массив: набор элементов данных одного типа, расположенных в памяти последовательно. количество размерностей
- 41. Язык С. Массивы. Инициализация Одномерные массивы: int a[5] = { 1,2,5,8,13}; // после “}” ставится “;”
- 42. Язык С. Символьные массивы. Инициализация символьного массива (строки): char str[20] = { ‘t’, ‘e’, ‘x’, ‘t’,
- 43. Язык С. Выражения Элементы выражений: константы переменные элементы массивов знаки операций вызовы функций скобки Примеры: a)
- 44. Язык С. Операции Стандартные операции бинарные (2 операнда): a + b // сложение a - b
- 45. Язык С. Операции Специальные операции (заимствованы из ASM) ++ инкремент (увеличение на 1) -- декремент (уменьшение
- 46. Язык С. Оператор присваивания = ; = ; Примеры: a = b+3; c[5] = x +
- 47. Язык С. Преобразование типов Определяется порядок действий в соответствии с приоритетами В каждой из операций выполняется
- 48. Язык С. Преобразование типов Пример 1 int a; double b; 1) a = 2 / 3;
- 49. Язык С. Битовые операции Применяются только для целых типов данных (char, short, long, int) & -
- 50. Язык С. Битовые операции Таблица истинности Примеры: a = 0010 1011 b = 1011 1010 a
- 51. Язык С. Битовые операции Использование битовых операций (маскирование) Установка разрядов a = b | 4; //
- 52. Язык С. Битовые операции Операции сдвига c = a >> 2; a = 0010 1101 ?
- 53. Язык С. Таблица операций
- 54. Язык С. Учет приоритетов Пример 1 x = a * 2 + b * 4; 1
- 55. Язык С. Операции отношения Операнды – выражения любых типов Результат – целое число int: 1 –
- 56. Язык С. Логические операции Логические операции Объединяют операции отношения Операнды – целые числа (≠0 – истина,
- 57. Язык С. Условный оператор Синтаксис: if (выражение) оператор1; else оператор2; if (выражение) оператор1; // краткая форма
- 58. Язык С. Условный оператор Примеры: if( a > 0 ) x = 3; if( a ==
- 59. Язык С. Условный оператор Вложенные условия: if ( x > 0 ) { c = 3;
- 60. Условная операция – тернарная (3 операнда) ? : Если ≠ 0, значение = иначе значение =
- 61. switch ( ) { case : операторы1; // = сase : операторы2; // = break; //
- 62. Примеры: 1) switch (n) { case 1: a = sin(x); // если n = 1 break;
- 63. Примеры: 3) char ch; switch (ch = getchar()) { case ‘s’: case ‘S’: a = sin(x);
- 64. Синтаксис: for ( ; ; ) ; - инициализация; 1 раз перед началом цикла - модификация;
- 65. Примеры: 1) for ( i = 0; i 2) for (i = 0, s = 0;
- 66. for ( i = 0; i { …. break; // выход из цикла (значения сохраняются) ….
- 67. Синтаксис: while ( ) ; эквивалентно for( ; ; ) ; Цикл с предусловием (минимальное количество
- 68. Язык С. Циклы. Цикл while
- 69. Синтаксис: do while ( ); Цикл с пост-условием Выполняется, пока ≠ 0 Минимальное количество повторов -
- 70. Особенности использования “;” 1) while (a[ i ] != 0) ; // зацикливание { s +=
- 71. Синтаксис: go to метка; …. метка: …. Использование go to не рекомендуется Метка заканчивается “:” и
- 72. Примеры допустимого использования go to: Выход из вложенных циклов на внешний уровень (использование break в этом
- 73. Указатель: переменная, содержащая адрес другой переменной Операции с указателями: & - получение адреса (ссылки) * -
- 74. Примеры. int a, b; int *c; c = &a; // инициализация указателя *c = 0; //
- 75. Адресная арифметика. Допустимые операции: ++ инкремент -- декремент + сложение с константой - вычитание константы -
- 76. Язык С. Указатели и массивы Пример. int a[10], b[20], *p; p = &a[0]; // или p
- 77. Язык С. Указатели и массивы int а[10]; int *p = &a[2]; Пример char str[100]; char *p
- 78. Язык С. Указатели и строки сhar str[20] = “text string”; // длина строки = 20 сhar
- 80. Скачать презентацию