Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Объявление переменной




Министерство сельского хозяйства РФ

ФГБОУ ВПО КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ

АГРАРНЫЙ УНИВЕРСИТЕТ

Кафедра системного анализа и обработки информации

 

 

 

Программирование

конспект лекций по дисциплине (Программирование)

для студентов специальности 080801 Прикладная информатика (по областям)

Краснодар

 


Программирование. Конспект лекций для студентов специальности 080801 Прикладная информатика (по областям)/ Кубан. гос. аграрн. ун-т., Сост. А.Г. Мурлин.


Содержание

 

1 Лексические основы языка Си/Си++................................................................... 5

1.1 Лексемы Си/Си++........................................................................................... 5

1.2 Типы данных.................................................................................................. 6

1.2.1 Объявление переменной.......................................................................... 6

1.2.2 Категории типов данных......................................................................... 7

1.2.3 Целый тип данных................................................................................... 8

1.2.4 Данные с плавающей точкой (вещественные типы)................................ 9

1.3 Знаки операций............................................................................................ 10

1.3.1 Разновидности выражений в СИ/СИ++............................................... 10

1.3.2 Разновидности операций в СИ++......................................................... 10

1.3.3 Простое присваивание........................................................................... 13

1.3.4 Составное присваивание........................................................................ 13

1.3.5 Приоритеты операций и порядок вычислений..................................... 13

1.4 Структура и компоненты программы на языке СИ................................... 14

1.5 Организация ввода-вывода в стиле СИ...................................................... 15

1.6 Ввод, вывод данных в стиле СИ++............................................................. 18

1.6.1 Манипуляторы и форматирование ввода-вывода................................ 19

1.7 Математические функции............................................................................. 20

2 Алгоритм. Элементы структурного программирования............................. 22

2.1 Понятие алгоритма...................................................................................... 22

2.2 Основные требования к алгоритмам........................................................... 24

2.3 Элементы структурного программирования......................................... 26

3 Программирование алгоритмов линейной структуры.................................... 28

4 Алгоритмы и программы ветвящейся структуры. Условный оператор if. Переключатель switch...................................................................................................................... 31

4.1 Алгоритмы и программы ветвящейся структуры...................................... 31

4.1.1 Условный оператор if............................................................................ 31

4.1.2 Логические операции............................................................................. 32

4.2 Примеры составления алгоритмов и программ с использованием условного оператора If....................................................................................................... 33

4.3 Переключатель switch.................................................................................. 36

5 Алгоритмы и программы циклической структуры......................................... 38

5.1 Понятие цикла. Разновидности циклов....................................................... 38

5.2 Цикл с параметром в СИ/СИ++.................................................................. 39

5.3 Оператор while............................................................................................. 40

5.4 Оператор do while........................................................................................ 41

5.5 Оператор continue........................................................................................ 42

6 Регулярные типы данных. Массивы.................................................................. 43

6.1 Понятие регулярного типа.......................................................................... 43

6.2 Алгоритмы сортировки массивов............................................................... 46

6.3 Постановка задачи сортировки и методы её решения............................... 46

6.4 Алгоритм прямого упорядочения (Алгоритм сортировки выбором элемента) 48

6.5 Алгоритм попарного сравнения соседних элементов («пузырьковая» сортировка)............................................................................................................................. 49

6.6 Алгоритм сортировки выбором элемента.................................................. 50

6.7 Методы доступа к элементам массивов, использование указателей.......... 50

6.8 Организация многомерных массивов. Указатели на многомерные массивы 52

7 Функции в Си/Си ++......................................................................................... 54

7.1 Описание и определение функции............................................................... 54

7.2 Вызов функции............................................................................................. 56

7.3 Передача параметров в функцию................................................................ 57

7.4 Описание прототипа функции.................................................................... 58

7.5 Функция с переменным количеством параметров...................................... 59

7.6 Понятие сигнатуры функции....................................................................... 60

7.7 Подставляемые (встраиваемые) функции.................................................... 60

7.8 Передача параметров в главную функцию................................................. 60

7.9 Рекурсивные вызовы функции..................................................................... 61

7.10 Примеры составления функций................................................................. 62


1 Лексические основы языка Си/Си++

1.1 Лексемы Си/Си++

 

Алфавит языка СИ включает буквы английского алфавита от A до Z и от a до z. Арабские цифры от 0 до 9. Специальные символы:

+ – / *.,:; () [ ] { } $ @ # ^ ¢ = < >&

