Функция void c что это

Функция void c что это

Ниже на рисунке для иллюстрации всей идеи показана организация памяти некогда очень популярной архитектуры 8051.

Функция void c что это. Смотреть фото Функция void c что это. Смотреть картинку Функция void c что это. Картинка про Функция void c что это. Фото Функция void c что это

Указатель это переменная, которая содержит адрес ячейки памяти. Если, к примеру, адрес ячейки 2050H, то указатель используется для того, чтобы хранить в себе это значение адреса.

Примечание: адрес ячейки памяти это всегда положительное целое число. Диапазон адресов простирается от 0 (адрес первой ячейки памяти; часто этот адрес имеет специальное назначение, об этом позже) до положительной целочисленной константы (которая является адресом последней ячейки памяти).

[Переменные указателей]

Мы можем использовать переменные для хранения адресов памяти, и такие переменные известны как переменные указателей. Обычные переменные используются для хранения в себе значений каких-то данных определенного типа (char, int, float и т. д.). Перед использованием переменной в программе мы сначала её декларируем. Специальным образом нам нужно также декларировать переменные и для указателей – чтобы компилятор знал, что мы декларируем переменную как указатель (это не обычная переменная). Делается такая декларация с помощью оператора *, это так называемый оператор косвенного обращения на языке C (indirection operator), иногда его называют оператором разыменования.

Общий синтаксис декларации указателя следующий:

Здесь мы декларировали переменную указателя с именем ptr, и этот указатель предназначен для указания на первую ячейку памяти, где находится значение типа int.

Почему для указателей нужно указывать тип данных? По некоторому адресу в памяти могут содержаться какие-то данные, и это понятно. И это может быть данные любого типа char, int, float, даже структура, и т. д. Разница между типами в том, что они могут занимать для себя разное количество памяти. Char требует 1 байт, int может требовать 2 байта (хотя это не всегда так), и float занимает 4 байта. Память, выделенная для всех этих типов это последовательность из нескольких непрерывно следующих друг за другом байт.

Давайте рассмотрим сценарий наподобие следующего, в программе определены 3 переменные:

Предположим, что память системы начинается с адреса 2000H. Теперь символьная переменная ‘a’ будет находиться по адресу 2000H (и займет в памяти 1 байт), тогда как int-переменная ‘b’ займет 2 байта и будет находиться по адресам 2001H и 2002H. И наконец, последняя float-переменная ‘c’ займет 4 байта, и они будут находится в расположенных друг за другом байтах памяти с адресами 2003H, 2004H, 2005H, 2006H. Теперь Вы можете догадаться, зачем надо указывать типы данных, чтобы объявить переменную указателя. Причина в том, что области памяти под переменные выделяются в последовательных, находящихся друг за другом байтах памяти, и количество выделенных байт зависит от типа переменной, которая в них содержится.

Примечание: показанное в этом примере распределение памяти типично для 8-разрядных систем, таких как MSC-51 и AVR. Для 16-битных и 32-разрядных систем реальное распределение памяти для переменных может быть другим, что связано с выравниванием данных в памяти с целью более эффективного использования особенностей процессора.

Таким образом, когда мы декларируем переменную указателя как float *ptr, и затем присваиваем ей адрес обычной float-переменной c, то для компилятора устанавливается привязка указателя ptr ко всей области памяти от 2003H до 2006H. Но сама переменная ptr будет хранить в себе только начальный адрес блока памяти переменной (т. е. в нашем примере это 2003H), а тип указателя будет указывать для компилятора размер этого блока.

Следовательно, чтобы компилятор мог корректно интерпретировать содержимое памяти, соответствующее указателю, для указателя должен быть при декларации указан тип данных. И этот тип данных должен совпадать с типом данных, которые находятся по адресу переменной – тому адресу, который присваивается переменной указателя. Например, если адрес 2000H будет присвоен указателю ptr, то указателю будет соответствовать память, в которой находится символьная переменная ‘a’. В этом случае переменная указателя ptr должна быть декларирована с типом char, как показано ниже:

Примечание: фактически мы могли бы декларировать переменную указателя без какого либо типа данных, используя ключевое слово void. Тогда получится так называемый пустой указатель.

[Присваивание адреса переменной указателя]

