Стефан Дэвис - С++ для чайников .
- Название:С++ для чайников .
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс. Компьютерное издательство Диалектика
- Год:2007
- Город:Москва
- ISBN:0-7645-6852-3, 978-5-8459-0723-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стефан Дэвис - С++ для чайников . краткое содержание
1
empty-line
4
С++ для чайников . - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
/* Заголовочный файл math содержит прототипы функций, которые могут использоваться несколькими программами. */
/* Функция abs возвращает абсолютное значение аргумента */
double abs( double d ) ;
/* Функция square возвращает квадрат аргумента */
double square( double d ) ;
Программа использует заголовочный файл math следующим образом:
/* Программа с математическими вычислениями */
#include "math"
using namespace std ;
// Код программы
Директива #include требует от препроцессора заменить её содержимым указанного в ней файла.( Между # и include можно ставить пробел, а вот между < и iostream нельзя.— Прим. рер. )
Эта директива имеет вид, отличный от формата инструкций С++, поскольку она обрабатывается до компиляции программы. Директива должна располагаться на одной строке и начинаться с символа # в первой позиции строки. Имя файла может быть заключено либо в кавычки, либо в угловые скобки ( последние используются для библиотечных файлов С++ ). Для пользовательских заголовочных файлов применяются кавычки.
С++ предоставляет программисту стандартные заголовочные файлы, такие как cstdio или iostream . В частности, в файле iostream содержится прототип использованной в главе 4, "Выполнение логических операций", функции setf( ) для вывода чисел в шестнадцатеричном виде.
«Так сложилось, что годами программисты использовали расширение.h для заголовочных файлов. Однако в последние годы это соглашение для заголовочных файлов стандартной библиотеки С++ было отменено стандартом ( например, заголовочный файлcstdio ранее называлсяstdio.h ). Однако многие программисты продолжают давать расширение.h своим заголовочным файлам. Даже в программировании есть традиции!»
[ Атас! ]
_________________
91 стр. Глава 6. Создание функций
ОГЛАВЛЕНИЕ
В этой главе...
►Преимущества массивов 92
►Использование символьных массивов 98
►Управление строками 100
►Тип string 103
Массивом называется последовательность переменных одного типа, использующая одно имя; для ссылки на конкретное значение применяется индекс. Массивы удобны для хранения больших количеств взаимосвязанных значений. Например, голы, забитые каждым игроком футбольной команды, естественно сохранять именно в массивах. В С++ допускаются и многомерные массивы. Например, массивы с количеством голов можно сохранить в массиве месяцев — это позволит работать с количеством голов, забитых каждым игроком в определённом месяце.
Из этой главы вы узнаете, как инициализировать и использовать массивы не только для работы, но и для развлечения. А ещё я расскажу об очень полезном виде массивов — строках, которые в С++ являются массивом значений типа char .
►Преимущества массивов...92
Рассмотрим следующую проблему. Вам нужна программа, которая сможет считывать последовательность чисел, введённых с клавиатуры. Будем использовать уже привычное правило, согласно которому ввод чисел завершается после первого отрицательного значения. Однако данная программа, в отличие от уже рассмотренных в главах 5, "Операторы управления программой", и 6, "Создание функций", после того, как все числа прочитаны, отображает их на стандартном устройстве вывода.
Можно попытаться хранить числа в независимых переменных, например:
cin >> value1 ;
if ( value1 >= 0 )
{
cin >> value2 ;
if ( value2 >= 0 )
{
...
Однако нетрудно заметить, что этот подход позволит управлять последовательностью, которая будет состоять всего лишь из нескольких чисел, а кроме того, такая запись выглядит довольно уродливо. В нашем случае нужна такая структура данных, которая, как и любая переменная, имеет своё имя, но может содержать больше одной переменной. Для этого как раз и используются массивы.
_________________
92 стр. Часть 2. Становимся функциональными программистами
С помощью массивов можно легко решить проблему работы с подобными последовательностями. В приведённом далее фрагменте объявляется массив valueArray , в котором можно хранить до 128 целых значений. Затем он заполняется числами, введёнными с клавиатуры,
int value ;
/* объявление массива, способного содержать до 128 чисел типа int */
int valueArray[ 128 ];
/* определение индекса, используемого для доступа к элементам массива; его значение не должно превышать 128 */
for ( int i = 0 ; i < 128 ; i++ )
{
cin >> value ;
/* выходим из цикла, если пользователь вводит отрицательное число */
if ( value < 0 ) break ;
valueArray[ i ] = value ;
}
Во второй строке кода ( без учёта комментариев ) объявлен массив valueArray . Первым в объявлении указывается тип элементов массива ( в нашем случае это int ), за ним следует имя массива, последним элементом являются открывающая и закрывающая квадратные скобки, в которых записывается максимальное число элементов массива. В нашем случае массив valueArray может содержать до 128 целочисленных значений.
Компьютер считывает число с клавиатуры и сохраняет его в следующем элементе массива valueArray . Доступ к элементам массива обеспечивается с помощью имени массива и индекса, указанного в квадратных скобках. Первый элемент массива обозначается как valueArray[ 0 ] , второй — как valueArray[ 1 ] и т.д.
Запись valueArray[ i ] представляет собой i -й элемент массива. Индексная переменная i должна быть перечислимой, т.е. её типом может быть char , int или long . Если valueArray — массив целых чисел, то элемент valueArray[ i ] имеет тип int .
Работа с массивами...93
В представленной ниже программе осуществляется ввод последовательности целых чисел ( до первого отрицательного числа ), затем эта последовательность и сумма её элементов выводятся на экран.
/* ArrayDemo — демонстрирует использование массивов. Считывает последовательность целых чисел и отображает их по порядку */
#include
#include
#include
using namespace std ;
/* объявления прототипов функций */
int sumArray( int integerArray[ ] , int sizeOfloatArray ) ;
void displayArray( int integerArray[ ] , int sizeOfloatArray ) ;
_________________
93 стр. Глава 7. Хранение последовательностей в массивах
int main( int nArg , char* pszArgs[ ] )
{
setlocale ( LC_ALL , ".1251" ) ; /* печать русских текстов */
/* Описываем счётчик цикла */
int nAccumulator = 0 ;
Читать дальшеИнтервал:
Закладка: