Содержание
- 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)










Маятники
Лондонская межбанковская ставка предложения LIBOR (London Interbank Offered Rate)
ЧЕЛЯБИНСК
Клиническое значение и лечение хронических гепатитов В и С у больных ВИЧ-инфекцией Шахгильдян В.И. Федеральный научно-методичес
Презентация на тему Параллелограмм и его свойства
Тригонометрические функции
Физкультура и спорт
Продвижение аккаунта
Создание персонажа
Хороший старт- залог успеха!
Обоняние и вкус
Презентация на тему Портфолио воспитателя группы кратковременного пребывания
«Водоросли»
Технология рисования карандашом
Полуплоскость, Луч, Прямая
Традиционная еда
Презентация на тему Антонио Гауди
SEE.ua
Класс Ракообразные
Тест без ответов
Жабы
Клонирование человека: за и против
Новая жизнь здания Казанского вокзала, проект
мезень
Поздравляем победителей и призеров «Интеллектуального марафона-2012» среди учащихся 6-7 классов образовательных учреждений Центра
Государственные инициативы в области популяризации энергосбережения и повышения энергетической эффективности. Возможности для
Образ матери в музыке, поэзии, изобразительном искусстве
Метапредметная олимпиада