Чтобы можно было использовать указатель и его возможности, указателю должен быть присвоен адрес переменной. Указателю можно присвоить адрес как одиночной переменной, так и адрес массива, так и адрес структуры, и адрес переменной класса, и даже адрес переменной указателя. Это делает указатели особенно мощным (но и достаточно опасным при неумелом использовании) инструментом в программировании на языке C. Мы можем играючи обращаться с памятью системы, используя указатели.

Чтобы присвоить адрес переменной указателя мы используем оператор & (оператор взятия адреса переменной). Оператор & возвратит начало места в памяти, где расположена переменная. Пример:

[Обращение к содержимому памяти по указателю]

Теперь мы знаем, как присваивать адрес переменной указателя. Но как можно в программе обратиться к содержимому переменной, адрес которой присвоен указателю? Для этого мы используем тот же оператор косвенного обращения *, который мы использовали для декларации переменной указателя. Операция взятия значения по указателю также называется разыменованием указателя.

Запуск этого кода выведет следующую строку:

[Арифметические операции над указателями]

[Указатели void на языке C]

Обычно переменная указателя декларируется с указанием типа данных содержимого, которое хранится в том месте памяти, на которое ссылается указатель (перевод статьи [2]). Примеры:

Переменная указателя, декларированная на определенный тип, не может содержать в себе адрес переменной другого типа. Это неправильно, и приведет к сообщению об ошибке при компиляции. Пример:

На языке C есть возможность создать указатель на неопределенный тип, так называемый «пустой указатель» (void pointer). Указатель на void это просто переменная указателя, которая декларирована с зарезервированным на языке C ключевым словом void. Пример:

Когда указатель декларируется с ключевым словом void, он становится универсальным. Это значит, что ему может быть присвоен адрес переменной любого типа (char, int, float и т. д.), и это не будет ошибкой.

[Разыменование void-указателя]

Как делается разыменование типизованных указателей с помощью оператора *, Вы уже знаете (если нет, то см. врезку «Что такое указатель»). Но в случае указателя на void нужно использовать приведение типа (typecast) переменной указателя, чтобы выполнить её разыменование (выполнить обращение к содержимому памяти, на которую ссылается void-указатель). Причина в том, что с void-указателем не связан никакой тип, и для компилятора нет никакого способа автоматически узнать, как обращаться к содержимому памяти, связанному с void-указателем. Таким образом, чтобы получить данные, на который ссылается void-указатель, мы делаем приведение указателя к корректному типу данных, которые находятся по адресу, содержащемуся в void-указателе.

Указатели void полезны для программиста, когда заранее неизвестно о типе данных, которые поступают на вход программы. Типичным примером могут служить библиотечные функции манипулирования блоками памяти memcpy, memset и т. п. С помощью void-указателя программист может сослаться на место размещения данных произвольного, заранее неизвестного типа данных. Программа, к примеру, может быть написана таким образом, чтобы запросить у пользователя, какое приведение типа нужно использовать, чтобы правильно обработать входные данные. Ниже приведен в качестве примера кусок подобного кода.

При использовании void-указателей следует помнить, что для них недопустимы арифметические операции, как для типизованных указателей (см. врезку «Что такое указатель»). Пример:

Источник

Урок №29. Тип данных void

Обновл. 11 Сен 2021 |

Тип void — это самый простой тип данных, который означает «отсутствие любого типа данных». Следовательно, переменные не могут быть типа void:

Тип void, как правило, используется в трех случаях:

Использование №1: Указать, что функция не возвращает значение:

Использование №2: Указать, что функция не имеет никаких параметров (перешло из языка Cи):

Указание типа void как «никаких параметров» является пережитком, сохранившимся еще со времен языка Cи. Следующий код равнозначен и более предпочтителен для использования в языке C++:

Правило: Используйте пустой список параметров вместо void для указания отсутствия параметров в функции.

Использование №3: Ключевое слово void имеет третий (более продвинутый) способ использования в языке C++, который мы будем рассматривать на уроке №92.

Поделиться в социальных сетях:

Урок №28. Инициализация, присваивание и объявление переменных

Комментариев: 5

Ключевое слово void имеет третий более продвинутый.
Этот void какой то эпический, уже 2й раз читаю что о нем мы узнаем дальше))) Мне кажется это пасхалка какая-то))

