- •1. Понятие и состав языка программирования. Машинные и символьные языки.
- •2. Понятие и состав системы программирования.
- •3. Описание алгоритмических языков. Формулы бнф.
- •4. Описание алгоритмических языков. Синтаксические диаграммы.
- •5.Типы ошибок в программах. Понятие отладки и отладчиков.
- •6.Алфавит си
- •7.Константы. Их типы синтаксис записи.
- •8. Структура программы на языке си
- •9. Стандартные скалярные типы данных. Описание переменных.
- •10 Операции отношения и Арифметические операции
- •11 Логические операции
- •12 Операция запятая
- •13. Операцию присваивания
- •14 Оператор while формально записывается в таком виде:
- •15 Оператор do-while формально записывается следующим образом:
- •16 Операторы цикла for
- •19 Указатели и операции с ними
- •20 Массивы
- •21 Структуры
- •22 Объединения
- •23 Перечислимый тип данных
- •24 Функции
- •25 Классы переменных
- •28 Форматированный ввод данных
- •29 Форматированный вывод данных
- •30 Стандартные включаемые файлы
- •31 Функции работы со строками c
- •32 Динамическое распределение памяти. Функции malloc( ) и free( )
- •33 Основной задачей программирования является обработка информации,
- •34 Потоковый ввод/вывод
- •35 Работа с файлами
- •36 Блочный Ввод-Вывод
30 Стандартные включаемые файлы
Язык C++ включает в себя те же библиотеки, что и Си, организованы они также, со следующими отличиями: Каждый заголовок файла имеет то же имя, что и версия языка Си, но с префиксом «c» и без расширения. Например, в C++ эквивалент заголовочного файла — это . Каждый элемент библиотек определён в стандартном пространстве имен. Тем не менее, для совместимости с языком Cи, традиционный формат записи имен заголовочных файлов — «имя файла.h» (например, stdlib.h) также предоставляется с теми же определениями в рамках глобального пространства имен. В приведенных примерах в этом справочнике, присутствуют примеры полностью совместимы с языком программирования Си, хотя его применение не рекомендуется использовать в C++.
(assert.h) Заголовочный файл, содержащий макросы используемые для диагностики, помогающей при отладке программы.
(ctype.h) Заголовочный файл содержит прототипы функций для обработки символов.
(errno.h) Заголовочный файл в котором объявлены макросы, для идентификации ошибок по их коду.
(float.h) Заголовочный файл, описывающий различные характеристики типов с плавающей точкой.
(iso646.h) Заголовочный файл, содержащий альтернативные написания некоторых макро-констант(их 12).
(limits.h) Заголовочный файл, содержащий предельные величины для целых чисел для данной системы.
(locale.h) Заголовочный файл локализации, содержит функции и классы для потоковой обработки данных в форме естественной для разных языков (денежный формат, представление символов, сортировка строк).
(math.h) Заголовочный файл, содержащий прототипы математических функций (sin, cos, tg, pow, sqrt и т. д.)
(setjmp.h) Заголовочный файл, объявляющий макросы для нелокальных переходов.
(signal.h) Заголовочный файл выполняющий обработку сигналов.
(stdint.h) Описывает целочисленные типы данных с установленными диапазонами представления чисел.
(stdio.h) Заголовочный файл для выполнения операций ввода/вывода.
(stdlib.h) Стандартный заголовочный файл, содержит функции для преобразования чисел в текст, выделения памяти , генерации случайных чисел и др. функций-утилит
(string.h) Заголовочный файл для работы с Си-строками(нуль-терминированными)
(time.h) Заголовочный файл для работы с датой и временем
31 Функции работы со строками c
Давайте вначале посмотрим, что нам может дать наша библиотека stdio.h, которая содержит парочку функций работы со строками:
int getchar()
возвращает значение символа, введенного вами с клавиатуры. А вот и вывод этого числа:
printf("%d", getchar());
char *gets (char *s)
функция просит вводить пользователя строку, которую она помещает в массив s, пока пользователь не нажмет 'Enter':
char str[7] = "";
gets(str) ;
int putchar (int c)
печатает символ, который имеет код 'c':
putchar(97);//напечатает символ а
int puts (char *s)
печатает строку s и переводит курсор на новую строку:
char str[7] = "sergey";
puts(str);
int sprintf (char *s, char *format, ...)
Выполняет тоже, что и функция printf, за тем исключением, что записывает данные в массив s:
char str[37] = "";
sprintf (str,"chislo:%d, month: %s",10,"desember");
//В массиве будет: chislo:10, month: desember
int sscanf (char *s, char *format, ...)
происходит ввод значений не с клавиатуры, а из массива s:
char str[37] = "sergey", s[100]="";
sscanf (str,"%s", s);
string.h
Теперь давайте рассмотрим очень мощную библиотеку для работы со строками c: string.h. Естественно, что для работы функций библиотеки string.h ее надо подключить к нашей программе.
Вот перечень функций:
char *strcpy (char *srt1, char str2)
Копирует строку str2 в строку str1, возвращаемым значением этой функции является новая, полученная строка str1
char str[37] = "sergey", s[100]="monk";
strcpy(str,s);
char *strncpy (char *srt1, char str2, int n)
эта функция делает все тоже самое, что и предвидущая, за исключением того, что тут возможен контроль количества копируемых символов:
char str[37] = "sergey", s[100]="monk";
strncpy(str,s,3);//ответ: mongey
char *strcat (char *srt1, char str2)
Функция добавляет в строку str1 строку str2. Т.е. на место нуль-терминатора в строке str1, вставляется строка str2:
char str[37] = "sergey", s[100]="monk";
strcat(str,s); //Ответ: sergeymonk
char *strncat (char *srt1, char str2, int n)
Добавляет к первой строке ровно n символов из второй строки
char str[37] = "sergey", s[100]="monk";
strncat(str,s,2);//ответ: sergeymo