Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Моя первая программа на С++.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

Упражнения

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

  2. Решите, какие типы данных вам необходимы и напишите их опре- деления для программы, которая рассчитывает сумму и среднее арифметическое значение четырех чисел.

  3. Объясните, какие ошибки имеются в следующих инструкциях:

  1. char client[3]="Ajax";

  2. main()

  3. float tax_due;

  4. char name(10);

  5. int count(5); tax_due = "$1635.00";

Глава 4

ВЫВОД В СИ/СИ++

Выводом называется процедура переноса данных из памяти компьютера в другое место. Данные можно вывести на экран, отпечатать на принтере или сохранить на диске в виде файла. Кроме того, данные можно сохранить на магнитной ленте или послать по телефонной линии через модем или по факсу.

Вывод данных не означает, что они удаляются из памяти компьютера или что изменяется способ их хра- нения, компьютер просто копирует данные и посылает их куда-то еще.

В этой главе вы научитесь выводить данные на экран монитора.

Функции, используемые для вывода данных, зависят от типа данных и способа их представления. Наибо- лее прост вывод строк и символьных данных.

Функция puts()

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

    • Строковый литерал:

Puts("Всем привет!");

    • Строковая константа:

    • #Define message "Всем привет"

    • main()

 {

    • puts(MESSAGE);

}

    • Строковая переменная:

    • char greeting[]="Всем привет";

    • main()

 {

    • puts(geering);

}

Использование любого другого типа констант, переменных или литералов приведет к ошибке компиляции. Строковый литерал, в отличие от имени константы или переменной, должен быть заключен в двойные ка- вычки.

Большинство компиляторов выполняют перевод строки после выполнения функции puts(). Это значит, что после того, как данные выведены на экран монитора, курсор автоматически переходит в начало следую- щей строки.

Однако некоторые компиляторы не выполняют перевод строки. При работе с такими компиляторами для перевода курсора вы должны вставить специальный управляющий код \n в конце строки, предназначен- ной для вывода на экран (подробнее об управляющих кодах смотри дальше в этой главе). Хотя это свой- ство компилятора выглядит как недостаток, на самом деле оно может оказаться довольно полезным. Если автоматический перевод строки отсутствует, можно использовать несколько инструкций puts() для вывода на экран одной строки, поставив код \n только в том месте, где вы хотите закончить ее и перейти на сле- дующую.

Функция putchar()

Функция putchar() предназначена для вывода единичного символа на экран. Параметром функции может являться:

    • символьный литерал:

putchar('H');

    • символьная константа:

    • #define INITIAL 'H'

    • main()

 {

    • putchar(INITIAL);

}

    • символьная переменная:

    • main()

 {

    • char letter;

    • letter='G';

    • putchar(letter);

}

С помощью функции putchar() можно отображать только один символ. Инструкция

putchar('Hi');

приведет к ошибке компиляции.

При выводе на экран символьного литерала или управляющего кода их следует заключать в одинарные кавычки.

Большинство компиляторов Си не имеет автоматического перевода строки после функции putchar(), и курсор остается сразу за выведенным символом, не переходя к началу следующей строки. Для перехода на новую строку вы должны ввести управляющий код \n, который рассматривается дальше в этой главе.