Если все-таки разделять понятия «процедура» и «функция» (понимаю, что в C понятие «процедура» отсутствует), то void станет более понятным.
Процедура — это просто последовательность действий.
Функция — это как бы «ответ на вопрос».
«Отсортируй переданный в параметрах массив» — процедура (void).
«Что получится, если перемножить переданные параметры?» — функция.

Все конспектировал)
довольно понятно,когда перечитываешь)

Какой же этот void задрочливый и сложен для понимания (для меня)((((((

Источник

Функции (C++)

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

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

Функции, определенные в области видимости класса, называются функциями-членами. В C++, в отличие от других языков, функции можно также определять в области видимости пространства имен (включая неявное глобальное пространство имен). Такие функции называются бесплатными функциями или функциями, не являющимися членами. Они широко используются в стандартной библиотеке.

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

Части объявления функции

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

Определение функции состоит из объявления, а также тела, который является кодом между фигурными скобками:

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

При объявлении функции необходимо указать:

Возвращаемый тип, указывающий тип значения, возвращаемого функцией, или void значение, если значения не возвращаются. В C++ 11 auto является допустимым возвращаемым типом, который указывает компилятору вывести тип из оператора return. В C++ 14 decltype(auto) также разрешено. Дополнительные сведения см. в подразделе «Выведение возвращаемых типов» ниже.

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

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

Необязательные элементы объявления функции:

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

Дополнительные сведения см. в разделе Преобразование единиц и компоновки.

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

Дополнительные сведения см. в разделе встроенные функции.

(только функции-члены) static применение к функции-члену означает, что функция не связана ни с одним экземпляром объекта класса.

(Только функции-члены, не являющиеся статическими) Квалификатор ref, указывающий компилятору, какую перегрузку функции следует выбрать, когда неявный параметр объекта ( *this ) является ссылкой rvalue или ссылкой lvalue. Дополнительные сведения см. в разделе перегрузка функций.

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

Функция void c что это. Смотреть фото Функция void c что это. Смотреть картинку Функция void c что это. Картинка про Функция void c что это. Фото Функция void c что это
Части определения функции

Определения функций

Определение функции состоит из объявления и тела функции, заключенной в фигурные скобки, которые содержат объявления переменных, инструкции и выражения. В следующем примере показано полное определение функции:

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

функции const и constexpr

Шаблоны функций

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

Параметры и аргументы функций

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

По умолчанию аргументы передаются функции по значению, то есть функция получает копию передаваемого объекта. Копирование крупных объектов может быть ресурсозатратным и неоправданным. Чтобы аргументы передавались по ссылке (в частности в ссылке lvalue), добавьте в параметр квантификатор ссылки.

Если функция изменяет аргумент, передаваемый по ссылке, изменяется исходный объект, а не его локальная копия. Чтобы предотвратить изменение такого аргумента функцией, укажите для параметра значение const & :

C++ 11: Чтобы явно отреагировать на аргументы, передаваемые по ссылке rvalue или lvalue-Reference, используйте двойной амперсанд для параметра, чтобы указать универсальную ссылку:

Функция, объявленная с ключевым словом Single void в списке объявлений параметров, не принимает аргументов, если ключевое слово void является первым и единственным членом списка объявлений аргумента. Аргументы типа void в любом расположении в списке выдают ошибки. Пример:

Обратите внимание, что, хотя недопустимо указывать void аргумент, за исключением описанного здесь, типы, производные от типа void (например, указатели на void и массивы void ), могут отображаться в любом месте списка объявлений аргумента.

Аргументы по умолчанию

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

Дополнительные сведения см. в разделе аргументы по умолчанию.

типов возвращаемых функциями значений;

Завершающие возвращаемые типы

«Обычные» возвращаемые типы расположены слева от сигнатуры функции. Завершающий возвращаемый тип расположен в правой части сигнатуры и предшествует оператору. Завершающие возвращаемые типы особенно полезны в шаблонах функций, когда тип возвращаемого значения зависит от параметров шаблона.

Если auto используется в сочетании с завершающим возвращаемым типом, он просто выступает в качестве заполнителя для любого результата выражения decltype и не выполняет выведение типов.

Локальные переменные функции

Выведение возвращаемых типов (C++14)

В этом примере auto будет выведена как неконстантная копия значения суммы LHS и RHS.

Обратите внимание, что не auto сохраняет константу-rvalue характеристики типа, который он выводит. Для функций перенаправления, возвращаемое значение которых должно сохранять аргументы const-rvalue характеристики или ref-rvalue характеристики из своих аргументов, можно использовать decltype(auto) ключевое слово, которое использует decltype правила вывода типа и сохраняет все сведения о типе. decltype(auto) может использоваться как обычное возвращаемое значение с левой стороны или как завершающее возвращаемое значение.

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

Возврат нескольких значений из функции

Существует несколько способов вернуть более одного значения из функции:

Инкапсулирует значения в именованном классе или объекте структуры. Требует, чтобы определение класса или структуры было видимым для вызывающего объекта:

Возвращает объект «канал» std:: Tuple или std::p Air:

Visual Studio 2017 версии 15,3 и более поздних версий (доступно в режиме и более поздних версиях): используйте структурированные привязки. Преимущество структурированных привязок заключается в том, что переменные, хранящие возвращаемые значения, инициализируются одновременно с объявлением, что в некоторых случаях может быть значительно более эффективным. В операторе auto[x, y, z] = f(); скобки представляют и инициализируют имена, которые находятся в области действия для всего блока Function.

Помимо использования возвращаемого значения, можно «возвращать» значения, определив любое количество параметров для использования передачи по ссылке, чтобы функция могла изменять или инициализировать значения объектов, предоставляемых вызывающим объектом. Дополнительные сведения см. в разделе аргументы функции ссылочного типа.

Указатели функций

Как и в C, в C++ поддерживаются указатели на функции. Однако более типобезопасной альтернативой обычно служит использование объекта-функции.

Рекомендуется typedef использовать для объявления псевдонима для типа указателя функции при объявлении функции, возвращающей тип указателя функции. Например.

Если оно не используется, то правильный синтаксис объявления функции можно вывести из синтаксиса декларатора для указателя на функцию, заменив идентификатор (в приведенном выше примере — fp ) на имя функции и список аргументов, как показано выше:

Предыдущее объявление эквивалентно объявлению, typedef приведенному выше.

Источник

Функция void c что это. Смотреть фото Функция void c что это. Смотреть картинку Функция void c что это. Картинка про Функция void c что это. Фото Функция void c что этоУРОК 2. БОЛЕЕ ВНИМАТЕЛЬНЫЙ ВЗГЛЯД НА C++

В уроке 1 вы создали несколько программ на C++. В то время ваша цель заключалась в том, чтобы понять процесс создания и компиляции программ на C++, а не в том, чтобы понять операторы C++. В данном уроке вы впервые более внимательно рассмотрите операторы, из которых состоит программа на C++. Вы увидите, что большинство программ на C++ придерживаются одного и того же формата: начинаются с одного или нескольких операторов # include, содержат строку void main(void), а затем набор операторов, сгруппированных между левой и правой фигурными скобками. Из этого урока вы поймете, что эти несколько запугивающие операторы реально очень просто освоить. К концу данного урока вы изучите следующие основные концепции:

ВЗГЛЯД НА ОПЕРАТОРЫ ПРОГРАММЫ

В уроке 1 вы создали на C++ программу FIRST.CPP, которая содержала следующие операторы:

В данном случае программа содержит три оператора. Фигурные скобки (называемые группирующими символами) группируют связанные операторы:

В следующем разделе каждый из операторов программы описывается более подробно.

ПРЕДСТАВЛЕНИЕ ОБ ОПЕРАТОРЕ #include

Каждая программа, представленная в уроке 1, начинается со следующего оператора # include:

При создании программ на C++ вы получаете преимущества от использования операторов и определений, которые обеспечивает вам компилятор. При компиляции программы оператор # include заставляет компилятор включить содержимое заданного файла в начало вашей программы. В данном случае компилятор включит содержимое файлаiostream.h.

Файлы с расширением h, которые вы включаете в начало (или заголовок)вашей программы, называются заголовочными файлами. Если вы посмотрите на каталог, содержащий файлы вашего компилятора, то найдете подкаталог с именем INCLUDE, в котором находятся разные заголовочные файлы. Каждый заголовочный файл содержит определения, предоставляемые компилятором для различных операций. Например, существует заголовочный файл, который содержит определения для математических операций, другой заголовочный файл описывает файловые операции и т. д.

Заголовочные файлы представляют собой файлы в формате ASCII, следовательно, вы можете вывести их содержимое на экран или принтер. В данный момент не беспокойтесь о содержимом заголовочных файлов. Просто поймите, что оператор # include позволяет вам использовать эти файлы. Все программы на C++, созданные вами в процессе изучения этой книги, содержат операторы # include, которые вы должны применять в ваших программах.

Каждая создаваемая вами программа на C++ начинается с одного или нескольких операторов #include. Эти операторы указывают компилятору включить содержимое заданного файла (заголовочного файла) в вашу программу, как если бы программа содержала операторы, которые находятся во включаемом файле. Заголовочные файлы содержат определения, используемые компилятором для операций различных типов. Существуют заголовочные файлы, которые определяют операции В/В (ввода/вывода) C++, системные функции (например, функции, возвращающие текущие дату и время) и многое другое.

Заголовочные файлы, подобно программам на C++, представляют собой файлы в формате ASCII, содержимое которых вы можете просмотреть или напечатать. Чтобы лучше понять содержимое заголовочных файлов, найдите время для того, чтобы напечатать заголовочный файл IOSTREAM.H, содержимое которого вы будете использовать в каждой создаваемой вами программе на C++. Обычно заголовочный файл IOSTREAM.H расположен в подкаталоге с именем INCLUDE, который находится в каталоге, содержащем файлы компилятора C++. Используйте текстовый редактор, чтобы просмотреть и напечатать содержимое заголовочных файлов.

Замечание: Никогда не изменяйте содержимое заголовочных файлов. Это может привести к ошибкам компиляции в каждой создаваемой вами программе.

ЧТО ТАКОЕ void main(void)

При создании программы на C++ ваш исходный файл будет содержать множество операторов. Как вы поймете в процессе изучения, порядок, в котором операторы появляются в программе, не обязательно должен совпадать с порядком, в котором операторы будут выполняться при запуске программы. Каждая программа на C++ имеет один вход, с которого начинается выполнение программы, — главную программу. В программах на C++ оператор void main(void) указывает стартовую точку вашей программы.

По мере того как ваши программы становятся больше и сложнее, вы будете делить их на несколько небольших легко управляемых частей. При этом оператор void main(void) указывает начальные (или главные) операторы программы — часть программы, которая выполняется первой.

Представление о главной программе

Исходные файлы C++ могут содержать очень много операторов. При запуске программы оператор void main(void) определяет главную программу, содержащую первый выполняемый оператор. Ваши программы на C++ должны всегда включать один и только один оператор с именем main.

При рассмотрении больших программ на C++ ищите main, чтобы определить операторы, с которых начинается выполнение программы.

Использование void

Как только ваша программа становится более сложной, вы должны разделить ее на небольшие более легко управляемые части, называемыефункциями. Функция представляет собой простой набор операторов внутри программы, выполняющих определенную задачу. Например, при создании программы платежных документов, вы могли бы создать функцию с именем salary, вычисляющую оклад служащих. Аналогичным образом, если вы пишете математическую программу, вы могли бы создать функции с именами square_root или cube, которые возвращают результат определенных математических операций. Если ваша программа использует функцию, функция выполняет свою задачу и затем возвращает свой результат программе.

Каждая функция в вашей программе имеет уникальное имя. А каждая программа имеет по крайней мере одну функцию. Каждая программа из урока 1 имела только одну функцию с именем main. Урок 9 предоставляет более подробный обзор функций. В данный момент просто имейте в виду, что функция состоит из нескольких связанных по смыслу операторов, выполняющих определенную задачу.

При исследовании различных программ на C++ вы будете постоянно сталкиваться со словом void. Программы используют слово void для указания того, что функция не возвращает значения или не имеет значений, передаваемых в нее. Например, если вы используете среду MS-DOS или UNIX, программа может завершить свое выполнение с возвратом операционной системе значения статуса, которое может быть проверено командным файлом. Командные файлы MS-DOS проверяют выходной статус программы, используя команду IF ERRORLEVEL. Например, предположим, что программа с именем PAYROLL. EXE завершается с одним из следующих выходных значений статуса в зависимости от результата обработки:

Значение статусаСмысл
0Успех
1Файл не найден
2В принтере нет бумаги

Внутри командного файла MS-DOS вы можете проверить результат работы программы, используя команду IF ERRORLEVEL:

IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 GOTO SUCCESSFUL
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO NO_FILE
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO NO_PAPER
REM Далее идут другие команды

Большинство простых программ на C++, которые будут созданы вами в процессе изучения этой книги, не возвращают выходное значение статуса операционной системе. Поэтому вы должны размещать слово void передmain, как показано ниже:

void main (void) //— ——-> Программа не возвращает значение

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

void main ( void ) //———————-> Программа не использует аргументы командной строки

По мере усложнения ваши программы могут возвращать значения в операционную систему или использовать параметры командной строки. Однако в настоящий момент просто используйте void в операторе с main,как показано в этой программе.

ПРЕДСТАВЛЕНИЕ О ГРУППИРУЮЩИХ ОПЕРАТОРАХ

По мере усложнения в ваших программах будет один набор операторов, которые компьютер должен выполнить определенное число раз, и другой набор операторов, которые компьютер должен выполнить, если выполняется определенное условие. В первом случае компьютер может выполнить один и тот же набор операторов 100 раз, чтобы добавить для 100 студентов тестовые очки. Во втором случае компьютер может вывести на экран одно сообщение, если все студенты прошли тест, и другое сообщение, если один или несколько студентов потерпели неудачу. Внутри своих программ на C++ вы будете использовать правую и левую фигурные скобки <>, чтобы сгруппировать связанные операторы. В простых программах, представленных в нескольких первых уроках книги, эти символы группируют операторы, которые соответствуют операторам вашей главной программы.

ИСПОЛЬЗОВАНИЕ cout ДЛЯ ОТОБРАЖЕНИЯ ВЫВОДА НА ЭКРАН

Все программы на C++, созданные вами в уроке 1, выводили сообщения на экран. Чтобы вывести сообщение, программы использовали cout и двойной знак «меньше» (

Слово cout представляет собой выходной поток, который C++ назначает на стандартное устройство вывода операционной системы. По умолчанию операционная система назначает стандартное устройство вывода на экран дисплея. Чтобы вывести сообщение на экран, вы просто используете двойной символ «меньше» (называемый оператором вставки) с выходным потоком cout. Из урока 3 вы узнаете, что можно использовать оператор вставки для передачи символов, чисел и других знаков на экран.

Представление о выходном потоке cout

Вы уже знаете, что программы на C++ используют выходной поток cout для вывода сообщений на экран. При использовании cout для вывода сообщений представляйте cout в виде потока символов, которые операционная система отображает на экране. Другими словами, порядок, в котором ваша программа посылает символы в cout, определяет порядок символов, которые будут появляться на экране. Например, для следующих операторов программы:

Операционная система выводит поток символов следующим образом:

Это сообщение появляется первым, а за ним следует настоящее сообщение.

Оператор вставки (

Вы уже знаете, что выходной поток cout по умолчанию соответствует вашему экрану. Другими словами, когда ваши программы посылают вывод в cout, вывод появляется на экране. Однако, используя операторы переназначения вывода операционной системы, вы можете послать вывод программы на принтер или в файл. Например, следующая команда предписывает MS-DOS направить вывод программы FIRST.EXE на принтер, а не на экран:

Как вы узнаете из Урока 3, с помощью cout в C++ можно выводить символы, целые числа, например 1001, и числа с плавающей точкой, например 3.12345. Из Урока 8 вы узнаете, что в C++ существует также входной поток с именем cin, который ваши программы могут использовать для чтения информации, вводимой с клавиатуры.

ЧТО ВЫ ДОЛЖНЫ ЗНАТЬ

В этом уроке обсуждались некоторые общие вопросы, с которыми вы столкнетесь в программах на C++. Из Урока 3 вы узнаете, как использовать cout для вывода символов, целых чисел и значений с плавающей точкой. Вы также узнаете, как форматировать вывод. До изучения урока 3 убедитесь, что вы освоили следующие основные концепции:

Случайные статьи

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *