1 (972469)
Текст из файла
Основы языка Cи++ и объектно-ориентированногопрограммированияПредлагаемые упражнения предполагают консольный тип приложенияСеминар 1. Новое в языке С++.Отличия объектно-ориентированного программирования от процедурного подхода и датьобзор его основных особенностей (инкапсуляция, полиморфизм, наследование).Совместимость C -> C++. Новое в языке в рамках процедурного стиля программирования.0.
Комментарии ///*…*/1. Заголовочные файлыC++C#include <iostream>#include <cmath>#include <stdio.h>#include <math.h>2. Концепция пространства имен#include <stdio.h>namespace myName{void type(char *str){printf (str);}}void main(){myName::type("Hello\n");}илиusing namespace myName;void main(){type("Hello\n");}3. Ввод/вывод. Концепция потоков. Связанные с потоками объекты cout и cin.#include <iostream>using namespace std;void main(){int i = 4;double dd = 0.123456789;cout << "i=" << i <<" dd= " << dd << endl; //’\n’;cin >> i;cin >> dd;cout << dd; //0.123457- 6 значащих цифрcout.precision(9);//- устанавливаем 9 значащих цифр используя метод precisioncout << dd;// 0.123456789}3.1 Без using namespace std;std::cin >> dd;std::cout << dd << std::endl;4.
Новые базовые типыbool bv = true; // falsecout << bv;// 1(преобразование к 0 и 1)Особенности реализации типа long double5. Объявление структурC++struct str_ {int i; float b;};Cstruct str_ {int i; float b;};struct str_ str;str_ str;илиtypedef struct{int i; float b;} str_;str_ str;6. Декларация переменных в блоке.{int ii = 12;cout << ii;}cout << ii; // ошибка, если не объявлен раньшеint i = 100;for (int i = 9; i > 7; i--) {cout << i << endl;}cout << i;7. Динамическое выделение памяти – оператор newC++int *j = new int;delete j;Cint *ip;ip = (int*)malloc(10*sizeof(int));int *ip = new int [10];ip[9] = 17;delete [] ip;ip[9] = 17;free (ip);Примечание. delete и delete [] – это разные операторы!8.
КонстантыC++const int MAX = 250;int a[MAX];C#define MAX 250int a[MAX];Поведение константных указателей:Неизменяемый указатель:char str[]="Hello!";char *ip1 = str;const char *ip2 = str;char* const ip2 = str;ip2[0] = 'B'; // Ok!ip2 = "New string"; //Ошибка!2str [0]= 'B'; // Ok.ip1 [0]= 'B'; // Ok.ip2 [0] = 'B'; // Ошибка!Ввод текстовой строки из нескольких слов и считывание символа из буфераconst int LEN = 250;char str[LEN];cin.getline(str,LEN);cin.get(str[0]); // cin.get(); - убрать символ из буфераСледующие практические упражнения: повторение, работа со структурами, указателями, динамическойпамятью, циклами, ввод/вывод на экран средствами с++.Упражнение С1_1.Напишите программу, которая1. Вводит с клавиатуры целое число, сохраняя его в переменной типа int.2.
Вводит с клавиатуры строку символов, состоящую из нескольких слов, и сохраняет его в массиве типаchar.3. Выводит на экран вначале ранее введенное целое число, затем строку символов.Упражнение С1_2.Напишите программу, которая1.
Вводит с клавиатуры целое число.2. Создает динамический массив типа char, число элементов которого на единицу превышает введенноецелое число.3. Вводит с клавиатуры строку символов, состоящую из нескольких слов, и сохраняет его в динамическоммассиве4. Не создавая нового массива, меняет местами символы в строке задом наперед (функция strlen(const char*string) возвращает длину строки).5.
Выводит полученную инвертированную строку на экран.6. Уничтожает динамический массив.Упражнение С1_3.Напишите программу, которая1. Вводит с клавиатуры целое число n.2. Создает динамический массив структур типа: struct rec_{int i; char cp[80];} из n элементов (записей).3. Вводит с клавиатуры n строк и размещает их в элементах массива структур cp.4. Выводит на экран введенные строки в обратном порядке.Упражнение С1_4*.Напишите программу, которая1. Вводит с клавиатуры число записей в массиве структур n -целое число.2. Создает динамический массив структур типа: struct rec_{int i; char *cp;} из n элементов (записей).3. В цикле заполняет массив структур следующими данными: i – порядковый номер записи, cp указывает навведенную с клавиатуры строку символов, которая сохраняется в динамическом массиве с минимально3необходимой для хранения введенной строки длиной (функция strсpy(char* dest, const char* string) копируетстроки).4.
Вводит с клавиатуры номер записи, строку в которой требуется инвертировать.5. Инвертирует символы (размещает задом наперед) в указанной строке.6. Выводит на экран все сохраненные строки и их номера. После вывода строки на экран соответствующийдинамический массив уничтожается.7. Уничтожает динамический массив структур.Литература.Стивен Прата.
"Язык программирования Си++. Лекции и упражнения. Учебник: Пер. С англ." - ОООДиаСофтЮП, 2004. Главы 1-6.Дополнительная.Б. Страуструп. Программирование. Принципы и практика использования С++. Москва-С.Петербург-Киев:Изд. дом. Вильямс, 2011.4.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.