Символ подчёркивания ­_, считающийся буквой.

Из символов алфавита формируются минимальные единицы языка, имеющие определённый смысл – лексемы. Лексемы бывают пяти видов: служебные слова, идентификаторы (имена) переменных, знаки операций, числа и строки, заданные непосредственно в программе, символы разделители. СИ различает заглавные и строчные буквы, поэтому идентификаторы MyVAR и myvar обозначают одну разные переменные.

Служебные слова являются зарезервированными и переназначать их действие нельзя. Их нельзя использовать в качестве идентификаторов. Например: switch, struct, for, while. Служебные слова будут вводиться по ходу изучения языка.

Идентификатором называется последовательность цифр и букв, а также специальных символов, при условии, что первой стоит буква или специальный символ. Для образования идентификаторов могут быть использованы строчные или прописные буквы латинского алфавита. В качестве специального символа может использоваться символ подчеркивание (_). Два идентификатора для образования которых используются совпадающие строчные и прописные буквы, считаются различными. Например: abc, ABC, A128B, a128b.

Важной особенностью является то, что компилятор допускает любое количество символов в идентификаторе, хотя значимыми являются первые 31 символ. Идентификатор создается на этапе объявления переменной, функции, структуры и т.п. после этого его можно использовать в последующих операторах разрабатываемой программы. Следует отметить важные особенности при выборе идентификатора.

Во первых, идентификатор не должен совпадать с ключевыми словами, с зарезервированными словами и именами функций библиотеки компилятора языка СИ.

Во вторых, следует обратить особое внимание на использование символа (_) подчеркивание в качестве первого символа идентификатора, поскольку идентификаторы построенные таким образом, что, с одной стороны, могут совпадать с именами системных функций и (или) переменных, а с другой стороны, при использовании таких идентификаторов программы могут оказаться непереносимыми, т.е. их нельзя использовать на компьютерах других типов.

В третьих, на идентификаторы используемые для определения внешних переменных, должны быть наложены ограничения, формируемые используемым редактором связей (отметим, что использование различных версий редактора связей, или различных редакторов накладывает различные требования на имена внешних переменных).

Знаки операций определяются специальными символами, и предназначены для выполнения тех или иных действий с данными (например, сложение операндов).

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

Строка представляет собой последовательность, содержащую ноль и более символов из расширенного набора символов американского стандарта кодирования информации ASCII. Строка записывается в одной строке программы и заключается в кавычки.

“Строка символов”

Символы разделители используются для отделения одних выражений от других (;), меток от операторов, переменных от типов (:).

В программе могут использоваться комментарии. Комментарий - это набор символов, которые игнорируются компилятором, на них, однако, накладываются следующие ограничения. Внутри набора символов, который представляет комментарий не может быть специальных символов определяющих начало и конец комментариев, соответственно (/* и */). Отметим, что комментарии могут заменить как одну строку, так и несколько. Например:

/* комментарии к программе */

/* начало алгоритма */

или

/* комментарии можно записать в следующем виде, однако надо

быть осторожным, чтобы внутри последовательности, которая игнорируется компилятором, не попались операторы программы, которые также будут игнорироваться */

Неправильное определение комментариев.

/* комментарии к алгоритму /* решение краевой задачи */ */

или

/* комментарии к алгоритму решения */ краевой задачи */

Также можно использовать комментарии в стиле СИ++, который начинается двумя символами //. При этом каждая новая строка такого комментария должна начинаться с этих символов. Всё что написано слева от этих символов в строке компилятором игнорируется.

//комментарий в стиле СИ++

Типы данных

Объявление переменной

 

Важное отличие языка СИ от других языков является отсутствие принципа умолчания, что приводит к необходимости объявления всех переменных используемых в программе явно вместе с указанием соответствующих им типов.

Объявления переменной имеет следующий формат:

[спецафикатор-класа-памяти] спецификатор-типа

описатель [=инициатор] [,описатель [= инициатор] ]...

Описатель - идентификатор простой переменной либо более сложная конструкция с квадратными скобками, круглыми скобками или звездочкой (набором звездочек).

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

Инициатор - задает начальное значение или список начальных значений, которые (которое) присваивается переменной при объявлении.

Спецификатор класса памяти - определяется одним из четырех ключевых слов языка СИ: auto, extern, register, static, и указывает, каким образом будет распределяться память под объявляемую переменную, с одной стороны, а с другой, область видимости этой переменной, т.е., из каких частей программы можно к ней обратиться.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных