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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

в. mat представляет собой массив, состоящий из трех массивов, каждый из которых содержит 5 целых чисел.

г. psa представляет собой массив, состоящий из 20 указателей на char.

д. pstr представляет собой указатель на массив, состоящий из 20 значений char.

Массивы и указатели 415

8. Решите перечисленные ниже задачи.

а. Объявите массив, состоящий из шести значений типа int, и инициализируйте его значениями 1,2, 4, 8, 16 и 32.

б. Используйте форму запись с массивом для представления третьего элемента (имеющего значение 4) массива, объявленного в пункте а).

в. Предполагая, что действуют правила С99/С11, объявите массив из 100 значений типа int и инициализируйте его таким образом, чтобы последний элемент получил значение -1; значения остальных элементов Moiyr быть произвольными.

г. Предполагая, что действуют правила С99/С11, объявите массив из 100 значений типа int и инициализируйте его так, чтобы элементы 5, 10, 11, 12 и 3 получили значение 101; значения остальных элементов могут быть произвольными.

9. Каков диапазон значений индекса в 10-элементном массиве?

10. Предположим, что имеются следующие объявления:

float rootbeer[10], things[10] [5], *pf, value = 2.2;

int i = 3;

Укажите, какие из приведенных ниже операторов допустимы, а какие — нет:

а. rootbeer [2] = value;

б. scanf ("%f", srootbeer);

в. rootbeer = value;

г. printf ("%f", rootbeer);

Д. things [4] [4] = rootbeer [3];

е. things [5] = rootbeer;

ж. pf = value;

з. pf = rootbeer;

11. Объявите массив размерности 800x600 значений типа int.

12. Имеются три объявления массивов:

double trots[20]; short clops[10][30]; long shots[5][10][15];

а. Напишите прототип и оператор вызова для традиционной функции типа void, которая обрабатывает массив trots, и для функции С, использующей массив переменной длины.

б. Напишите прототип и оператор вызова для традиционной функции типа void, которая обрабатывает массив clops, и для функции, использующей массив переменной длины.

в. Напишите прототип и оператор вызова для традиционной функции типа void, которая обрабатывает массива shots, и для функции, использующей массив переменной длины.

13. Имеются два прототипа функций:

void show(const double ar[], int n); // n - количество элементов

void show2(const double ar2[] [3], int n); // n - количество строк

а. Напишите вызов функции, который передает show() составной литерал, содержащий значения 8, 3, 9 и 2.

б. Напишите вызов функции, который передает show2() составной литерал, содержащий значения 8, 3 и 9 в первой строке и значения 5, 4 и 1 во второй ( троке.

416 глава 10

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

1. Модифицируйте программу rain, с из листинга 10.7, чтобы она выполняла вычисления с использованием указателей вместо индексов. (Вам по-прежнему придется объявлять и инициализировать массив.)

2. Напишите программу, которая инициализирует массив значений типа double и затем копирует его содержимое в три других массива. (Все четыре массива должны быть объявлены в главной программе.) Для создания первой копии воспользуйтесь функцией, в которой применяется форма записи с массивами. Для создания второй копии используйте функцию, в которой применяется форма записи с указателями и инкрементирование указателей. Первые две функции должны принимать в качестве аргументов имя целевого массива, имя исходного массива и количество элементов, подлежащих копированию. Третья функция должна принимать в качестве аргументов имя целевого массива, имя исходного массива и указатель на элемент, следующий за последним элементом в исходном массиве. С учетом приведенных ниже объявлений вызовы функций должны выглядеть так:

double source[5] = {1.1, 2.2, 3.3, 4.4, 5.5}; double targetl[5]; double target2[5]; double target3[5];

copy_arr(targetl, source, 5); copy_ptr(target2, source, 5); copy_ptrs(target3, source, source + 5);

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

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

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

6. Напишите функцию, которая изменяет порядок следования содержимого массива значений типа double на противоположный и протестируйте ее в простой программе.

7. Напишите программу, которая инициализирует двумерный массив значений типа double и использует одну из функций копирования из упражнения 2 для его копирования во второй двумерный массив. (Поскольку двумерный массив - это массив массивов, функция для копирования одномерных массивов может применяться с каждым подмассивом.)

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

Интервал:

Закладка:

Сделать

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

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


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

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

x