Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Среда программирования CodeBlocksСодержание книги
Поиск на нашем сайте Многие компиляторы реализованы в виде интегрированных сред разработки. Они позволяют выполнить все операции по разработке приложения (редактирование, компиляция, отладка и т.д.) из одной главной программы. К ним относятся Microsoft Visual Studio и Microsoft Visual C++, Borland C++, Borland C++ Builder и другие. Среда программирования CodeBlocks содержит компилятор GNU GCC, который используется и в операционной системе Linux, поэтому в перспективе возможен перенос программ под Linux. Наряду с исходным текстом программы среда CodeBlocks создает вспомогательные файлы, которые используются для ускорения компиляции. Эти файл в совокупности образуют проект. Все файлы проекта следует сохранять в отдельной папке. Для создания нового проекта в стартовом окне следует выбрать Create a new project либо выполнить команду меню File|New|Project. В диалоговом окне выбрать Console Application и щелкнуть на кнопке Go. Откроется окно мастера создания консольного приложения. При запросе о языке программирования следует выбрать язык C++. После этого откроется окно выбора папки для сохранения проекта. В левой части окна содержатся сведения о составе проекта, в центре – исходный код приложения. Для компиляции и запуска программы доступны следующие команды:
Форматированный ввод –вывод в языке C++ Язык C++ допускает два способа ввода/вывода данных: потоковый и форматированный. Первый способ допустим только в C++. Стандартные ввод и вывод рассматриваются как поток байтов, ввод и вывод реализуются операторами cin и cout: cin >> a; // ввод значения переменной a с клавиатуры cin >> a >> k; //ввод значений a и k Форматированный ввод/вывод унаследован от языка C. Для простого вывода используется функция printf(), а для ввода – функция scanf(). Синтаксис этих функций имеет вид: printf("форматная_строка", список_переменных); scanf("форматная_строка", список_адресов_перем); В форматной строке записывается формат выводимой информации, а в списке – перечень выражений, значения которых нужно подставить на место соответствующих спецификаторов в форматной строке. Строка форматирования состоит из элементов двух типов: 1) символы, которые выводятся на экран; 2) спецификации формата, определяющие способ отображения аргументов. Спецификации всегда начинаются знаком %. Например: printf(“сумма равна: %d, среднее значение равно %10.6f\n”,sum, av); При выполнении этого оператора на месте первого спецификатора будет выведено значение sum как целое десятичное, на месте второго – значение av (10 цифр, из них 6 после десятичной точки): сумма равна: 155, среднее значение равно 1.486000 Пример ввода: scanf(“%i %f”,&n,&sum); - первое значение будет считано как целое, второе – как float. При вводе указывается не имя переменной ( sum ), а ее адрес: &sum. Основные спецификаторы: d, i – целые числа (d – в десятичной форме), u – беззнаковое целое (unsigned); c – символ; s – строка; f – вещественное в форме (–)dd.dd; e – вещественное в форме (–)d.ddde(+|–)nn; l – длинное целое (long), lf – вещественное double; 10.4f – под вывод отвести 10 мест, из них под дробную часть – 4 места. Массивы в языке C++ Массивы – это однородные данные (т.е. данные одного типа), расположенные в последовательных ячейках оперативной памяти. Массивы данных могут быть одномерными (векторами размера Объявление массива сводится к указанию типа его элементов и количества элементов по каждому измерению: char a1[20],a2[2][80]; // массивы символов int b1[25],b2[Nmax];В языках C/C++ индекс первого элемента массива всегда равен нулю Например, первый элемент массива обозначается a[0], десятый – a[9], элемент второй строки, четвертого столбца – x[1][3]. Объявление массива можно совместить с его инициализацией, т.е. с присвоением начальных значений всем элементами массива или только нескольким первым элементам: char a[7]="Привет"; // не забывать о символе конца строкиchar b[7]={'П','р','и','в','е','т',0x0}; // объявление эквивалентно предыдущемуchar c[]="Привет"; // размер будет вычислен автоматически – 7float d[10]={1.,2.,3.,4.}; // остальные элементы не определеныint q[2][3]={{1,2,3},{4,5,6}}; // пример инициализации двумерного массива< Далее рассказать о связи между массивами и указателями > При передаче массива в качестве параметра функции возможны следующие эквивалентные варианты: int sumv(int a[],int n) // передается массив целых чисел int sumv(int* a, int n) // имя массива – как указатель на его первый элемент < Привести примеры: например, ввод и вывод одномерного массива > Понятие структуры в языке C++ Первоначальным образом для данных типа структур явились строки таблиц. Поля структуры могут быть разных типов (как столбцы таблиц), но в во всем столбце данные должны быть одного типа. Объявление структуры начинается со слова struct, за которым в фигурных скобках следуют описания полей: struct AEROFLOT { char nazn[30]; // пункт назначения int numr; // номер рейса char tip[15]; // тип самолета }; Строковые поля в структурах имеют фиксированные размеры Идентификатор AEROFLOT выполняет функцию имени шаблона или типа структуры. В дальнейшем им можно пользоваться для объявления конкретных переменных – структур типа AEROFLOT: typedef struct AEROFLOT Aeroflot; Aeroflot airport[5], BufRec, MinRec; //3 переменных типа Aeroflot Таким образом мы определили свой собственный тип данных - Aeroflot. Для доступа к полям структур используются составные имена, образованные из имени структуры, точки и имени поля: Bufrec.numr=n; strcpy(airport[i].nazn, bufNazn); airport[i].numr=bufNumr; Если мы имеем дело с указателем, который настроен на адрес структуры, то составные имена записываются с использованием двух символов "->": strcpy(buf->nazn, bufNazn); buf->numr=bufNumr; Структуры могут объединяться в массивы: Aeroflot airport[5]; //массив структур типа Aeroflot И тогда для доступа к полям соответствующего элемента используются индексированные составные имена: strcpy(airport[i].nazn, bufNazn);airport[i].numr=bufNumr;strcpy(airport[i].tip, bufTip); Для структур, объявленных с использованием одного и того же шаблона, допустима операция присваивания: b1=a; //все поля структуры a копируются в структуру b1. Однако одноименные поля строкового типа у структур копировать присваиванием нельзя – необходимо использовать функции типа strcpy: strcpy(airport[i].nazn, bufNazn); Функции в языке C++ Функции – это основные единицы построения программ при процедурном программировании на языке Си++. Любая программа на C должна содержать главную функцию с именем main, с которой начинается выполнение программы. Вызов всех остальных функций прямо или косвенно инициируется главной функцией. Функция может возвращать значение, – результат своей работы, или выполнять некоторое другое действие, не связанное с возвратом результата. Если функция возвращает значение, то в ее заголовке перед именем функции должен быть указан тип возвращаемого значения: double mid(double x, double y). Если функция не возвращает значение, то в ее заголовке перед именем функции должен быть указан тип void. Имя функции встречается в программе в трех контекстах: q в объявлении функции (синонимы – прототип, сигнатура) сообщается, какие аргументы принимает функция и какой тип результата она возвращает; q в определении функции, которое описывает все, что делает функция; q в вызове функции, при котором происходит выполнение описанных в определении функции действий. Любая функция должна быть объявлена и определена. Определение функции содержит заголовок и тело функции, представляющее собой последовательность операторов и описаний в фигурных скобках. Объявление функции должно находиться в тексте раньше ее вызова для того, чтобы компилятор мог осуществить проверку правильности вызова. Объявление функции аналогично объявлению переменной: float sr(int n, float x); //функция приним. два параметра (int и float), возвращ. float Объявление функции может иметь и более общий вид: float sr(int, float); double sqrt(double); Такое объявление называют прототипом функции. Отдельно записывается определение функции. Определение функции описывает, как она работает: float sr(int n, float x) { return x/n;} Аргументы n и x называются формальными параметрами. При вызове функции вместо них подставляются фактические параметры – значения, передаваемые функции. После того, как функция объявлена, ее можно использовать в выражениях: sred1=sr(k,sum); < Далее рассказать о способах передачи аргументов функциям > Передача аргументов в языке C++ по значению и с помощью указателей Вызывающая функция передает вызываемой переменные в качестве аргументов. Результат работы функции зависит от того, каким образом аргументы переданы функции. Наиболее простой способ – передача аргументов по значению. Формальный параметр в заголовке функции называют параметром-значением, если перед его именем указан только тип. Однако в этом случае изменения значений переменных никак не отражаются в вызывающей функции. Формальный параметр в заголовке функции называют явным параметром- указателем, если перед его именем находится символ *. Изменения в значениях переменных отражаются в вызывающей программе. < Кратко определить, что такое указатель > При передаче параметра по ссылке в прототипе функции указываются адреса переменных. Изменения в значениях переменных также отражаются в вызывающей программе. Итоговая таблица способов передачи функции аргументов
Понятие указателя. Связь указателей и массивов в языке C++ Указатель – это производный тип, который представляет собой адрес какого-либо значения. Работа с адресами досталась С++ в наследство от языка Си. Операция &, примененная к переменной, – это операция взятия адреса. Операция *, примененная к адресу, – это операция обращения по адресу. Указатель – это не просто адрес, а адрес величины определенного типа. Объявление указателя имеет вид: тип * имя. Например, int * xptr – объявление переменной xptr как указателя на целочисленное значение. Таким образом, два оператора эквивалентны: int y = x; // присвоить переменной y значение xint y = *xptr; // присвоить переменной y значение,находящееся по адресу xptr< Кратко рассказать об операциях над указателями > При обработке массивов часто используют тот факт, что имя массива одновременно является указателем на первый элемент массива. Поэтому допустимы выражения: arr[10]; &arr+10; Если xptr – указатель на целое число, а массив arr состоит из целых чисел, то допустимо выражение xptr=arr+10. Прототип функции, принимающей массив в качестве параметра, может иметь вид: int sum(int * arr);
|
||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-01-24; просмотров: 1197; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |