1. Основы языка программирования С
1. 1. Этапы обработки программы
1. 5. Предложения языка
1. 10. Определение данных
1. 11. Операторы языка
1. 11. Операторы языка
1. 11. Операторы языка
1. 12. Ввод/вывод
1. 13. Пример программы Необходимо проверить правильность работы функции возведения вещественного числа в целую степень. Функция main() должна - ввести требуемые данные - вычислить степень числа - вывести результат
1. 14. Результаты тестирования
1. 15. Задача Дано целое число n. Написать функцию, которая определяет количество цифр в записи числа. Протестировать функцию.
1. 16. Задачи
2. Массивы и указатели
2. 1. Массивы
2. 1. Массивы a[0] = 10 a[1] = 20 a[2] = 30 a = 1245016 (12 ff 58)
2. 2. Указатели int a[3] = {10, 20, 30}; int *p;
2. 2. Указатели
2. 5. Передача аргументов
2. 5. Передача аргументов
2. 5. Передача аргументов Задача: Дана нуль ограниченная строка символов. Подсчитать количество символов в строке (длину строки).
3. Стандартная библиотека
Требуется явное преобразование типа: char * pc = (char *) malloc(80); int * pi = (int *)calloc(20, sizeof(int));
3. 2. Работа с памятью
3. 3. Обработка строк char *strcat(char *s 1, const char *s 2) char *strncat(char *s 1, const char *s 2, size_t n) const char *strchr(const char *s, int c) const char *strrchr(const char *s, int c) int strcmp(const char *s 1, const char *s 2) int strncmp(const char *s 1, const char *s 2, size_t n) char *strcpy(char *s 1, const char *s 2) char *strncpy(char *s 1, const char *s 2, size_t n)
3. 3. Обработка строк size_t strcspn(const char *s 1, const char *s 2) size_t strlen(const char *s) const char *strpbrk(const char *s 1, const char *s 2) const char *strstr(const char *s 1, const char *s 2) char *strtok(char *s 1, const char *s 2)
3. 4. Ввод строки gets(char *); не контролирует размер памяти scanf(“%Ls”, buf) (размер памяти – L + 1); не вводит пробелы и символ ‘n’ scanf(“%L[^n]”, buf); вводит любые символы, кроме ‘n’ остается во входном потоке
3. 4. Ввод строки char buf[L + 1]; int n; n = scanf(“%L[^n]%*c”, buf); позволяет удалить из входного потока символ ‘n’
3. 5. Варианты ввода данных n = scanf(“%L[^n]”, buf); 1. Вводится пустая строка входной поток: Результат: n=0 buf не меняет своего содержимого входной поток:
3. 5. Варианты ввода данных n = scanf(“%L[^n]”, buf); 2. Вводится срока длиной k <= L входной поток: Результат: n=1 buf: входной поток:
3. 5. Варианты ввода данных n = scanf(“%L[^n]”, buf); 3. Вводится строка длиной k > L входной поток: Результат: n=1 buf: входной поток: