WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 11 |
Е.К. Липачв Технология программирования.

Базовые конструкции C/C++ Учебно – справочное пособие Казанский университет 2012 1 УДК 004.43 ББК 32.973.26–018 Печатается по решению Редакционно-издательского совета ФГАОУВПО «Казанский (Приволжский) федеральный университет» методической комиссии Института математики и механики им. Н.И.Лобачевского от 19 апреля 2012 г.

Научный редактор – д-р физ.-мат. наук Ф.Г. Авхадиев Рецензенты:

канд. физ.-мат. наук А.Ф. Галимянов канд. физ.-мат. наук М.Ф. Насрутдинов Липачёв Е.К.

Технология программирования. Базовые конструкции C/C++: учебно–справочное пособие / Е.К. Липачв. – Казань: Казан. ун-т, 2012. - 142 с.

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

За основу взяты лекции по курсу «Технология программирования и работа на ЭВМ» по направлению подготовки 010800 Механика и математическое моделирование, прочитанные автором студентам механико-математическом факультета (Институт математики и механики им. Н.И. Лобачевского) Казанского (Приволжского) федерального университета.

УДК 004.43 ББК 32.973.26–018 © Казанский университет, 2012 © Липачёв Е.К., 2012 2 Оглавление Введение...................................................................................................................................................... 5 Структура программы................................................................................................................................. 6 Функция main().................................................................................................................................... 6 Комментарии........................................................................................................................................... 6 Директивы препроцессора..................................................................................................................... Представление данных........................................................................................................................... Несколько слов о стиле программирования.......................................................................................Встроенные типы..................................................................................................................................Операции....................................................................................................................................................Арифметические операции..................................................................................................................Операции сравнения и логические операции....................................................................................Поразрядные операции........................................................................................................................Операции присваивания.......................................................................................................................Операции инкремента и декремента.................................................................................................Преобразование типов в операции присваивания.....................................................................Операция “запятая”...............................................................................................................................Приоритеты операций..........................................................................................................................Преобразование типов.............................................................................................................................Инструкции.................................................................................................................................................Инструкция if.......................................................................................................................................Оператор :...........................................................................................................................................Инструкция switch..............................................................................................................................Инструкция цикла for..........................................................................................................................Цикл с предусловием..........................................................................................................................Цикл с постусловием.............................................................................................................................Инструкция break................................................................................................................................Инструкция continue.........................................................................................................................Инструкция goto..................................................................................................................................Инструкция return..............................................................................................................................Массивы.....................................................................................................................................................Строки.........................................................................................................................................................Многомерные массивы............................................................................................................................Указатели....................................................................................................................................................Арифметика указателей............................................................................................................................Увеличение и уменьшение указателя на целое число...................................................................Вычитание указателей..........................................................................................................................Присваивание указателей....................................................................................................................Преобразование типа указателя..........................................................................................................Указатели и массивы.................................................................................................................................Указатели и многомерные массивы........................................................................................................Динамические массивы............................................................................................................................Двумерные динамические массивы................................................................................................Структуры...................................................................................................................................................Объединения.............................................................................................................................................Перечисления............................................................................................................................................Функции......................................................................................................................................................Объявление функции............................................................................................................................Определение функции..........................................................................................................................Формальные и фактические параметры.............................................................................................Передача по значению..........................................................................................................................Ссылочные переменные.......................................................................................................................Указатели на функцию..........................................................................................................................Массивы как параметры.......................................................................................................................Аргументы по умолчанию.....................................................................................................................Рекурсия.................................................................................................................................................Перегрузка функций..............................................................................................................................Ввод и вывод..............................................................................................................................................Консольный вывод...............................................................................................................................Консольный вывод в C++..................................................................................................................Консольный ввод................................................................................................................................Консольный ввод в C++.....................................................................................................................Ввод и вывод в файлы.........................................................................................................................Режимы открытия файлов..............................................................................................................Чтение из файла...............................................................................................................................Запись в файл..................................................................................................................................Файловый ввод и вывод в C++..........................................................................................................Раздельная компиляция.....................................................................................................................Что включать в заголовочный файл...................................................................................................Области действия идентификаторов.....................................................................................................Связывание..........................................................................................................................................Пространства имен..............................................................................................................................Приложение.





