Содержание
- 2. План лекции Управляющие инструкции Инструкции выбора if, switch Инструкции цикла for, while, do-while Инструкции перехода break,
- 3. Классификация инструкций языка Си ::= | | | | |
- 4. Инструкции выбора if, switch ::= 'if' '(' ')' | 'if' '(' ')' 'else' | 'switch' '('
- 5. Инструкции выбора -- switch Инструкция switch имеет следующий вид switch (выражение) { case константное-выражение : инструкции
- 6. Операторы цикла (for, while, do-while) ::= 'while' '(' ')' | 'do' 'while' '(' ')' | 'for'
- 7. Оператор цикла while Цикл while исполняет инструкцию до тех пор, пока выражение не станет равно 0
- 8. Оператор цикла for Цикл for (в1; в2; в3) инструкция эквивалентен следующей последовательности инструкций с циклом while
- 9. Оператор цикла do-while Цикл do инструкция while (в2); эквивалентен следующим инструкциям инструкция while (в2) инструкция
- 10. Duff’s Device send(to, from, count) // Tom Duff in November 1983 register short *to, *from; register
- 11. Операторы перехода и возврата break, continue, goto, return ::= 'goto' ';' | 'continue ';' | 'break'
- 12. Операторы перехода и возврата break, continue, return continue ; Передаёт управление на проверку условия в while
- 13. Операторы перехода и возврата goto goto идентификатор ; Передаёт управление на оператор, помеченный меткой идентификатор Рекомендуется
- 14. Управляющие инструкции Инструкции выбора if, switch Инструкции цикла for, while, do-while Инструкции перехода goto, break, continue
- 15. Понятие указателя Память ЭВМ делится на одинаковые ячейки -- байты Для обращения к ячейкам памяти процессор
- 16. Указатели в языке Си Указатель на (значения типа) T – это тип данных для работы с
- 17. Указатели в языке Си -- примеры int *p; Указатель на int *p = 0 – ОК,
- 18. Операции над указателями в Си NULL Константа NULL -- адрес 0, отличный от всех других адресов
- 19. Операции над указателями в Си ptr1 == ptr2, ptr1 != ptr2 Проверка равенства адресов ptr1 ptr2,
- 20. Операции над указателями в Си ptr1-ptr2 Результат -- расстояние между ячейками памяти по адресам ptr1 и
- 21. Операции над указателями в Си ptr1 = ptr2, ptr1 += N, ptr2 -= N Результат –
- 22. Передача параметров функции по указателю Пусть функция f вызывает функцию g и пусть var_in_f – переменная,
- 23. Передача параметров функции по указателю -- пример void my_swap_int(int x, int y) { int old_x =
- 24. Передача параметров функции по указателю -- пример void my_swap_int(int *x, int *y) { int old_x =
- 25. Передача параметров функции по указателю -- пример void my_swap_int_ptr(int **px, int **py) { int *old_px =
- 26. Указатели и передача аргументов функциям void my_swap_int_ptr(const int **px, const int **py) { // Почему не
- 27. Управляющие инструкции Инструкции выбора if, switch Инструкции цикла for, while, do-while Инструкции перехода goto, break, continue
- 28. Массивы в языке Си Массив из (значений типа) T длины N – это тип данных для
- 29. Массивы в языке Си Значения элементов массива хранятся в памяти последовательно по возрастанию адресов Для А
- 30. Связь массивов и указателей -- генерация указателя "Массивов в языке Си нет" (с) Генерацией указателя называется
- 31. Операции над массивами Генерация указателя позволяет выполнять над массивами те же операции, что и над указателями,
- 32. Описание массива в языке Си T A[N]; Массив A из значений типа Т длины N T
- 33. Многомерные массивы Массив из T, где Т – массив, называется многомерным массивом Примеры описания многомерных массивов
- 34. Многомерные массивы -- примеры int A[2][3]; A[0] имеет тип int (*)[3] A[0][0] имеет тип int sizeof(A)
- 35. Массивы и строковые константы Значением строковой константы длины N является инициализированный безымянный массив из N+1 char
- 36. Массивы и строковые константы -- пример char my_str [] = "1234567890"; // sizeof(my_str) == 11 //
- 38. Скачать презентацию