Научно - Информационный портал



  Меню
  


Смотрите также:



 Главная   »  
страница 1 страница 2 ... страница 31 | страница 32


Министерство образования Республики Беларусь

Учреждение образования

«Гомельский государственный университет

имени Франциска Скорины»

Математический факультет

Кафедра математических проблем управления

Л.И. Короткевич

ПРОГРАММИРОВАНИЕ

Тексты лекций
для студентов 1 курса (2 семестр)
специальности 1-31 03 03-01 «Прикладная математика
(научно-производственная деятельность)»


2011

СОДЕРЖАНИЕ

1. ЧТО ТАКОЕ ПРОГРАММА НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ 6

2. ОБЩЕЕ ЗНАКОМСТВО С ЯЗЫКОМ С 6

3. Структура простой программы на языке с 7

4. ЧТО ТАКОЕ ПРОГРАММА на языке с 11

5. Представление информации И ТИПЫ ДАННЫХ в языке С 13

6. КОНСТАНТЫ 20

7. переменные 21

8. элементарный вВод и вывод информации 22

9. выражения и операции 30

9.1. Арифметические операции 33

9.2. Операция изменения знака 33

9.3. Операции инкремента и декремента 33

9.4. Операция присваивания 34

9.5. Арифметические операции с присваиванием: +=, -=, *=, /=, %= 35

9.6. Поразрядные логические операции 35

9.7. Операции сдвига: >> и << 36

9.8. Логические операции и операции отношения 37

9.9. Условная операция «? :» 38

9.10. Операция последовательного вычисления 38

9.11. Операция определения требуемой памяти в байтах sizeof 38

9.12. Операция приведения типа (type) 39

10. операторы управления вычислительным процессом 39

10.1. Операторы ветвления if и else 40

10.2. Оператор switch 42

10.3. Оператор цикла while 43

10.4. Оператор цикла do…while 47

10.5. Оператор цикла for 48

10.6. Бесконечные циклы 50

10.7. Другие управляющие средства языка С 51

10.8. Стандартные математические функции 54

11. вычисление выражений и побочные эффекты 54

11.1. Преобразования типов при вычислении выражений 54

11.2. Побочные эффекты при вычислении выражений 56

12. массивы 59

12.1. Описание массива 59

12.2. Инициализация массива 59

12.3. Ввод-вывод массива 60

12.4. Двумерные массивы (массивы массивов) 62

13. указатели 64

14. адресная арифметика 75

15. массивы и указатели 78

15.1. Указатели и одномерные массивы 78

15.2. Указатели и двумерные массивы 81

16. строки 86

17. МАССИВЫ строк 95

18. функции 98

18.1. Определение функции в языке С 98

18.2. Возвращение значений из функции 99

18.3. Формальные и фактические параметры функции 101

18.4. Вызов функции 102

18.5. Объявление и определение функции: прототип функции 103

19. ПЕРЕДАЧА ПАРАМЕТРОВ В ФУНКЦИИ 105

19.1. Способы передачи параметров в функции 105

19.2. Передача параметров в функции в языке С 105

19.3. Передача указателей в функции 106

20. КЛАССЫ ХРАНЕНИЯ И видимость ПЕРЕМЕННЫХ 108

20.1. Общие положения 108

20.2. Спецификаторы класса памяти 109

20.3. Область видимости функций 110

20.4. Глобальные переменные 110

20.5. Глобальные статические переменные 112

20.6. Локальные переменные 112

20.7. Статические локальные переменные 115

20.8. Регистровые переменные 117

20.9. Выводы 117

21. ОРГАНИЗАЦИЯ ПАМЯТИ ПРОГРАММЫ 118

22. МНОГОФАЙЛОВАЯ КОМПИЛЯЦИЯ (ПРОЕКТЫ) 120

23. ПЕРЕДАЧА В ФУНКЦИИ МАССИВОв 123

23.1. Передача одномерных массивов в функции 123

23.2. Передача двумерных массивов в функции 126

23.3. Передача в функции символьных строк 129

23.4. Возвращение указателей из функций 129

24. ФУНКЦИИ С ПЕРЕМЕННЫМ КОЛИЧЕСТВОМ АРГУМЕНТОВ 131

24.1. Соглашения о вызовах: модификаторы функций 131

24.2. Объявление списка параметров переменной длины 134

25. ПЕРЕДАЧА ПАРАМЕТРОВ В ФУНКЦИЮ MAIN() 135

26. УКАЗАТЕЛИ НА ФУНКЦИЮ 138

27. стандартные ФУНКЦИи языка с 141

27.1. Функции для работы со строками 141

27.2. Функции для проверки символов и преобразования данных 147

27.3. Функция быстрой сортировки – gsort() 148

27.4. Функция двоичного поиска – bsearch() 152

28. работа с файлами 153

28.1. Основные понятия 153

28.2. Основные функции для работы с файлами 155

28.3. Открытие и закрытие файлов 155

28.4. Ввод/вывод символов 157

28.5. Ввод/вывод строк 158

28.6. Форматированный ввод/вывод 159

28.7. Ввод/вывод блоков данных 161

28.8. Другие средства для работы с файлами 163

28.9. Ввод/вывод низкого уровня (префиксный доступ к файлам) 166

29. типы, определяемые пользователем:
Перечисления, структуры и объединения 167

