Программирование на языке высокого уровня. Методические указания к проведению лабораторных работ по курсу «Программирование»
.pdf
679
1858
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра автоматизированных систем управления
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ к проведению лабораторных работ по курсу
«ПРОГРАММИРОВАНИЕ»
Составитель: А.С. ФАРАФОНОВ
Липецк Липецкий государственный технический университет
2013
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра автоматизированных систем управления
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ к проведению лабораторных работ по курсу
«ПРОГРАММИРОВАНИЕ»
Составитель: А.С. ФАРАФОНОВ
Липецк Липецкий государственный технический университет
2013
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра автоматизированных систем управления
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ к проведению лабораторных работ по курсу
«ПРОГРАММИРОВАНИЕ»
Составитель: А.С. ФАРАФОНОВ
Утверждаю к печати |
Проректор по учебной работе |
|
Объем |
2,0 п.л. |
Ю.П. Качановский |
Тираж |
100 экз. |
«___» ____________ 2013 г. |
Липецк Липецкий государственный технический университет
2013
УДК 004.432.2(07)
Ф24
Рецензент - к.т.н., доц. О.А. Назаркин
Фарафонов, А.С.
Ф24 Программирование на языке высокого уровня [Текст]: методические указания к проведению лабораторных работ по курсу
«Программирование» / А.С. Фарафонов. – Липецк: Изд-во ЛГТУ, 2013. –
32с.
Влабораторных работах изучаются базовые понятия программирования на языке Си: базовые конструкции языка, операции ввода-вывода, циклы,
массивы, строки, пользовательские функции.
Предназначены для студентов направлений 230100 «Информатика и вычислительная техника», 231000 «Программная инженерия», 010500 «Математическое обеспечение и администрирование информационных систем» и соответствующих специальностей.
Табл. 7. Библиогр.: 3 назв.
© ФГБОУ ВПО «Липецкий государственный технический
университет», 2013
4
1.Теоретические сведения
1.1.ЭЛЕМЕНТЫ ЯЗЫКА СИ
Под элементами языка понимаются его базовые конструкции,
используемые при написании программ. В этом разделе описываются следующие элементы языка Си:
алфавит;
константы;
идентификаторы;
ключевые слова;
комментарии.
1.1.1.Алфавит
В программах на языке Си используются два множества символов:
множество символов языка Си и множество представимых символов.
Множество символов языка Си содержит буквы, цифры и знаки пунктуации,
которые имеют определенный смысл для компилятора языка Си. Программы на языке Си строятся путем комбинирования в осмысленные синтаксические конструкции символов из множества символов языка Си.
Множество символов языка Си является подмножеством множества представимых символов. Множество представимых символов состоит из всех букв, цифр и символов, которые могут быть представлены как отдельный символ на клавиатуре данного персонального компьютера.
Программа на языке Си может содержать только символы из множества символов языка Си, однако внутри символьных строк, символьных констант и комментариев может быть использован любой представимый символ.
Компилятор языка Си выдает сообщение об ошибке при обнаружении неверно использованных символов.
5
Буквы и цифры
Множество символов языка Си включает прописные и строчные буквы латинского алфавита и арабские цифры:
прописные латинские буквы: ABCDEFGHIJKLMNOPQRSTUVWXYZ;
строчные латинские буквы: abcdefghijkimnopqrstuvwxyz;
десятичные цифры: 0123456789.
Буквы и цифры используются при формировании констант,
идентификаторов и ключевых слов (эти конструкции описаны ниже).
Компилятор языка Си рассматривает одну и ту же прописную и строчную буквы как различные символы.
Пробельные символы
Символы пробел, табуляция, перевод строки, возврат каретки, новая страница, вертикальная табуляция и новая строка называются пробельными,
поскольку они имеют то же самое назначение, что и пробелы между словами и строками в тексте на естественном языке. Эти символы отделяют друг от друга лексемы, например константы и идентификаторы.
Компилятор языка Си игнорирует пробельные символы, если они используются не как компоненты символьных констант или символьных строк.
Это позволяет использовать столько пробельных символов, сколько нужно для повышения наглядности программы.
Комментарии компилятор языка Си также рассматривает как пробельные символы.
Разделители
Разделители из множества символов языка Си используются для различных целей, от организации текста программы до определения указаний компилятору языка Си. Разделители перечислены в таблице 1.
6
|
|
|
Таблица 1 |
|
Разделители языка С |
||
|
|
|
|
Символ |
Наименование |
Символ |
Наименование |
|
|
|
|
, |
Запятая |
! |
Восклицательный знак |
|
|
|
|
. |
Точка |
| |
Вертикальная черта |
|
|
|
|
; |
Точка с запятой |
/ |
Наклонная черта вправо (слэш) |
|
|
|
|
: |
Двоеточие |
\ |
Наклонная черта влево (обратный слэш) |
|
|
|
|
? |
Знак вопроса |
~ |
Тильда |
|
|
|
|
‘ |
Одиночная кавычка (апостроф) |
_ |
Подчеркивание |
|
|
|
|
( |
Левая круглая скобка |
# |
Знак номера |
|
|
|
|
) |
Правая круглая скобка |
% |
Процент |
|
|
|
|
{ |
Левая фигурная скобка |
& |
Амперсанд |
|
|
|
|
} |
Правая фигурная скобка |
^ |
Стрелка вверх |
|
|
|
|
< |
Знак «меньше» |
- |
Знак «минус» |
|
|
|
|
> |
Знак «больше» |
= |
Знак «равенства» |
|
|
|
|
[ |
Левая квадратная скобка |
+ |
Знак «плюс» |
|
|
|
|
] |
Правая квадратная скобка |
* |
Знак «умножение» (звездочка) |
|
|
|
|
Специальные символы
Специальные символы предназначены для представления пробельных и неграфических символов в строках и символьных константах. Обычно они используются для спецификации таких действий, как возврат каретки и табуляция для терминалов и принтеров, а также для представления символов,
имеющих особый смысл (например, двойная кавычка). Специальный символ состоит из обратного слэша, за которым следует либо буква, либо знаки пунктуации, либо комбинация цифр. В таблице 2 приведен список специальных символов языка Си.
Таблица 2
Список специальных символов языка С
Специальный |
Наименование |
|
символ |
||
|
||
|
|
|
1 |
2 |
|
|
|
|
\n |
Новая строка |
|
|
|
|
|
7 |
Продолжение табл.2
1 |
|
2 |
|
|
|
|
|
|
|
\t |
Горизонтальная табуляция |
|
|
|
|
|
|
|
|
\v |
Вертикальная табуляция |
|
|
|
|
|
|
|
|
\b |
Забой |
|
|
|
|
|
|
|
|
\г |
Возврат каретки |
|
|
|
|
|
|
|
|
\f |
Новая страница |
|
|
|
|
|
|
|
|
\а |
Звуковой сигнал |
|
|
|
|
|
|
|
|
\’ |
Апостроф |
|
|
|
|
|
|
|
|
\" |
Двойная кавычка |
|
|
|
|
|
|
|
|
\\ |
Обратный слэш |
|
|
|
|
|
|||
\ddd |
Байтовое значение в восьмеричном представлении |
|||
|
|
|
|
|
\xdd |
Байтовое |
значение |
в |
шестнадцатеричном |
представлении |
|
|
||
|
|
|
||
|
|
|
|
|
Операции
Операции — это комбинации символов, специфицирующие действия по преобразованию значений. Компилятор языка Си интерпретирует каждую из этих комбинаций как самостоятельную лексему.
В таблице 3. представлен список операций. Операции должны использоваться точно так, как они представлены в таблице,' без пробельных символов между символами в тех операциях, которые представлены несколькими символами.
|
|
|
Таблица 3 |
|
Список операций языка С |
||
Операция |
Наименование |
Операция |
Наименование |
|
|
|
|
1 |
2 |
3 |
4 |
|
|
|
|
! |
Логическое НЕ |
^ |
Поразрядное исключающее ИЛИ |
|
|
|
|
~ |
Обратный код |
&& |
Логическое И |
|
|
|
|
+ |
Сложение; унарный плюс |
|| |
Логическое ИЛИ |
|
|
|
|
- |
Вычитание; унарный минус |
?: |
Условная операция |
|
|
|
|
* |
Умножение; косвенная адресация |
++ |
Инкремент |
|
|
|
|
/ |
Деление |
-- |
Декремент |
|
|
|
|
% |
Остаток от деления |
= |
Простое присваивание |
|
|
|
|
8
|
|
|
Продолжение табл.3 |
||
1 |
2 |
3 |
|
4 |
|
|
|
|
|
||
<< |
Сдвиг влево |
+= |
Присваивание со сложением |
||
|
|
|
|
||
>> |
Сдвиг вправо |
-= |
Присваивание с вычитанием |
||
|
|
|
|
||
< |
Меньше |
*= |
Присваивание с умножением |
||
|
|
|
|
||
<= |
Меньше или равно |
/= |
Присваивание с делением |
||
|
|
|
|
||
> |
Больше |
%= |
Присваивание с остатком от деления |
||
|
|
|
|
||
>= |
Больше или равно |
>>= |
Присваивание со сдвигом вправо |
||
|
|
|
|
||
== |
Равно |
<<= |
Присваивание со сдвигом влево |
||
|
|
|
|
||
!= |
Не равно |
&= |
Присваивание с поразрядным И |
||
|
|
|
|
|
|
& |
Поразрядное И; адресация |
|= |
Присваивание |
с |
поразрядным |
|
|
|
включающим ИЛИ |
|
|
|
|
|
|
|
|
| |
Поразрядное включающее ИЛИ |
^= |
Присваивание |
с |
поразрядным |
|
|
|
исключающим ИЛИ |
|
|
|
|
|
|
|
|
1.1.2.Константы
Константа — это число, символ используются в программе для задания различают четыре типа констант: целые,
константы и символьные строки.
или строка символов. Константы постоянных величин. В языке Си с плавающей точкой, символьные
Целые константы
Целая константа — это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целое значение. Десятичная константа имеет следующий формат представления:
<цифры> <цифры> — последовательность из одной или более десятичных цифр от
0 до 9.
Восьмеричная константа имеет следующий формат представления:
0<в-цифры> <в-цифры>—это одна или более восьмеричных цифр от 0 до 7. Запись
нуля впереди обязательна.
9
Шестнадцатеричная константа имеет следующий формат представления:
0х<ш-цифры> или 0Х<ш-цифры>
<ш-цифры> — одна или более шестнадцатеричных цифр.
Шестнадцатеричная цифра может быть цифрой от 0 до 9 или буквой (большой или малой) от А до F. Допускается "смесь" больших и малых букв. Запись нуля впереди и следующего за ним символа х или Х обязательна.
Константы с плавающей точкой
Константа с плавающей точкой — это действительное десятичное положительное число. Оно включает целую часть, дробную часть и экспоненту.
Константы с плавающей точкой имеют следующий формат представления:
[<цифры>][.<цифры>][<э>[-]<цифры>]
<цифры> —одна или более десятичных цифр (от 0 до 9); <э>—признак экспоненты, задаваемый символом Е или е. Либо целая, либо дробная часть константы может быть опущена, но не обе сразу. Либо десятичная точка с дробной частью, либо экспонента может быть опущена, но не обе сразу.
Экспонента состоит из символа экспоненты, за которым следует целочисленное значение экспоненты, возможно со знаком плюс или минус.
Символьные константы
Символьная константа — это буква, цифра, знак пунктуации или специальный символ, заключенный в апострофы. Значение символьной константы равно коду представляемого ею символа. Символьная константа имеет следующую форму представления:
'<символ>' <Символ> может быть любым символом из множества представимых
символов (в том числе любым специальным символом), за исключением символов апостроф ('), обратный слэш (\) и новая строка.
10
