MaxEdu.ru
» » » Основы программирования на языке Си
Вернуться назад

Основы программирования на языке Си

СОДЕРЖАНИЕ
КРАТКОЕ ОПИСАНИЕ УЧЕБНОГО КУРСА "ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА ЯЗЫКЕ СИ++" ..........................................................................................................................5
ЛЕКЦИЯ 1. ОСНОВЫ СИ++.........................................................................................................7
1. НЕСКОЛЬКО ЗАМЕЧАНИЙОНАЗНАЧЕНИИПРОГРАММИРОВАНИЯ................................................7
2. ПРОИСХОЖДЕНИЕ ЯЗЫКАСИ++...................................................................................................9
3. СТАНДАРТ ANSI СИ++ ................................................................................................................9
4. СРЕДА РАЗРАБОТКИMICROSOFT DEVELOPER STUDIO VISUAL С++...........................................10
5. ПРИМЕР ПРОГРАММЫНАСИ++ .................................................................................................10
6. ВЫПОЛНЕНИЕ ВВОДА/ВЫВОДА ДАННЫХИПРИСВАИВАНИЕЗНАЧЕНИЙ....................................12
7. УПРАВЛЕНИЕ ПОРЯДКОМВЫПОЛНЕНИЯКОМАНДСПОМОЩЬЮОПЕРАТОРА IF ........................13
8. ОФОРМЛЕНИЕ ИСХОДНОГОТЕКСТА...........................................................................................15
9. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................15
10. УПРАЖНЕНИЯ ...........................................................................................................................15
ЛЕКЦИЯ 2. ПЕРЕМЕННЫЕ, ТИПЫ ДАННЫХ И ВЫРАЖЕНИЯ....................................18
1. ИДЕНТИФИКАТОРЫ ....................................................................................................................18
2. ТИПЫ ДАННЫХ...........................................................................................................................18
3. ВЫВОД ВЕЩЕСТВЕННЫХЧИСЕЛНАЭКРАН................................................................................22
4. ОПИСАНИЯ, КОНСТАНТЫ ИПЕРЕЧИСЛЕНИЯ..............................................................................24
5. ПРИСВАИВАНИЕ ИВЫРАЖЕНИЯ.................................................................................................26
6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................28
7. УПРАЖНЕНИЯ .............................................................................................................................28
8. ПРИЛОЖЕНИЯ .............................................................................................................................29
ЛЕКЦИЯ 3. ФУНКЦИИ И ПРОЦЕДУРНАЯ АБСТРАКЦИЯ .............................................31
1. НАЗНАЧЕНИЕ ПОДПРОГРАММ.....................................................................................................31
2. ОПРЕДЕЛЕНИЕ НОВЫХФУНКЦИЙ...............................................................................................31
3. СПОСОБЫ ПЕРЕДАЧИПАРАМЕТРОВВНУТРЬФУНКЦИЙ..............................................................33
4. ПОЛИМОРФИЗМ ИПЕРЕГРУЗКАФУНКЦИЙ..................................................................................35
5. ПРОЦЕДУРНАЯ АБСТРАКЦИЯИ"ХОРОШИЙ" СТИЛЬ ПРОГРАММИРОВАНИЯ...............................36
6. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ...........................................................................................36
7. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................38
8. УПРАЖНЕНИЯ .............................................................................................................................39
ЛЕКЦИЯ 4. ТЕКСТОВЫЕ ФАЙЛЫ И ПОТОКИ ВВОДА/ВЫВОДА ................................41
1. НАЗНАЧЕНИЕ ФАЙЛОВ................................................................................................................41
2. ПОТОКИ ВВОДА/ВЫВОДА ...........................................................................................................41
3. ПРОВЕРКА ОШИБОКВЫПОЛНЕНИЯФАЙЛОВЫХОПЕРАЦИЙ.......................................................43
4. СИМВОЛЬНЫЙ ВВОД/ВЫВОД ......................................................................................................44
5. ПРОВЕРКА ДОСТИЖЕНИЯКОНЦАФАЙЛАПРИОПЕРАЦИЯХВВОДА............................................45
6. ПЕРЕДАЧА ПОТОКОВ ФУНКЦИЯМВКАЧЕСТВЕПАРАМЕТРОВ.....................................................47
7. ОПЕРАТОРЫ ВВОДА/ВЫВОДА ">>" И "<<" .................................................................................48
8. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................50
9. УПРАЖНЕНИЯ .............................................................................................................................50
ЛЕКЦИЯ 5. ОПЕРАТОРЫ ВЕТВЛЕНИЯ И ЦИКЛЫ ...........................................................52
1. ЛОГИЧЕСКИЕ ЗНАЧЕНИЯ, ВЫРАЖЕНИЯ ИФУНКЦИИ...................................................................52
2. ЦИКЛЫ "FOR", "WHILE" И "DO...WHILE" .....................................................................................53
3. МНОЖЕСТВЕННОЕ ВЕТВЛЕНИЕИОПЕРАТОР"SWITCH" ..............................................................55
4. БЛОКИ ИОБЛАСТЬВИДИМОСТИПЕРЕМЕННЫХ..........................................................................56
4
5. ЗАМЕЧАНИЕ ОВЛОЖЕННЫХЦИКЛАХ.........................................................................................59
6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................59
7. УПРАЖНЕНИЯ .............................................................................................................................60
ЛЕКЦИЯ 6. МАССИВЫ И СИМВОЛЬНЫЕ СТРОКИ.........................................................63
1. НАЗНАЧЕНИЕ МАССИВОВ...........................................................................................................63
2. ПЕРЕДАЧА МАССИВОВВКАЧЕСТВЕПАРАМЕТРОВФУНКЦИЙ....................................................66
3. СОРТИРОВКА МАССИВОВ...........................................................................................................68
4. ДВУМЕРНЫЕ МАССИВЫ..............................................................................................................69
5. СИМВОЛЬНЫЕ СТРОКИ...............................................................................................................70
6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................73
7. УПРАЖНЕНИЯ .............................................................................................................................73
ЛЕКЦИЯ 7. УКАЗАТЕЛИ............................................................................................................75
1. НАЗНАЧЕНИЕ УКАЗАТЕЛЕЙ........................................................................................................75
2. ПЕРЕМЕННЫЕ ТИПА"МАССИВ". АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИСУКАЗАТЕЛЯМИ....................79
3. ДИНАМИЧЕСКИЕ МАССИВЫ.......................................................................................................81
4. АВТОМАТИЧЕСКИЕ ИДИНАМИЧЕСКИЕПЕРЕМЕННЫЕ................................................................82
5. СВЯЗНЫЕ СПИСКИ......................................................................................................................82
6. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................86
7. УПРАЖНЕНИЯ .............................................................................................................................87
ЛЕКЦИЯ 8. РЕКУРСИЯ...............................................................................................................89
1. ПОНЯТИЕ РЕКУРСИИ...................................................................................................................89
2. ПРОСТОЙ ПРИМЕРРЕКУРСИИ.....................................................................................................89
3. КАК ВЫПОЛНЯЕТСЯРЕКУРСИВНЫЙВЫЗОВ................................................................................90
4. ЕЩЕ ТРИПРИМЕРАРЕКУРСИИ....................................................................................................92
5. РЕКУРСИЯ ИЦИКЛЫ....................................................................................................................93
6. РЕКУРСИЯ ВСТРУКТУРАХДАННЫХ............................................................................................94
7. РЕКУРСИВНАЯ РЕАЛИЗАЦИЯАЛГОРИТМАБЫСТРОЙСОРТИРОВКИ.............................................94
8. СВОДКА РЕЗУЛЬТАТОВ...............................................................................................................97
9. УПРАЖНЕНИЯ .............................................................................................................................97
ЛЕКЦИЯ 9. СОСТАВНЫЕ ТИПЫ ДАННЫХ.......................................................................100
1. НАЗНАЧЕНИЕ СОСТАВНЫХТИПОВДАННЫХ............................................................................100
2. ОПИСАНИЕ ИИНИЦИАЛИЗАЦИЯСТРУКТУР..............................................................................100
3. ДОСТУП ККОМПОНЕНТАМСТРУКТУРЫЧЕРЕЗУКАЗАТЕЛЬ......................................................103
4. МАССИВЫ ИСТРУКТУРЫ..........................................................................................................104
5. ПЕРЕГРУЗКА ОПЕРАТОРОВ........................................................................................................105
6. ПРИМЕНЕНИЕ СТРУКТУРДЛЯРЕАЛИЗАЦИИСТЕКА ..................................................................107
7. СВОДКА РЕЗУЛЬТАТОВ.............................................................................................................111
8. УПРАЖНЕНИЯ ...........................................................................................................................112
ПРИЛОЖЕНИЕ. КРАТКОЕ РУКОВОДСТВО ПО СРЕДЕ РАЗРАБОТКИ DEVELOPER
STUDIO VISUAL C++..................................................................................................................113
1. СОЗДАНИЕ НОВОГОПРОЕКТА...................................................................................................113
2. ДОБАВЛЕНИЕ ВПРОЕКТНОВОГОИСХОДНОГОФАЙЛА.............................................................114
3. СБОРКА ПРОЕКТА.....................................................................................................................115
4. ЗАПУСК НОВОГОПРИЛОЖЕНИЯ................................................................................................116
ЛИТЕРАТУРА.............................................................................................................................117
5
Краткое описание учебного курса "Основы программиро-
вания на языке Си++"
Развитие современныхтехнологийпрограммированияпредполагаетвладение
программистом широкимнаборомпрактическихнавыков, средикоторыходнимииз
основных можносчитатьзнаниеязыкапрограммирования, средыразработкиисис-
темных технологийбазовойоперационнойсистемы. Рассматриваемыйучебный курс
предназначен дляначальнойподготовкипрограммиста, владеющегоязыкомпро-
граммирования Си++ применительнокразработкепрограммвОСсемейства Win32.
При анализедоступныхвИнтернетзарубежныхкурсов, связанныхсобучени-
ем практическомупрограммированиюврамкахподготовкипоспециальностям Computer
Science, оказаласьзаметнаследующаятенденция: существуюткурсыпоизуче-
нию языкаСи++, курсыпоизучениюобъектно-ориентированногопрограммирования
на базе, чащевсего, Java иреже, Си++, ипрактическистандартныйкурс "Операцион-
ные системы", посвященныйструктуре Unix-совместимыхоперационныхсистем. Ха-
рактерной особенностьюзарубежныхуниверситетскихкурсовявляетсяотсутствие
разделов, посвященныхизучениюпрактическогопрограммированиявсредекоммер-
ческих ОСмассовогораспространения, впервуюочередь, ОС Windows. Сдругой
стороны, изучениепрограммированиядляэтихОСпредлагаетсярядом коммерческих
учебных организаций, носрокиобученияпорядка 3-5 днейпредполагаютобучение
уже грамотногоспециалиста, имеющегонавыкипрограммированиявкакой-либодру-
гой ОСилинадругомязыкепрограммирования.
В сегодняшнихроссийскихусловиях, неотрицаянеобходимостифундамен-
тальной подготовкиспециалистовповычислительнойтехникевобластитеорииалго-
ритмов иустройствавычислительныхипрограммныхсистем, можноотметитьполез-
ность изучения технологийпрактическогопрограммирования–использованиясред
разработки ибиблиотекпрограммированиядляОСмассовогораспространения. Этим
обусловлена направленностьрассматриваемогокурса–начальнаяподготовкапро-
граммистов наСи++ длясредыОС Windows.
Сложность обученияпрактическомупрограммированию, нанашвзгляд, за-
ключается втрудностисочетанияобученияабстрактнымпонятиямпрограммирова-
ния (таким, какструктурыданных, понятие алгоритма, основныекомпонентыалго-
ритмического языка, методологияпроектированияпрограммногообеспечения), с
изучением технологийисредпрограммированиянабазекакой-либоконкретнойОС.
Эти практическиетехнологиипребываютвпостоянномразвитии, поэтомуможет
быть сложновыделитькакие-либоконкретныесредстваразработкивкачествепред-
мета изучения.
Несмотря наширокоераспространениесредбыстройразработкиПрО (напри-
мер, Visual Basic, Inprise Builder и Inprise Delphi), выборихвкачествеучебнойсреды
представляется нецелесообразным, т.к. вэтихсредахкажущаясяпростотаразработки
ПрО касаетсятолькоформированиякаркасаприложенияизнабораготовыхкомпо-
нент, аустройствоэтихкомпонентилиизменениеструктурыкаркасатребуетсерьез-
ных знанийнетолькопоструктуребазовойОС, ноипосистемнойархитектуресреды
программирования.
Программа данногокурсапредназначенадляобучениялиц, имеющих навыки
пользовательской работынаперсональномкомпьютере, основнымпонятиямимето-
дам современногопрактическогопрограммирования. Предметомизучениякурсаяв-
ляется объектно-ориентированноепрограммирование наязыкеСи++ всредесовре-
менных 32-хразрядныхоперационныхсистемсемейства Windows. Программакурса
6
разбита на 4 части:
1) ВведениевпрограммированиенаязыкеСи++ (9 лекций)
2) Основыпрограммированиятрехмернойграфики (8 лекций)
3) Объектно-ориентированноепрограммированиенаязыкеСи++ (9 лекций)
4) Программированиедля Microsoft Windows сиспользованием Visual C++ и
библиотеки классов MFC (9 лекций)
На каждоелекционное занятиедолжнобытьпредусмотреноминимумодно
практическое (2 академическихчаса) иеще, всреднем, 4 часасамостоятельныхзаня-
тий. Т.о., наизучениекурсаотводится 72 лекционныхчаса, 72 практических (т.о., 144
аудиторных часа) и 144 часасамостоятельныхзанятий.
Методические материалыдлякурсасформированынаосновепримерно 10-ти
зарубежных изданий, частьизкоторыхпереведенанарусскийязык.
В первойчастикурсарассматриваютсяпроцедурныеосновы языка Си++. Они
включают всебяоформлениетекстапрограмм, правилазаписивыраженийнаСи++,
рассмотрение простыхтиповданныхиалгоритмическихконструкцийусловныхопе-
раторов, циклов_______идр. Вконцеэтойчастикурсаподробнорассматриваютсясоставные
типы данных. Приэтомделаютсязамечанияодостоинствахинедостаткахэтихтипов
данных, чтовпоследствииупрощаетвведениепонятийобъектно-ориентированного
программирования.
Вторая частькурсапосвященаприменениюязыкаСи++ дляпрограммирования
задач вконкретнойпредметнойобласти–трехмернойкомпьютернойграфики. Вка-
честве базовойграфическойбиблиотекивыбранабиблиотека OpenGL, являющаяся
открытым стандартомвданнойобласти. Изучениеэтойбиблиотекидемонстрирует
методику освоенияготовогоинструментария, сформированноговрезультатеприме-
нения методовструктурногопроектированиявконкретнойпредметнойобласти. По-
нятия, относящиесякмашиннойграфике, понятиекаркасаприложенияиобработки
событий иллюстрируютсяпростымипримерамиивдальнейшемиспользуютсяпри
изучении программированиявсреде Windows.
Третья частькурсаизучаетсяпослеусвоениястудентамипроцедурногопро-
граммирования. Основныевопросыобъектно-ориентированногопрограммирования
на Си++ излагаются напримерепрограммированияконсольныхприложений Win32.
Рассматриваются элементарныеприемыобъектно-ориентированногопроектирования
–проектированиенаосновераспределенияобязанностей, метод CRC-карточек.
В четвертойчастикурсаизучаетсяархитектураоперационныхсистемсемейст-
ва Windows иметодыпрограммированиядляэтихОС. Примернотретьэтойчастипо-
священа рассмотрениюосновныхкомпонентоперационныхсистем Windows 9x/NT,
знакомству сбазовыми сервисамиоперационныхсистемипрограммированиюдля
этих ОСнаязыкеСи++ науровне Win32 API. Воставшейсячастирассматриваются
приемы программированиядляОС Windows набазебиблиотекиклассов MFC. Эта
библиотека классовявляетсяпромышленнымстандартом, упрощающимразработку
программ ииспользование Win32 API. Подробноописываетсякаркасприложения
MFC, основныеклассыэтойбиблиотеки, приемыиспользованияэтихклассоввсоб-
ственных программах, архитектура однодокументныхприложений "документ/вид".
После изучениякурсастудентполучаетдостаточнополноепредставлениео
содержании современногообъектно-ориентированногопрограммирования, обуст-
ройстве современныхоперационныхсистем Win32 иособытийно-управляемомпро-
граммировании. Напрактическихзанятияхвырабатываютсянавыкипрограммирова-
ния наСи++ винтегрированнойсредеразработки Microsoft Visual C++ 5.0.
7
ЛЕКЦИЯ 1. Основы Си++
1. Несколько замечаний о назначении программирования
Программирование –этотехническаятворческаядеятельность, целькоторой
заключается врешенииважныхдлячеловеказадачиливыполненииопределенных
действий спомощьюкомпьютера. Нарис. 1 представленаидеализированнаясхема
решения типичнойзадачипрограммирования.
Подробное описание
задачи илинеобходимых
действий КОМПЬЮТЕР
Решение задачиили
выполнение действий
Рис. 1. Схема решениязадачиспомощьюкомпьютера.
В рамкахтакойсхемынеобходимымикомпонентамикомпьютераявляются
центральный процессор, устройстваввода/выводаипамять (рис. 2).
Рис. 2. Основные компонентыкомпьютера.
Конечно, вдействительностиделообстоитнетакпросто, какпоказанона
рис. 1. Например, "подробноеописание (спецификация) задачи" наестественномязы-
ке длякомпьютеранегодится (внастоящеевремя). Болеетого, длярешениязадачина
компьютере недостаточнополногоописаниязадачи, необходимотакжеснабдить
компьютер информациейотом, какименноследуетрешатьзадачу–т.е. составитьал-
горитм. Дляописанияалгоритмоврешениязадачилиалгоритмоввыполнениякаких-
либо действий (например, управлениероботом-манипулятором) спомощьюкомпью-
тера применяютсяязыкипрограммирования.
На рис. 3 показанаболееподробнаясхемарешениязадачиспомощьюкомпью-
тера, вкоторойучтенанеобходимостьиспользованияязыкапрограммирования. Ил-
люстрация этойсхемынаконкретномпримереприведенавтаблице 1.
Существует большоеколичестворазличныхязыковпрограммированияимного
способов ихклассификации. Например, "языкамивысокогоуровня" считаютсяте
языки, синтаксискоторыхсравнительно близоккестественномуязыку, втовремякак
синтаксис "низкоуровневых" языковсодержитмноготехническихподробностей, свя-
занных сустройствомкомпьютераипроцессора.
8
Рис. 3. Схема решениязадачинакомпьютересиспользованиемязыкапрограммирования.
Таблица 1. Основные этапырешениязадачипопроверкечисланапростоту.
Спецификация задачи Требуется определить, являетсялиданноечислопростым.
Алгоритм Ввести x
Для каждого целого числа z из диапазоне от 1 до x
Если остаток от деления x на z равен 0, то
вывести сообщение "число не простое" и закончить работу
Если такого числа z не найдено, то
вывести сообщение "число простое" и закончить работу
Описание алгоритма на
языке высокого уровня
#include
int main()
{
int x;
cout << "Введите число:\n";
cin >> x;
for (int z=2; z<x; z++)
if (x % z == 0)
{
cout << "Это не простое число.\n";
return 0;
}
cout << "Это простое число.\n";
return 0;
}

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике СОДЕРЖАНИЕ КРАТКОЕ ОПИСАНИЕ УЧЕБНОГО КУРСА "ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ++"
Оценок: 287 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.

© 2014 - 2022 MaxEdu.ru