Создание консольных приложений в MS Visual Studio 2010.......................................Приложение. Русификация консольного ввода-вывода.....................................................................Литература...............................................................................................................................................Введение В этом руководстве два языка программирования C и C++ рассматриваются в одной связке. Это нужно пояснить. Оба языка имеют общие конструкции, язык C++ создан на основе языка C и является его расширением. Программы, написанные на чистом языке C обрабатываются компиляторами C++. Сложившаяся практика преподавания компьютерных технологий в Вузе в основной части ориентирована на работу в операционных системах MS Windows и, как правило, программирование осваивается в средах MS Visual Studio или C++ Builder. При программировании в этих средах потребуется кропотливая настройка параметров проекта, чтобы провести различие языков C и C++.

Руководство предназначено студентам, изучающим программирование.

По языкам C и C++ имеется достаточно обширная литература, более того, большинство изданий, как на русском, так и на английском языках, легко найти в сети. Кроме книг, с приемами программирования можно познакомиться на сайтах, посвященных языкам C и C++, – в разделе Электронные ресурсы приводится список некоторых из них. Подробная справочная книга по языку программирования, вряд ли, нужна сейчас. В среде программирования имеется многоуровневая справочная служба, а при написании кода на помощь приходят технологии автодополнения (IntelliSense, Code Completion). Поэтому в руководстве акцент сделан на использование базовых конструкций языка и на их взаимодействие.

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

Структура программы Программа строится из отдельных блоков, называемых функциями.

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

В любой программе на языках C и C++ должна быть функция main().

Функция main() int main() { … return 0;

} Структуру программы, содержащей функции, см. в разделе Функции.

Комментарии Комментарии – это строки с текстом, поясняющим логику работы программы. В языках C и С++ используются два типа комментариев.

Многострочный комментарий начинается с символов /*, за которыми записывается комментирующий текст, символы */ обозначают завершение комментария. В первоначальных версиях языка C использовался только этот тип комментирования. Комментарии этого типа можно поставить всюду, где разрешен пробел.

Второй тип комментариев – однострочный. Он начинается последовательностью символов // и заканчивается концом строки.

Пример.

/* cascade.cpp:

Реализация каскадного алгоритма.

См. И.Добеши, Десять лекций по вейвлетам.

*/ #include #include using namespace std;

const int n=2; // Порядок вейвлета Добеши int main() { int m; // Глубина каскадного алгоритма cin >> m;

… …. …. … while ((r<3/*пр.граница носителя*/)&&(r>0)) return 0;

} Правила комментирования – вопрос стиля программирования, которого придерживается программист или команда разработчиков. С рекомендациями по правилам программирования и, в частности, документированию кода, можно познакомиться в книге Голуб А. Правила программирования на Си и Си++. Отличающиеся подходы к вопросу документирования сформулированы в концепциях Literate Programming (Грамотное программирование) и Extreme Programming (также XP и Экстремальное программирование). Ссылки можно найти в сети Интернет.

Отметим также, что комментирование активно используется при отладке программ – часть операторов можно просто закомментировать и, тем самым, скрыть от компилятора, что, возможно, поможет локализовать ошибку.

Директивы препроцессора Каждая программа на C/C++, как правило, начинается с директив препроцессора – их можно узнать по символу #.

Например, если в программе присутствуют операторы ввода и вывода, то необходимо добавить инструкции #include using namespace std;

или #include Препроцессор обрабатывает код программы на первом шаге компиляции. Его задача – выполнение текстовых преобразований в соответствии с директивами. Встретив директиву #include "имя-файла" или #include <имя-файла>, препроцессор заменит такую строку на код, записанный в указанном файле.

Разница в использовании кавычек (" ") и угловых скобок (< >) заключена в пути поиска: файл, обрамленный угловыми скобками, ищется в системных каталогах среды программирования, а файл в кавычках сначала ищется в рабочем каталоге программы.

Программы C/C++ обычно имеют несколько директив #include.

Файлы, добавляемые препроцессором, называют заголовочными, и они традиционно имеют расширение.h.

Директива макроподстановки:

#define имя текст используется для замены: всюду в программе, где будет найдено имя, будет произведена замена на текст.

Директиву #define в языке ранних версиях C использовали для создания констант #define PI 3.Встретив такую инструкцию, препроцессор заменит в тексте программы все вхождения PI на 3.1415.

Pages:     || 2 | 3 | 4 | 5 |   ...   | 11 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.