Главная » Просмотр файлов » Т.В. Руденко - Сборник задач и упражнений по языку Си

Т.В. Руденко - Сборник задач и упражнений по языку Си (1114664), страница 12

Файл №1114664 Т.В. Руденко - Сборник задач и упражнений по языку Си (Т.В. Руденко - Сборник задач и упражнений по языку Си) 12 страницаТ.В. Руденко - Сборник задач и упражнений по языку Си (1114664) страница 122019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 12)

1. pr1 ; pr2 ; ... ; prNпоследовательное выполнение команд prI - как если бы онибыли переданы интерпретатору по одной команде в строкеВНИМАНИЕ !!! приоритет операции | выше, чем приоритет операции; однако, возможно использование скобок: напрмер, ( pr1; pr2 ) | pr3, что приведет к конкатенации результатов работы pr1 и pr2, которые будут переданы процессу pr3 как входные данные.2. pr1 && pr2выполнить pr1; в случае успеха выполнить pr23. pr1 || pr2выполнить pr1; в случае неудачи выполнить pr25410. ПРИЛОЖЕНИЯ10.1Библиотека стандартных функций языка СЗдесь приводится краткое описание некоторых библиотечных функций,утвержденных в качестве ANSI-стандарта языка Cи.

Более подробное и полноеописание этой библиотеки можно найти в [1] и [2].10.1.1 Функции работы со строкамиЭти функции определены в головном файле <string.h>. Если копирование имеет дело с объектами, перекрывающимися по памяти, то поведениефункций не определено. Функции сравнения рассматривают аргументы как массивы элементов типа unsigned char.char *strcpy(char *s, const char *ct)копирует строку ct в строку s, включая ‘\0’; возвращает s.char *strcat (char *s, const char *ct)приписывает ct к s; возвращает s.char strcmp(const char *cs, const char *ct)сравнивает cs с ct; возвращает значение меньшее 0, если cs<ct; равное 0,если cs==ct, и большее 0,если cs>ct.char *strchr(const char *cs, char c)возвращает указатель на первое вхождение c в cs или, если такового неоказалось, NULL.char *strrchr(const char *cs, char c)возвращает указатель на последнее вхождение c в cs или, если таковогоне оказалось, NULL.char *strstr(const char *cs, const char *ct)возвращает указатель на первое вхождение ct в cs или, если такового неоказалось, NULL.size_t strlen(const char *cs)возвращает длину cs (без учета ‘\0’).char *strtok(char *s, const char *ct)ищет в s лексему, ограниченную литерами из ct.Последовательные вызовы функции strtok разбивают строку s на лексемы.

Ограничителем лексемы может быть любая литера, входящая встроку ct. В первом вызове функции указатель s не равен NULL. Функ55ция находит в строке s первую лексему, состоящую из литер, не входящих в ct; работа этого вызова завершается тем, что поверх следующейлитеры пишется ‘\0’ и возвращается указатель на выделенную лексему.Каждый последующий вызов функции strtok, в котором указатель s равен NULL, выдает указатель на следующую лексему, которую функциябудет искать сразу за концом предыдущей.

Функция возвращает NULL,если далее никакой лексемы не обнаружено. Параметр ct от вызова квызову может варьироваться.void *memcpy(void *s, const void *ct, size_t n)копирует n литер из ct в s и возвращает s.void *memset(void *s, char c, size_t n)размещает литеру c в первых n позициях строки s и возвращает s.10.1.2 Функции проверки класса литерГоловной файл <ctype.h> предоставляет функции, которые позволяютопределить, принадлежит ли литера определенному классу. Параметр каждой изэтих функций имеет тип int и должен быть либо значением unsigned char, приведенным к int, либо значением EOF; возвращаемое значение тоже имеет тип int.Функции возвращают ненулевое значение (“истину”), если аргумент принадлежит указанному классу литер, и нуль (“ложь”) – в противном случае.int isupper (int c)int islower (int c)int isalpha (int c)int isdigit (int c)int isalnum (int c)int isxdigit (int c)int isspace (int c)int isgraph (int c)int isprint (int c)буква верхнего регистрабуква нижнего регистраisupper(c) или islower(c) истиныдесятичная цифраisalpha (c) или isdigit (c) истинышестнадцатиричная цифрапробел, новая-строка, возврат-каретки, табуляцияпечатаемая литера, кроме пробелапечатаемая литера, включая пробелКроме этих функций в файле есть две функции, выполняющие преобразование букв из одного регистра в другой.int tolower (int c)если с – буква верхнего регистра, то tolower(c) выдаст эту букву нанижнем регистре; в противном случае она вернет c.int toupper (int c)если с – буква нижнего регистра, то toupper(c) выдаст эту букву наверхнем регистре; в противном случае она вернет c.5610.1.3 Ввод-выводПоток - это источник или получатель данных; его можно связать с диском или каким-либо другим внешним устройством.