29.1. Переименование типов – оператор typedef 167

29.2. Перечисления (enum) 167

29.3. Основные сведения о структурах 169

29.4. Структурные переменные в памяти компьютера 171

29.5. Доступ к полям структуры 172

29.6. Массивы структур 174

29.7. Структуры и функции 176

29.8. Объединения (union) 178

30. Динамическая память 180

30.1. Понятие динамического объекта 180

30.2 Создание и уничтожение динамических объектов 181

30.3 Динамическое размещение одномерных массивов и строк 183

30.4 Динамическое размещение двумерных массивов 186

30.5. Функции для работы с блоками памяти 187

31. ДИНАМИЧЕСКИЕ структуры данных 189

31.1. Понятие структуры данных 189

31.2. Структуры, ссылающиеся на себя 189

31.3. Связанные списки 190

31.4. Стеки 199

31.5. Очереди 201

32. препроцессор языка с 202

32.1 Директива включения файлов 203

32.2. Директива определения макрокоманд (макросов) 204

32.3 Директива условной компиляции 207

32.4 Дополнительные директивы препроцессора 209



«...НАУЧИТЬ НЕВОЗМОЖНО...
можно только [помочь] НАУЧИТЬСЯ!»


«Программистом можно назвать только того,

кто умеет устранять ошибки, ведь написать

неработающую программу может каждый!»

1. ЧТО ТАКОЕ ПРОГРАММА НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ


Программу можно представить как набор последовательных команд (алгоритм) для определенного исполнителя, который должен их выполнить для достижения той или иной цели. Например, условно запрограммировать можно человека, если составить ему инструкцию «как сварить суп», и он примется ее исполнять. Очевидно, что инструкция будет на естественном языке (русском, английском или др.). Программисты программируют не людей, а вычислительные машины. Трудность заключается в том, что такие машины не в состоянии понять наш язык. Для «инструктирования» вычислительных машин разработаны и разрабатываются специальные языки, называемые языками программирования.

Любую программу выполняет центральный процессор. Для того, чтобы процессор мог программу выполнить, она должна быть загружена в оперативную память. Т.е. и код программы и ее данные при выполнении программы процессором находятся в оперативной памяти.



Что такое память? По сути, это ряд пронумерованных ячеек. Номер ячейки является адресом этой ячейки памяти. Ячейки памяти реального компьютера – это набор из нескольких переключателей, каждый из которых находится в одном из двух состояний: включено (его обозначают 1) или выключено (его обозначают 0). В ячейке памяти таких переключателей, как правило, 8. Каждый переключатель называют битом и говорят, что в ячейке 8 бит или 1 байт. Т.е. одна ячейка памяти является байтом. Содержимое любой ячейки памяти выглядит всегда как последовательность нулей и единиц, независимо от того, что в них находится: число, символ или адрес другой ячейки памяти.

Процессор может выполнять программу, написанную только на машинном языке. Машинный язык – это «язык процессора». Программа на машинном языке состоит из машинных команд, записанных в двоичном коде (с помощью 0 и 1). Каждая машинная команда имеет две составляющие: код операции и адресную часть. Код операции определяет, какую команду должен исполнить процессор (элементарное действие, которое может выполнить процессор, например, «переслать байт из одного места в памяти в другое»). Адресная часть указывает, где в памяти компьютера хранятся операнды и куда поместить результат выполнения операции.


2. ОБЩЕЕ ЗНАКОМСТВО С ЯЗЫКОМ С


Язык C (Си) является языком программирования высокого уровня общего назначения, который в то же время позволяет сделать многое из того, что свойственно языкам низкого уровня (ассемблерам). Был разработан в начале 70-х годов Кеном Томпсоном и Денисом Ритчи, сотрудниками компании Bell Labs. Язык С изначально был создан для программирования под операционную систему UNIX. Задумывался как альтернатива ассемблеру для написания системных программ. Сама ОС UNIX написана на С. В последствии был перенесён на множество других операционных систем и стал одним из самых популярных языков программирования.

Язык С имеет массу достоинств. В первую очередь, С ценится за эффективность. Элементы языка С (массивы, функции, указатели) максимально приближены к архитектуре компьютеров. Язык С позволяет программисту полностью контролировать компьютер средствами самого же языка. Изначально язык С был придуман, чтобы заменить ассемблер в написании операционных систем. В настоящее время большинство ОС написано на С. Но применение языка С не ограничивается только написанием операционных систем. Язык С удобен для написания очень и очень многих программ (не web-приложений).

Также язык С широко используется для подготовки специалистов, хотя изначально разрабатывался не для новичков, как тот же Паскаль. Многие языки взяли за основу синтаксис языка С. Язык С не только важен сам по себе, но и открывает дорогу к другим современным и очень популярным языкам, таким как C++, Java, C#, Perl, JavaScript и т.п.



Среды разработки для языка С: в настоящее время используется несколько интегрированных сред разработки программ на языке С. В среде профессиональных разработок наибольшей популярностью пользуются различные версии Visual C++ фирмы Microsoft. В учебных организациях предпочитают продукцию фирмы Borland: Borland C++ и Borland C++ Builder. Эти системы более просты в освоении. Это наиболее часто используемы среды – но есть и другие платные и бесплатные среды, а также компиляторы (например, Dev-C++).


страница 1 страница 2 ... страница 31 | страница 32

Смотрите также: