Г. Шилтд - Самоучитель C++ (PDF), страница 5
Описание файла
PDF-файл из архива "Г. Шилтд - Самоучитель C++ (PDF)", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 5 страницы из PDF
Следующая программа — это программа ввода целого, числа с плавающейточкой и строки символов. В ней для ввода всего перечисленного используется одна инструкция.^include <iostream>using namespace std;int main(}{int i;float f ;char s[80] ;cout « "Введите целое, число с плавающей точкой и строку:cin » i » f » s;Глава 1. Краткий обзор C++23_cout « "Вот ваши данные: ";cout « i « ' ' « f « ' ' « s;return 0;Как видно из этого примера, можно ввести в одной инструкции ввода столько элементов данных, сколько нужно. Как и в С, различные элементы данных при вводе должны быть отделены друг от друга (пробелами, табуляциями или символами новой строки).При считывании строки ввод будет остановлен после считывания первогоразделительного символа. Например, если вы введете:10 100.12 Это проверкато на экран будет выведено:10 100.12 ЭтоТак происходит потому, что считывание строки прекращается при вводепробела после слова Это.
Остаток строки остается в буфере ввода, в ожидании следующей операции ввода. (Это похоже на ввод строки с использованием функции scanfQ в формате %s.)5. По умолчанию при использовании оператора » буферизуется весь вводстроки. Это означает, что до тех пор, пока вы не нажмете клавишу <Enter>,информация не будет передана в вашу программу. (В языке С функцияscanf() также буферизует ввод строки, поэтому такой стиль ввода не долженбыть для вас чем-то новым.) Для исследования построчно-буферизованноговвода рассмотрим следующую программу:ttinclude <iostream>using namespace std;int{main()char ch;cout « "Вводите символы, для окончания ввода введите х.
\п";do {cout « ":";с in » ch;} while (ch !='x');return 0;Когда вы протестируете эту программу, то убедитесь, что для считываниякаждого очередного символа необходимо нажимать клавишу <Enter>.24Самоучитель C++1. Напишите программу для ввода количества отработанных персоналом часови размера почасовой оплаты каждого. Затем выведите суммарную зарплатуперсонала. (Удостоверьтесь в правильности ввода.)2. Напишите программу для преобразования футов в дюймы. Организуйте вводчисла футов и вывод на экран соответствующего числа дюймов. Повторяйте этупроцедуру до тех пор, пока пользователь не введет 0 в качестве числа футов.3.
Ниже приведена программа на языке С. Перепишите ее в соответствии состилем ввода/вывода C++./* Преобразуйте эту программу на С в соответствии со стилемпрограммирования C++. Эта программа подсчитывает наименьшее общеекратноеVfinclude <stdio.h>int main(void)int a, b, d, min;printf ("Введите два числа:"};scanf("%d%d", sa, sb);min = a > b ? b: a;for (d=2; d<min; d++)if (((a%d)==0) s& ((b%d)—0)) break;if (d==min) {printf("Нет общего кратного\п");return 0;printf("Наименьшее общее кратное равно %d\n", d) ;return 0;}1.4.
Комментарии в C++В C++ комментарии в программу можно включать двумя различными способами. Первый способ — это использование стандартного механизма, такого же, как в С, т. е. комментарий начинается с /* и оканчивается */• Каки в С, в C++ этот тип комментария не может быть вложенным.Вторым способом, которым вы можете писать комментарии в программахC++, является однострочный комментарий. Однострочный комментарий начинается с символов // и заканчивается концом строки.
Другого символа,помимо физического конца строки (такого, как возврат каретки/переводстроки), в однострочном комментарии не используется.Глава ^Краткий обзор C++£5_Обычно программисты C++ используют стиль С для многострочных комментариев, а для коротких замечаний используют однострочные комментарии в соответствии со стилем C++.1.
Программа, в которой есть стили комментариев как С, так и C++:/ * Этот комментарий в стиле С . Данная программа определяетчетность целого*/^include <iostream>using namespace std;int main ( }tint num; // это однострочный комментарий C++// чтение числаcout « "Введите проверяемое число:";cin » num;// проверка на четностьif ( (num%2)==0) cout « "Число четное\п";else cout « "Число нечетное\п";return 0 ;2. Хотя многострочные комментарии не могут быть вложенными, однострочный комментарий в стиле C++ можно вкладывать внутрь многострочногокомментария.
Например, это совершенно правильный фрагмент:/* Это многострочный комментарий,внутрь которого // вложен однострочный комментарий.Это окончание многострочного комментария.*/Тот факт, что однострочный комментарий может быть вложен в многострочный, дает возможность при отладке "помечать" некоторые строки программы.1. В качестве эксперимента проверьте, имеет ли комментарий, в котором комментарий стиля С вложен внутрь однострочного комментария C++, право на жизнь:// Это странный /*способ делать комментарии'/2.
Добавьте комментарии к ответам на упражнения в разделе 1.3.26_____Самоучитель C++1.5. Классы. Первое знакомствоВероятно, одним из наиболее важных понятий C++ является класс. Класс —это механизм для создания объектов. В этом смысле класс лежит в основемногих свойств C++. Хотя более детально понятие класса раскрывается в следующих главах, оно столь фундаментально для программирования на C++,что краткий обзор здесь необходим.Класс объявляется с помощью ключевого слова class.
Синтаксис объявлениякласса похож на синтаксис объявления структуры. Здесь показана основнаяформа:class имя_класса. {закрытие функции л переменные классаpublic:открытые функции и переменные класса} список объектов;В объявлении класса список_объекпгов не обязателен. Как и в случае соструктурой, вы можете объявлять объекты класса позже, по мере необходимости. Хотя имя_класса также не обязательно, с точки зрения практики ононеобходимо. Доводом в пользу этого является то, что имя_класса становитсяименем нового типа данных, которое используется для объявления объектовкласса.Функции и переменные, объявленные внутри объявления класса, становятся, как говорят, членами (members) этого класса. По умолчанию все функциии переменные, объявленные в классе, становятся закрытыми для класса.
Этоозначает, что они доступны только для других членов того же класса. Дляобъявления открытых членов класса используется ключевое слово public, закоторым следует двоеточие. Все функции и переменные, объявленные послеслова public, доступны как для других членов класса, так и для любой другойчасти программы, в которой находится этот класс.Ниже приводится простое объявление класса:class myclass {// закрытый элемент классаint a ;public:void set_a(int num)int get_a ( ) ;Этот класс имеет одну закрытую переменную а, и две открытые функции,set_a() и get_a().
Обратите внимание, что прототипы функций объявляютсяГлава1.КраткийобзорC++_27внутри класса. Функции, которые объявляются внутри класса, называютсяфункциями-членами (member functions).Поскольку а является закрытой переменной класса, она недоступна для любой функции вне myclass. Однако поскольку set_a() и get_a() являются членами myclass, они имеют доступ к а. Более того, set_a() и get__a(), являясьоткрытыми членами myclass, могут вызываться из любой части программы,использующей myclass.Хотя функции set_a() и get_a() и объявлены в myclass, они еще не определены.
Для определения функции-члена вы должны связать имя класса, частью которого является функция-член, с именем функции. Это достигаетсяпутем написания имени функции вслед за именем класса с двумя двоеточиями. Два двоеточия называются оператором расширения области видимости (scope resolution operator). Например, далее показан способ определенияфункций-членов set_a() и get_a():void myclass : : set_a (int num){a=num;}int myclass: :get_a (}{return a;}Отметим, что и set_a() и get_a() имеют доступ к переменной а, которая дляmyclass является закрытой.
Как уже говорилось, поскольку set_a() и get_a()являются членами myclass, они могут напрямую оперировать с его закрытымиданными.При определении функции-члена пользуйтесь следующей основной формой:Тип возвр значения имя класса: : имя функция (список параметров){. . .// тело функьщиЗдесь имя_класса — это имя того класса, которому принадлежит определяемаяфункция.Объявление класса myclass не задает ни одного объекта типа myclass, оноопределяет только тип объекта, который будет создан при его фактическомобъявлении.
Чтобы создать объект, используйте имя класса, как спецификатор типа данных. Например, в этой строке объявляются два объекта типаmyclass:myclass obi, ob2; // это объекты типа myclass28Самоучитель C++Объявление класса является логической абстракцией, которая задает новыйтип объекта. Объявление же объекта создает физическую сущность объектатакого типа. То есть, объект занимает память, а задание типа нет,После того как объект класса создан, можно обращаться к открытым членамкласса, используя оператор точка (.), аналогично тому, как осуществляетсядоступ к членам структуры.
Предположим, что ранее объекты были объявлены, тогда следующие инструкции вызывают set_a() для объектов оЫ и оЬ2:obl.set_a(10); // установка версии а объекта оЫ равной 10оЬ2.set_a(99); // установка версии а объекта оЬ2 равной 99Как видно из комментариев, эти инструкции устанавливают значение переменной а объекта оЫ равной 10 и значение переменной а объекта оЬ2 равной 99.