на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Типы данных С++

Типы данных С++

22

Содержание

Введение

1. Структура программы

2. Комментарии

3. Переменные и типы данных

4. Константы

5. Перечисления

6. Преобразования типов

Выводы

Список использованной литературы

Введение

В начале 80-х годов сотрудник фирмы AT&T Bell Laboratories Бьярн Страуструп (Bjarne Siroustrup) разработал язык программирования С++. Этот язык был построен на базе языка программирования С и включал объектно-ориентированные конструкции, такие как классы, производные классы и виртуальные функции, заимствованные из языка simula67. Целью разработки С++ было «ускорить написание хороших программ и сделать этот процесс более приятным для каждого отдельно взятого программиста» (Б. Страус труп. «Язык профаммирования С++». -М., Наука, 1991).

Название С++, которое придумал Рик Маскити (Rick Mascitti) в 1983 году, отражает факт происхождения этого языка от С (вначале он назывался «С с классами»). В 1989 году Бьярн Страуструп опубликовал вместе с Маргарет Эллис «Справочное руководство но языку С++», послужившее основой для разработки проекта стандарта ANSI С++, разработанного комитетом ANSI X3J16. В начале 90-х годов к работе этого комитета подключился комитет WG21 Международной организации по стандартизации (ISO), и была начата работа по созданию единого стандарта ANSI/ISO С++. Результатом этой работы стал стандарт International Standard for Information Systems -Programming Language С++ (ISO/IEC JTC1/SC22/WG21), опубликованный в начале 1998 года. Большинство новейших компиляторов С++ сейчас в большей или меньшей мере соответствуют этому стандарту. И нет сомнения в том, что в ближайшее время все компиляторы этого языка будут приведены в соответствие стандарту.

Цель контрольной работы - ознакомиться с типом данных С++, а именно со структурой, комментариями, переменными и типами данных, константами, перечислениями, преобразованием типов.

Типы данных С++

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

1. Структура программы

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

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

¦ языки программирования низкого уровня;

¦ языки программирования высокого уровня.

К первой группе относят семейство языков Ассемблера (например, Turbo Assembler, Macro Assembler). Эти средства разработки программного обеспечения позволяют получить наиболее короткий и быстродействующий код (разумеется, при условии грамотного использования всей мощи, предоставляемой операционной системой). Однако следует отметить, что процесс программирования на языке низкого уровня - занятие весьма кропотливое, утомительное и занимает гораздо больше времени, чем при использовании языка высокого уровня. Кроме того, программы, написанные на Ассемблере, достаточно тяжелы для восприятия, вследствие чего вероятность возникновения ошибок в них значительно выше.

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

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

История появления языка С++ берет начало с 1972 года, когда Деннисом Ритчи и Брайаном Керниганом был разработан язык программирования С, сочетающий в себе возможности языков высокого и низкого уровня, позднее утвержденный Американским Национальным Институтом Стандартизации (ANSI).

В 1980 году благодаря стараниям Бьярна Страуструпа на свет появился прямой потомок ANSI С - язык С++, вобравший в себя положительные черты еще нескольких языков программирования. Необходимо отметить, что С++, в отличие от С, позволяет программисту разрабатывать программы (или приложения) с использованием как традиционного структурного, так и объектно-ориентированного подхода.

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

Рассмотрим элементарную, ставшую классической, программу на С++, результат работы которой - вывод на экран строки Hello, World!

Первая строка приведенного на рис. 1.1 листинга (директива препроцессора #include...) подключает заголовочный файл iostream.h, содержащий объявления функций и переменных для потокового ввода/вывода. Имя подключаемого модуля указывается в косых скобках (< > - заголовочный файл находится в каталоге \INCLUDE\ конкретной среды разработки) либо в кавычках (" " - файл находится в том же каталоге, где и включающий его модуль разрабатываемой программы с расширением *.с или *.срр).

Далее следует описание единственной в примере функции main().

Надо отметить, что любая программа на С++ обязательно включает в себя функцию main(), с которой и начинает свое выполнение.

#in clude<itream.h>

Подключение заголовочного файла

int main()

Описание главной функции

{

Начало блока

cout<<"Hello,World\ n";

Вывод строки символов

return 0;

Возврат из функции

}

Конец блока

Рис. 1.1. Пример программы Hello, World

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

Тело самой функции содержит оператор консольного вывода последовательности символов cout << и оператор возврата из функции return.

В отличие от ANSI С, в С++ для организации консольного ввода/вывода применяются операции >> и <<, известные в С как правый и левый сдвиг соответственно, хотя, безусловно, допустимо использование традиционных функций языка С. Как будет показано в дальнейшем, данные операции в С++ по-прежнему выполняют сдвиги бит в переменных, однако их возможности расширены за счет перегрузки операций.

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

В С++ стандартный поток ввода связан с константой cin, а поток вывода - с константой cout (для использования этих констант подключается заголовочный файл iostream.h). Таким образом, для вывода информации в стандартный поток используется формат

cout << выражение;

где выражение может быть представлено переменной или некоторым смысловым выражением. Например:

int variable = 324;

cout << variable; // вывод целого

Для консольного ввода данных используют формат записи:

cin >> переменная;

При этом переменная служит приемником вводимого значения:

int Age;

cout << "Введите Ваш возраст: "; cin >> Age;

Таким образом, переменная Age принимает введенное с консоли целое значение. Ответственность за проверку соответствия типов вводимого и ожидаемого значений лежит на программисте.

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

В случае если в приемник должна быть введена строка символов, ввод продолжается до первого символа пробела или ввода Enter:

char String[80];

cin >> String;

Так, при вводе строки "Да здравствует С+ +!" переменная String воспримет только подстроку "Да". Остальная часть строки останется в буфере до тех пор, пока в программе не встретится следующий оператор ввода.

Ниже показано, как ввод одной строки с символом пробела "12345 67890" разделяется и заполняет две совершенно разные переменные - String 1 и String2.

#indude <iostream.h>

int main()

{

char Stringl[80];

char String2[80];

cout << "Input string: ";

cin >> Stringl;

cout << Stringl << '\n';

cout << "Input string: ";

cin >> String2;

cout << '\n' << String2 << '\n'; return 0;

}

В результате работы программы получим, например:

Input string: 12345 67890

12345

Input string: 67890

Как видно из примера, строка символов вводилась лишь один раз, хотя в программе оператор ввода встречается дважды. При этом первые пять вводимых символов были помещены в переменную Stringl, а последующие символы - в переменную String2.

2. Комментарии

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

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

В С++ используется две разновидности комментариев.

Первый, традиционный (заимствованный из ANSI С) многострочный комментарий, представляет- собой блок, начинающийся с последовательности символов «слеш со звездочкой» (/*) и заканчивающийся символами «звездочка слеш» (*/). Как следует из названия, данный вид комментария может располагаться на нескольких строках. Комментарии этого тина не могут быть вложенными друг в друга.

Второй вид - однострочный комментарий - следует за «двойным слешем» (//) до конца текущей строки. Этот тип комментария может быть вложенным в многострочный комментарий.

Кроме объяснения текста программы комментарии можно использовать для временного исключения из программы некоторой ее части. Этот прием обычно используется при отладке.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.