Библиотека поддерживаетдва вида потоков: текстовый и бинарный.Текстовый поток - это последовательность строк. Каждая строка имеетнуль или более литер и заканчивается литерой ‘\n’.Бинарный поток - это последовательность не преобразуемых байтов,представляющих собой некоторые промежуточные данные, которые обладаюттем свойством, что, если их записать, а затем прочитать той же системой вводавывода, то мы получим информацию, совпадающую с исходной.В UNIXе эти виды потоков не различаются.Поток соединяется с файлом или устройством посредством его открытия; эта связь разрывается при закрытии потока. Открытие файла возвращаетуказатель на объект типа FILE, который содержит всю информацию, необходимую для управления этим потоком.

Если не возникает двусмысленности, далеебудем использовать термины «файловый указатель» и «поток» как равнозначные.Когда программа начинает работу, уже открыты три потока: stdin, stdoutи stderr.Все приведенные ниже функции, связанные с вводом-выводом, определены в головном файле <stdio.h>.10.1.3.1Операции над файламиFILE *fopen ( const char *filename, const char* mode )функция fopen открывает файл с заданным именем и возвращает указатель на файл или NULL, если файл не удалось открыть.Допустимые значения режима:«r»«w»текстовый файл открывается для чтениятекстовый файл создается для записи; старое содержимое (еслионо было) удаляется«a»текстовый файл открывается или создается для записи в конецфайла«r+»текстовый файл открывается для исправления (т.е.

для чтения изаписи)«a+»текстовый файл создается или открывается для исправленияуже существующей информации и добавления новой в конецфайлаРежим «исправления» позволяет читать и писать в один и тотже файл; при переходах от операции чтения к операции записи и обратно нужновызывать функцию fflush либо функцию позиционирования файла. Если значение режима дополнить буквой b (например, «rb» или «a+b»), то это будет означать, что файл бинарный.FILE *freopen ( const char *filename, const char* mode, FILE *stream)57функция freopen открывает файл с указанным режимом и связывает егос потоком stream. Она возвращает stream или, в случае ошибки, NULL.Обычно функция freopen используется для замены файлов, связанных сstdin, stdout или stderr, другими файлами.int fflush ( FILE *stream)если функцию fflush применить к потоку вывода, то происходит дозапись всех оставшихся на буфере (еще не записанных ) данных.

Для потока ввода эта функция не определена. Функция возвращает EOF, есливо время записи возникла ошибка, и нуль в противном случае. Обращение вида fflush (NULL) выполняет указанные операции для всех потоков вывода.int fclose ( FILE *stream)функция fclose производит дозапись еще не записанных буферизованных данных, сбрасывает непрочитанный буферизованный ввод, освобождает все автоматически запрошенные буфера, после чего закрываетпоток.

Возвращает EOF в случае ошибки и нуль в противном случае.int remove(const char *filename)функция remove удаляет файл с указанным именем; последующая попытка открыть файл с таким именем вызовет ошибку. Возвращает ненулевое значение в случае неудачной попытки.int rename(const char *oldname, const char* newname)функция rename заменяет старое имя файла oldname новым newname;если попытка изменить имя оказалась неудачной, то возвращает ненулевое значение, в противном случае - нуль.10.1.3.2Форматный выводФункции форматного вывода осуществляют вывод информации в соответствии с форматом.int fprintf ( FILE* stream, const char* format,...)функция преобразует и пишет вывод в поток stream под управлениемформата format.

