Содержание
- 2. Краткая история и особенности Разработан Dennis Ritchie в Bell Labs, 1972 Первое применение – портирование ОС
- 3. Hello, world! #include /* Заголовочный файл */ main() /* main() - место начала исполнения программы */
- 4. Компиляция программы, состоящей из одного файла gcc hello.c GCC = GNU Compiler Collection hello.c – имя
- 5. Переменные. Имена состоят из букв, цифр и знака подчёркивания(_), первый символ не может быть цифрой Переменные
- 6. Переменные – 2. Основные типы. char – 1 байт. Часто используется при работе с текстовыми строками
- 7. Переменные – 3. Квалификаторы. signed/unsigned – квалификатор char и int. Показывает, является ли переменная знаковой (-N..N-1)
- 8. Переменные – 4. Примеры. unsigned char c; int i; /* синоним signed int i */ double
- 9. Функция printf () #include int printf(const char *format, список аргументов для подстановки); строка с форматом %s
- 10. Примеры #define STR "абырвалг" printf ("i = %d\n", 10); /* i = 10 */ printf ("My
- 11. Введение в массивы Набор однотипных элементов, последовательно располагающихся в памяти Нумерация идёт с нуля Возможно задание
- 12. Введение в указатели Указатель – переменная, содержащая адрес другой переменной & - взятие адреса переменной (взятие
- 13. Введение в указатели - 2 int *p = NULL; int i = 10; p = &i;
- 14. Строковые константы Последовательность(возможно, нулевая) ненулевых символов, заканчивающаяся на 0 Задание строки возможно помещением текста в двойные
- 15. Использование #define для объявления констант. #define MESSAGE "Some frequently used string." #define DEBUG 0 #define BUFSIZE
- 16. «Истина» и «ложь» Если численное значение 0, оно ложно Иначе оно истинно Например, 1, 1000, -1234
- 17. Операторы Арифметические: +, -, *, /, %(остаток от деления) Логические: >, >=, 0, x==0 => 1)
- 18. Примеры int a, b; double x; a = 2*2; /* a = 4 */ b =
- 19. ++ и -- Прибавление/вычитание единицы с последующей записью значения в переменную Могут находиться перед переменной(префиксная запись,
- 20. Примеры int x = 0, n = 0; n++; /* n = 1 */ x =
- 21. +=, -=, *= и т.д. A += B эквивалентно A = A + B + -
- 22. A ? B : C Если A истинна(т.е. не равна 0), то B, иначе C /*
- 23. Преобразование типа. Возможное преобразование: автоматическое (type)variable “Общее правило” – автоматическое преобразование происходит при преобразовании в более
- 24. Правила конверсии для беззнаковых чисел If either operand is long double, convert the other to long
- 25. Приоритет операторов Наивысший Самый низкий
- 26. if-else Если expression истинно, то statement1, иначе – statement2 if (expression) statement1 else statement2
- 27. Примеры /* 1. else идёт с соседним if-ом! */ if (n > 0) if (a >
- 28. switch Условное выполнение кода при равенстве выражения одной из численных констант switch (expression) { case const-expr:
- 29. Пример switch (c) { case '0': case '1': case '2': case '3': case '4': case '5':
- 30. while - цикл Выполнение statement пока expression не равен 0 while (expression) statement /* Пример */
- 31. for - цикл содержит 3 выражения, разделённые запятой Аналогичен следующей конструкции с while: for (expr1; expr2;
- 32. Цикл do-while Выполнять statement пока expression не равно нулю. statement выполнятся хотя бы раз do statement
- 33. Break и continue Break: ранний выход из циклов for, while, do Выход осуществляется из самого вложенного
- 34. Примеры /* trim: remove trailing blanks, tabs, newlines */ int trim(char s[]) { int n; for
- 35. Goto Goto – переход по метке Использование оправданно очень редко! Есть возможность перехода между функциями –
- 36. Функции Перед использованием функция должна быть объявлена. Тип возвращаемого значения может быть void(ничего не возвращает) Количество
- 37. Пример #include int power(int m, int n); /* test power function */ main() { int i;
- 38. Заголовочные файлы
- 39. external, static, register, volatile переменные External – задание внешнего связывания (external linking). Все обращения к external
- 40. Директивы препроцессора #include “name”, #include #define что_заменить на_что_заменить #undef #if, #ifdef, #ifndef, #elif, #endif
- 41. Примеры #define BUFSIZE 1024 #define forever for (;;) #define max(A, B) ((A) > (B) ? (A)
- 42. Ещё об указателях и массивах swap(a, b); ………………………………………………………………………………… void swap(int x, int y) /* НЕПРАВИЛЬНО*/ {
- 43. Ещё об указателях и массивах swap(&a, &b); void swap(int *px, int *py) /* поменять местами *px
- 44. Ещё об указателях и массивах int a[10]; int *pa; pa = &a[0]; x = *pa; y
- 45. Передача параметров программе. Аргументы main. 1 аргумент – количество аргументов 2 аргумент – массив строк с
- 46. Указатели на функцию Возможно задание и передача указателей на функции int (*pf)(); /* указатель на функцию,
- 47. Набор переменных (возможно, различных типов) объединённых вместе для простоты работы с ними struct struct_name { ...
- 48. typedef Задание пользовательского типа данных typedef struct tnode { /* the tree node: */ char *word;
- 49. Полезные функции С standard library printf/scanf, sprintf/sscanf, fprintf/fscanf putchar/getchar, putc/getc fopen/fclose – работа с файлами memcpy
- 50. Литература Б. Керниган, Д. Ритчи – «Язык программирования Си» (Kernigan, Ritchie – “The C Programming Book”)
- 51. Спасибо за внимание! Вопросы? Следующая лекция – Введение в C++
- 52. Backup
- 53. Перечисления (enumerations) /* Предоставляют простой способ задания нескольких констант с различиющимися значениями */ /* По умолчанию
- 54. unions Структура, члены которой располагаются по одному и тому же адресу памяти union u_tag { int
- 56. Скачать презентацию
































![Примеры /* trim: remove trailing blanks, tabs, newlines */ int trim(char s[])](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/469191/slide-33.jpg)









![Ещё об указателях и массивах int a[10]; int *pa; pa = &a[0];](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/469191/slide-43.jpg)










Давление. Закон Паскаля. Атмосферное давление.
вауу вауу
Организационно-техническое обеспечение конкурсного отбора программ развития деятельности студенческих объединений вузов 22
Who wants to live forever
Спортивный менеджмент
Karl_Yung_Kuramshina_Veronika
Раскрытие информации о связанных сторонах
Презентация на тему Компоненты тренинга в системном анализе. Технология тренинга в системном анализе
Электроснабжение текстильного комбината
Тенденции развития семьи в современном обществе
Невербальная коммуникация
Государственное управление в сфере обеспечения продовольственной безопасности в Российской Федерации
УРАВНЕНИЯ С ЧАСТНЫМИ ПРОИЗВОДНЫМИ (II)
Влияние иностранных заимствований на кредитную политику банков во время кризиса
Построение чертежа основы одношовного рукава
Модель прямой
Кредитные программы Национальной Фабрики Ипотеки
Л.1. ПОНЯТТЯ ЗАПОВІДНОЇ СПРАВИ
Каналы распределения товаров в маркетинге
www.Ritz-BTR.narod.ru
Исполнительная власть в Российской Федерации
873458
Использование пиратского программного обеспечения:анализ ситуации в регионе и поиск альтернативного решения.
РЫНОК!
Презентация на тему: Дилерские соглашения
Презентация на тему Моделирование прямой юбки
Англия и англичане
Рефлекс