Содержание
- 2. Представление данных в языке С 1
- 3. Имена данных C помощью имен обозначаются константы, переменные, функции, массивы. Имя (идентификатор) может содержать буквы, цифры,
- 4. Переменные и константы Все переменные до их использования должны быть определены (объявлены). При этом задается тип,
- 5. Глобальные и локальные объекты В языке возможны глобальные и локальные объекты. Первые определяются вне функций и
- 6. Форматированный вывод данных printf(форматная_строка, список_аргументов); printf("Привет мир"); printf("num = %i\n",5); Управляющие символы влияют на расположение на
- 7. Форматированный вывод данных %c – подстановка char %d или %i – подстановка int %o – то
- 8. Форматированный ввод данных scanf(форматная_строка, список_аргументов); float a, b, c; scanf("%f%f%f", &a, &b, &c); scanf("%f", &a); Перед
- 9. Пример #include #include void main() { float a, b, c, p, s; printf("\na="); scanf("%f", &a); printf("\nb=");
- 10. Арифметические операции + сложение – вычитание * умножение / деление float b; b = 45.0 /
- 11. Приоритет и порядок вычислений a * b – c /d * f + g +h a
- 12. Оператор присваиваивания Допускается множественное присваивание, например: a = b = c = d = 1; Операторы
- 13. Операции увеличения и уменьшения Предусмотрены две необычные операции для увеличения и уменьшения значений переменных. Операция увеличения
- 14. Математические библиотечные функции x – имеет тип double
- 15. Пример #include //Подсчитать количество банкнот в 50, 10 рублей и количество монет в 5 и 1
- 16. УСЛОВНЫЕ ОПЕРАТОРЫ 2
- 17. Дерективы препроцессора Почти все программы на языке С используют специальные команды для компилятора, которые называются директивами.
- 18. Примеры использования директивы #define. #include #define TWO 2 #define FOUR TWO*TWO #define PX printf("X равно %d.\n",
- 19. Дерективы препроцессора Директива #undef отменяет определение, введенное ранее директивой #define. #undef FOUR Для того чтобы иметь
- 20. Деректива #include #include #include "C:/Users/dex/Documents/1.txt"
- 21. Условный оператор if if (выражение) if(a if(a > b) Истинно, если a больше b и ложно
- 22. Условный оператор if #include int main() { float x; printf("Введите число: "); scanf("%f", &x); if (x
- 23. Условный оператор if Два условных оператора можно заменить одним, используя конструкцию if (выражение) ; else ;
- 24. Условный оператор if После ключевого слова else формально можно поставить еще один оператор условия if, в
- 25. Условный оператор if if(exp1 > exp2 && exp2 if(exp1 = exp3 ) Истинно, если значение переменной
- 26. Условный оператор if #include int main() { char c; printf("Введите одиночный символ:\n"); scanf("%c", &c); if ((c
- 27. Условный оператор if #include void main() { float value1, value2; char op; printf("Введите ваше выражение.\n"); scanf("%f
- 28. Условный оператор switch Формально можно пользоваться конструкцией if else if … else. Однако во многих случаях
- 29. Условный оператор switch #include void main() { int x; printf("Введите число: "); scanf("%i", &x); switch (x)
- 30. Условный оператор ?: Тернарная операция - это условная операция ?: логическое выражение ? Выражение1 : выражение2
- 31. Операторы циклов Часто при создании программ требуется много раз выполнить одну и ту же группу операторов.
- 32. Оператор цикла while int N = 20, i = 0; long S = 0; while (S
- 33. Оператор цикла while long S = 0; int N = 20, i = 0; while ((S
- 34. Оператор цикла while Любой цикл можно принудительно завершить даже при истинном условии цикла. Это достигается путем
- 35. Оператор цикла for for ( ; ; ) { } Пример вывода таблицы кодов ASCII символов.
- 36. Оператор цикла for for (char ch = 97; ch printf("Значение ASCII для %c - %i.\n", ch,
- 37. Оператор цикла for int exit = 0, mov; for (int num = 0; num { scanf("%i",
- 38. Оператор цикла for for с одним условием: int i = 0; for (; i и без
- 39. Оператор цикла do while Представленные выше операторы циклов проверяют условие перед выполнением цикла, поэтому существует вероятность,
- 40. Оператор цикла do while const int secret_code = 13; int code; do { printf("Введите секретный код
- 41. Программирование вложенных циклов Внутри одного цикла может находиться другой. Вложенные циклы необходимы для решения большого числа
- 42. Операторы break и continue В теле цикла можно использовать оператор break, который позволяет выйти из цикла,
- 43. Оператор безусловного перехода goto goto метка; . . . метка: ; Использование goto в программе крайне
- 44. Генерация псевдослучайного числа #include #include #include void main() { const int max = 100; const int
- 45. МАССИВЫ 3
- 46. Одномерные массивы Массив представляет собой совокупность значений одного и того же типа. Каждый элемент массива определяется
- 47. Размер массива sizeof (char) * 80 = 1*80 = 80 байт. sizeof (float) * 30 =
- 48. Доступ к элементам массива Следующий фрагмент программы демонстрирует запись в массив значений линейной функции f (x)
- 49. Инициализация массива Одновременно с объявлением элементам массива могут быть присвоены значения. Значения, которые присваиваются элементам массива
- 50. Пример использования #include #define MONTHS 12 void main(void) { //объявление и инициализация массива days //каждая константа
- 51. Двумерные массивы Язык С позволяет использовать массивы любой размерности, но наиболее часто встречаются двумерные массивы. Двумерный
- 52. Инициализация двумерных массивов int table[3][4] = { {5 ,8 ,9 ,7}, {3, 6, 4, 7}, {6,
- 53. Пример использования #include int room[2][10] = { {102,107,109,112,115,116,123,125,127,130}, {12,43,23,12,20,15,16,23,12,15} }; void main(void) { int i, j,
- 54. СТРОКИ 4
- 55. Строки В языке С нет специального типа данных для строковых переменных. Для этих целей используются массивы
- 56. strlen Таким образом, чтобы подсчитать длину строки (число символов) необходимо считать символы до тех пор, пока
- 57. strcpy Теперь рассмотрим правила присваивания одной строковой переменной другой. char str1[] = "First string"; char str2[]
- 58. strcmp Cравнения двух строк между собой: #include #include void main(void) { char str1[] = "First string";
- 59. Ввод строк с клавиатуры #include #include #define DEF "First string" void main(void) { char str[100]; //scanf("%s",
- 60. sprintf #include #include void main(void) { int age; char name[100], str[100]; puts("Введите Ваше имя : ");
- 61. Массивы строк #include void main(void) { char name[10][20]; int index; // ввод строк // цикл по
- 62. УКАЗАТЕЛИ 5
- 63. Объявление указателей Указатель – это переменная, хранящая адрес некоторого данного (объекта). Память компьютера делится на 8-битовые
- 64. Объявление указателей Указатели, как и другие переменные, должны быть объявлены в программе. При объявлении указателя перед
- 65. Классы памяти Класс памяти переменной (Storage class) —определяет область видимости переменной, а также как долго переменная
- 66. Классы памяти auto — автоматическая (локальная), динамическая переменная. Автоматические переменные создаются при входе в функцию и
- 67. Доступ к объекту через указатель Для получения адреса какого – либо объекта используется операция &. Эта
- 68. Доступ к объекту через указатель Операция * называется операцией разадресации или операцией обращения по адресу. Операция
- 69. Доступ к объекту через указатель #include void main(void) { int x, *px; px = &x; x
- 70. Доступ к объекту через указатель int value = 5; int* ptr = &value;
- 71. Инициализация указателей Следует избегать использования в программе неинициализированных указателей. Всегда должен существовать объект, адрес которого содержит
- 72. Указатель на неопределенный тип Существует специальный тип указателя, называемый указателем на неопределенный тип: void * имя;
- 73. Выражения с указателями Можно присваивать один указатель другому: int a = 123, *a1 = &a, *a2;
- 74. Операции с указателями С указателями можно использовать только следующие операции: ++ инкремента -- декремента +, -
- 75. Операции с указателями int x = 5, y, *px = &x; y = *px + 2;
- 76. Операции с указателями int x = 5, y, *px = &x; y = *px + 2;
- 77. УКАЗАТЕЛИ И МАССИВЫ 6
- 78. Константный указатель Между указателями и массивами существует прямая связь. Когда объявляется массив: int arr [5]; то
- 79. Константный указатель Так как идентификатор массива содержит адрес, то можно, например, записать: int arr[5]; int *parr;
- 80. Указатель на массив #include #include #define N 100 int main(void) { int a[N]; int* pa =
- 81. Распределение памяти в С Память под переменные можно распределять в процессе исполнения программы. Переменные, память под
- 82. Динамические массивы Динамические переменные используются, если в программе нужно работать с массивом, размер которого заранее не
- 83. malloc() и new Для malloc() в круглых скобках задается число байт для выделения из кучи: double
- 84. Нехватка памяти Функция malloc() в случае ошибки (например, в куче не хватает объема запрашиваемой памяти) возвращают
- 85. Удаление памяти в куче По окончании работы с выделенным блоком памяти его следует освободить. Если не
- 86. Двумерные массивы int P[4][5]; - можно рассматривать как объявление одномерного массива P, состоящего из четырех элементов,
- 87. Двумерные динамические массивы
- 88. Двумерные динамические массивы int rows = 2; int cols = 5; int **rooms; // создание rooms
- 89. Свободные массивы Свободный массив – это массив, в котором количество элементов в строке может быть различными.
- 90. ФУНКЦИИ 7
- 91. Функции Программы на языке Си обычно состоят из большого числа отдельных функций (подпрограмм). Все функции являются
- 92. Функции #include int fmax(int a, int b) { if (a > b) { printf("max = %i\n",
- 93. Аргументы по умолчанию void some(int a = 1, int b = 2, int c = 3)
- 94. Передача значений В языке Си аргументы функции передаются по значению, т.е. вызванная функция получает свою временную
- 95. Передача массива Если же в качестве аргумента функции используется имя массива, то передается только адрес начала
- 96. Передача массива #include int minimum(int values[], int numberOfElements) { int minValue, i; minValue = values[0]; for
- 97. Перегрузка функций В языке С++ предусмотрена перегрузка функций, то есть функция с одним именем описана для
- 98. Перегрузка функций #include int add(int a, int b) { return(a + b); } int add(int a,
- 99. Аргументы функции main( ) В программы на языке Си можно передавать некоторые аргументы. Когда вначале вычислений
- 100. Аргументы функции main( ) #include int main(int argc, char* argv[], char* env[]) { printf("Количество аргументов командной
- 102. Скачать презентацию