- •Программирование
- •На языке высокого уровня
- •Часть 1. Основы языка Си
- •Методические указания
- •К выполнению лабораторных работ
- •Составитель: л.А. Прокушев
- •Подписано к печати Формат 60х84 1/16. Бумага тип. №3
- •Редакционно-издательский отдел
- •190000, Санкт-Петербург, ул. Б. Морская, 67 Общие методические указания
- •Алгоритмизация вычислительных процессов
- •Средства программирования вычислительных процессов Базовые элементы языка Си
- •Данные и их типы
- •Константы
- •Переменные
- •Ввод-вывод данных
- •Форматированный ввод
- •Форматированный вывод
- •Консольный ввод-вывод
- •Функция ввода символа (без отображения)
- •Функция очистки экрана результатов
- •Структура Си-программы
- •Директивы препроцессора
- •Выражения и операции
- •Логические выражения и операции
- •Работа с ветвящимися процессами Операторы
- •Оператор присваивания
- •Условный оператор (if)
- •Операторы передачи управления Пустой оператор
- •Оператор break (прервать) используется для прерывания работы текущего сложного оператора, в теле которого находится оператор break, и передачи управления на следующий по порядку оператор.
- •Оператор выбора (switch)
- •Действие оператора выбора состоит в следующем:
- •Введите 2 числа х, y : 3 8
- •Работа с циклическими вычислительными процессами
- •Циклы с фиксированным числом повторений Оператор цикла с предусловием (while)
- •Прерывание цикла
- •Циклы с неизвестным числом повторений Вычисление рекуррентных последовательностей
- •Оператор цикла с постусловием (do)
- •Вложенные циклы и организация диалога в программе
- •Оператор цикла с параметром (for)
- •Программа:
- •Программа:
- •Программа:
- •Работа с массивами
- •Описание массива
- •Доступ к элементам массива
- •Указатель
- •Занесение данных в массив
- •Многомерные массивы
- •Работа с функциями
- •Определение функции
- •Вызов функции
- •Передача параметров функции
- •Передача данных по значению
- •Передача данных по адресу
- •Пример. Составить функцию обмена значениями между переменными X и y. Верным решением является применение передачи данных по адресу.
- •Прототип (шаблон) функции
- •Блочная структура программы
- •Внешние описания переменных
- •Многомодульные программы Проект программы
- •Внешние ссылки
- •Создание проекта программы
- •Работа с указателями Объявления объектов со сложными описателями
- •Массивы указателей
- •Указатель на указатель
- •Указатель на функцию
- •Использование указателя на функцию как аргумента
- •Массивы указателей на функции
- •Часть 1. Основы языка Си 1
Средства программирования вычислительных процессов Базовые элементы языка Си
В зависимости от назначения и использования в тексте программы множество базовых символов языка Си можно разделить на несколько подгрупп.
Буквы латинского алфавита – заглавные и строчные (A…Z , a…z)
Десятичные цифры от 0 до 9
Знаки операций + - * / < > =
Скобки ( ) [ ] { }
Знаки пунктуации (разделители) , . ; : ? _ (подчёркивание) пробел
Спецсимволы # $ ! % | ^ & ~ \ ‘ (апостроф) “ (кавычки)
Составные символы образуются в виде комбинаций базовых символов без пробелов, представляя собой разделители или знаки операции :
<= , >= , != (не равно), || (логическое ИЛИ), && (логическое И), ++ , , << , >> , += , = , *= , /= , <<= , >>= , /* , */ .
Пробельные символы включают кроме символа пробела, также символы табуляции, перевода строки, возврата каретки.
Комментарий – это текст для пояснений в программе, заключённый между символами /* и */, в котором могут использоваться буквы русского алфавита (кириллица). Он может занимать несколько строк, но не может быть вложенным, и располагается в любом месте программы, где допустим пробел.
Идентификатор - это совокупность букв, цифр и знаков подчёркивания, задающая имя переменной, название функции или ключевое слово в программе.
Ключевые слова - это предопределённые идентификаторы языка Си, используемые для составления текста программы:
asm |
default |
for |
pascal |
switch |
auto |
do |
goto |
register |
typedef |
break |
double |
huge |
return |
union |
case |
else |
if |
short |
unsigned |
cdecl |
enum |
int |
signed |
void |
char |
extern |
interrupt |
sizeof |
volatile |
const |
far |
long |
static |
while |
continue |
float |
near |
struct |
|
Лексема - это синтаксически неделимая единица текста программы, имеющая определенный смысл для компилятора, от 1 до нескольких символов алфавита, например, знаки пунктуации и операции, скобки, составные символы, а также ключевые слова, константы и идентификаторы (имена) переменных и функций. Границами лексем служат пробельные символы или другие лексемы (например, знаки пунктуации, операций, скобок).
Данные и их типы
К данным относится любая информация, представленная в таком виде, который позволяет автоматизировать её сбор, хранение и обработку в ЭВМ (числа, символы, биты и др.). Данные в программе могут быть исходными (задаваемыми на входе программы) или результатами отработки (промежуточными или выходными).
Константы
Константы задают неизменяемые величины в программе, определяемые их типом и формой представления (число, символ, строка, указатель (адрес)).
Числовые константы это целые или вещественные числа.
Целые константы могут быть десятичными, восьмеричными, шестнадцатеричными, двоичными.
Десятичное число может быть записано со знаком или без знака, причём последовательность цифр, не может начинаться с нуля, например, 25, -3, 0 – верно (одна цифра), а 025 – неверно, поскольку это вид восьмеричной константы.
Вещественная константа (число) описывается форматом [+/–] C[.C] E [+/–] [C] C , где С – цифры от 0 до 9 , а части, заключенные в скобки [ ], могут опускаться, допустимы символы E, e (для основания 10), разделяющие значащую часть числа (мантиссу) и порядок (степень основания 10), например, 10.25, –2E5, 0.7E–3, –2.4e8 .
Символьная константа – это символ, заключённый в апострофы, например, ‘F’, ‘5’, ‘ ‘ (пробел), ‘/’.
Значением символьной константы является числовой код символа согласно ASCII-таблице [1, c.12], например, символ ‘F’ – код 70, ‘5’ – код 53, ‘/’ – код 47. Кроме одиночных символов в программе могут использоваться управляющие последовательности символов, которые начинаются с символа \ (обратная наклонная черта) и выполняют определённую функцию, например, ‘\t’– табуляция, ‘\n’ – перевод на новую строку, ‘\a’ – звонок, ‘\b’ – возврат на шаг. Можно также использовать коды символов (8-меричный или 16-теричный), например, символ возврата каретки можно задать: ‘\r’, ‘\015’, ‘\15’, ‘\x00D’, ‘\xD’.
Строковая константа (литерал) – это последовательность символов, заключённая в двойные кавычки, например, “Результат задания”. В строковый литерал можно включать управляющие последовательности символов (без апострофов). Например, “\а Ошибка! \n Нажмите на любую клавишу ...\а”. Длинную строку при вводе можно прервать символом \ и нажатием клавиши <Enter> перенести на новую строку, например, строка: “Это очень длин\
ная строка“ эквивалентна литералу “Это очень длинная строка”.
