Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015

Здесь есть возможность читать онлайн «Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 0101, Издательство: Вильямс, Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Язык программирования C. Лекции и упражнения (6-е изд.) 2015», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

М3 = Ml; puts(М3);

return 0;

}

8. Что выведет следующая программа?

#include int main(void)

{

char strl[] = "gawsie"; char str2[] = "bletonism"; char *ps;

int i = 0;

for (ps = strl; *ps != '\0'; ps++) { if ( *ps== 'a' || *ps== 'e') putchar(*ps);

else

(*ps)

putchar (*ps);

}

putchar('\n ');

while (str2[i] != '\0') {

printf ("%c", i % 3 ? str2[i] : '*');

++i;

}

return 0;

}

9. Функцию s_gets(), определенную в этой главе, можно переписать в форме с использованием указателей, а не массивов, чтобы исключить из нее переменную i. Сделайте это.

10. Функция strlen() принимает указатель на строку в качестве аргумента и возвращает длину строки. Напишите свою версию этой функции.

11. Функцию s_gets(), определенную в этой главе, можно переписать с использованием функции strchr() вместо цикла while для обнаружения символа новой строки. Сделайте это.

Символьные строки и строковые функции 477

12. Разработайте функцию, которая принимает указатель на строку в качестве аргумента и возвращает указатель на первый символ пробела, расположенный в указанной позиции внутри строки или после нее. Функция должна возвращать нулевой указатель, если пробелы не найдены.

13. Перепишите программу из листинга 11.21, используя функции из ctype.h для того, чтобы программа распознавала правильный ответ независимо от применения пользователем прописных или строчных букв.

Упражнения по программированию

1. Разработайте и протестируйте функцию, которая извлекает из ввода следующие п символов (включая символы пробела, табуляции и новой строки), сохраняя результаты в массиве, адрес которого передается в качестве аргумента.

2. Модифицируйте и протестируйте функцию из упражнения 1, обеспечив в ней прекращение ввода после n символов либо при достижении первого символа пробела, табуляции или новой строки, в зависимости от того, что произойдет раньше. (Не ограничивайтесь только использованием scanf().)

3. Разработайте и протестируйте функцию, которая читает первое слово из строки ввода в массив и отбрасывает остальную часть строки. Функция должна пропускать ведущие пробельные символы. Определите слово как последовательность символов, не содержащую символов пробела, табуляции или новой строки. Используйте функцию getchar(), а не scanf().

4. Разработайте и протестируйте функцию, подобную описанной в упражнении 3, за исключением того, что она принимает второй параметр, указывающий максимальное количество символов, которые могут быть прочитаны.

5. Разработайте и протестируйте функцию, которая ищет в переданной в первом параметре строке первое вхождение символа, заданного во втором параметре. Функция должна возвратить указатель на этот символ, если он найден, и ноль в противном случае. (Поведение этой функции дублирует работу библиотечной функции strchr().) Протестируйте функцию в завершенной программе, которая использует цикл для передачи входных значений созданной функции.

6. Напишите функцию по имени is within(), которая в качестве двух своих параметров принимает символ и указатель на строку. Функция должна возвращать ненулевое значение, если заданный символ содержится в строке, и ноль в противном случае. Протестируйте функцию в завершенной программе, которая использует цикл для передачи входных значений созданной функции.

7. Функция strncpy (si, s2, n) копирует в точности n символов из строки s2 в строку si, при необходимости усекая s2 или дополняя ее нулевыми символами. Целевая строка может не содержать завершающего нулевого символа, если длина строки s2 равна или больше n. Функция возвращает строку si. Напишите свою версию этой функции и назовите ее mystrncpy(). Протестируйте функцию в завершенной программе, которая использует цикл для передачи входных значений созданной функции.

8. Напишите функцию string in(), которая принимает в качестве аргументов два указателя на строки. Если вторая строка содержится внутри первой, функция должна возвратить адрес, с которого начинается вторая строка в первой строке.

глава 11

картинка 372Например, вызов string_in ("данные", "ан") возвратит адрес символа а в строке данные. В противном случае функция должна возвратить нулевой указатель. Протестируйте функцию в завершенной программе, которая использует цикл для передачи входных значений созданной функции.

9. Напишите функцию, которая заменяет содержимое указанной строки этой же строкой, но с обратным порядком следования символов. Протестируйте функцию в завершенной программе, которая использует цикл для передачи входных значений созданной функции.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Представляем Вашему вниманию похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Обсуждение, отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x