Возвращаемое значение - число записанных литер или,в случае ошибки, отрицательное значение.Строка формата может содержать обычные литеры, которые копируются ввыводной поток, и спецификации преобразования, которые вызывают преобразование и печать значений других аргументов в том порядке, как они перечислены. Каждая спецификация преобразования начинается символом % и заканчивается литерой-спецификатором преобразования. Между % и литеройспецификатором могут быть расположены символы управления печатью ( в томпорядке, в каком они перечислены ниже):• флаги58указывает, что преобразованное значение аргументадолжно быть прижато к левому краю поля;+предписывает указывать знак числа;пробелесли первая литера - не знак, то числу должен предшествовать пробел;0указывает, что числа должны дополняться ведущими нулями до всей ширины поля;#указывает на одну из следующих форм вывода: для о первой цифрой должен быть 0; для х или Х ненулевому результату должны предшествовать 0х или 0Х; для e, E, f, g и G вывод всегда должен содержать десятичную точку; для g и G хвостовые нули не отбрасываются.• число, определяющее минимальную ширину поля.

Преобразованныйаргумент будет напечатан в поле, размер которого не меньше указанной ширины. Если число литер, необходимых для представления значения аргумента,больше указанной ширины поля, то значение будет напечатано в поле большегоразмера; если меньше - поле будет дополнено слева (или справа, если числоприжимается к левому краю). Поле дополняется пробелами (или нулями, еслиприсутствует флаг дополнения нулями).• точка, отделяющая указатель ширины поля от указателя точности.• число, задающее точность, которое определяет максимальное количество литер, печатаемых из строки, или количество цифр после десятичной точкив преобразованиях e, E или f, или количество значащих цифр для g- или Gпреобразования, или минимальное количество цифр при печати целого (до необходимой ширины поля число дополняется ведущими нулями).• модификаторы h, l или L. Литера h указывает, что соответствующийаргумент должен печататься как short или unsigned short; литера l - как long илиunsigned long; литера L - как long double.литеры-спецификаторы и их смысл при выводе------------------------------------------------------------------------------------------------------литератип аргумента; вид печати------------------------------------------------------------------------------------------------------d,iint; знаковая десятичная запись.оint; беззнаковая восьмеричная запись ( без ведущего 0).x,Xint; беззнаковая шестнадцатиричная запись ( без ведущих 0x или 0X),в качестве цифр от 10 до 15 используются abcdef для x и ABCDEFдля X.uint; беззнаковое десятичное целое.cint; единичная литера после преобразования в unsigned char.schar *; литеры строки печатаются, пока не встретится ‘\0’ или не будет напечатано количество литер, указанное точностью.fdouble; десятичная запись вида [-]mmm.ddd, где количество d специфицируется точностью.

По умолчанию точность равна 6; нулеваяточность подавляет печать десятичной точки.e,Edouble; десятичная запись вида [-]m.dddddde±xx или вида[-]m.ddddddE±xx, где d специфицируется точностью. По умолчанию59g,Gp%точность равна 6; нулевая точность подавляет печать десятичнойточки.double; используется %e и %E, если экспонента меньше 4 или больше или равна точности; в противном случае используется %f. Хвостовые нули и точка в конце не печатаются.void*; печатает в виде указателя ( представление зависит от реализации).никакие аргументы не преобразуются; печатается %int printf ( const char* format,...)семантика функции полностью эквивалентна fprintf (stdout, const char*format,...)int sprintf (char *s, const char* format,...)sprintf действует так же, как и printf, только вывод осуществляется встроку s, которая завершается литерой ‘\0’. Строка s должна быть достаточно большой, чтобы вместить результат вывода.

Возвращает количество записанных литер (без учета ‘\0’).10.1.3.3Форматный вводФункции форматного ввода осуществляют ввод информации в соответствии с форматом.int fscanf (FILE* stream, const char* format,...)функция читает данные из потока stream под управлением форматаformat. Введенные данные присваиваются аргументам, следующим зааргументом format. Все эти аргументы должны быть указателями.Функция завершает работу, если исчерпался формат или возниклаошибка преобразования.

Характеристики

Тип файла
PDF-файл
Размер
942,54 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6485
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее