- •Часть 1
- •40 01 02 – 02 Информационные системы и технологии (в экономике)
- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Протокол согласования учебной программы по изучаемой учебной дисциплине с другими дисциплинами специальности
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах
- •3. Перечень тем лабораторных занятий, их содержание и объем в часах
- •Теоретический раздел
- •Тема № 1. Введение в программирование
- •Происхождение языка с.
- •Основные характеристики алгоритмического языка с
- •Область применения
- •Системы программирования
- •Исходные и объектные модули, процессы компиляции и связывания
- •Алфавит языка
- •Лексемы (cTokens)
- •Тема № 2. Выражения и операции языка Унарные операции
- •Бинарные операции
- •Условная трехместная операция
- •Операция явного преобразования типа
- •Приоритет операций. Порядок вычисления выражений.
- •Организация ввода-вывода информации
- •Тема № 3. Управляющие структуры. Ветвления и циклы
- •Операторы преобразования данных – это операторы присваивания и произвольные выражения, завершенные символом «;».
- •Операторы управления работой программы называют управляющими конструкциями программы.
- •Тема № 4. Организация данных. Массивы и указатели Массивы
- •Инициализация массивов
- •Указатели
- •Функции для выделения и освобождения памяти
- •Тема № 5. Функции. Символьные строки и функции над ними Определение функций
- •Описание функций
- •Вызов функции
- •Передача параметров
- •Указатели на функции
- •Массивы указателей на функции
- •Главная функция. Передача аргументов главной функции
- •Рекурсивные программы
- •Стандартные функции ввода-вывода строк
- •Стандартные функции обработки строк
- •Тема № 6. Классы памяти и препроцессор языка Си Локальные и глобальные переменные
- •Автоматические (локальные) переменные
- •Внешние (глобальные) переменные
- •Статические переменные
- •Регистровые переменные
- •Область видимости и функции
- •Препроцессор и его директивы
- •Тема № 7. Структуры Декларация структур
- •Инициализация структур
- •Доступ к элементам структур
- •Элементы-массивы
- •Массивы структур
- •Указатели на структуры
- •Доступ к элементам структуры, определенной через указатель
- •Структуры и функции
- •Объединения
- •Битовые поля
- •Практический раздел Виртуальные лабораторные работы
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Контрольные работы
- •Содержание пояснительной записки.
- •Задание для контрольной работы №1
- •Задание для контрольной работы №2
- •Варианты индивидуальных заданий
- •Теоретические вопросы
- •Пример оформления титульного листа для виртуальных лабораторных работ
- •Пример оформления титульного листа для контрольных
Алфавит языка
Алфавитом языка называется совокупность символов, используемых в языке.
В алфавит языка Си входят:
- прописные и строчные буквы латинского алфавита (A,B,C,…,Z,a,b,c,…,z);
- цифры (0,1,2,3,4,5,6,7,8,9);
- специальные знаки “ ‘ {} [] () | = + - * / % \ ; . , : ? < > _ ! & # ~ ^
- неизображаемые символы («обобщенные пробельные символы»), такие как пробел, табуляция, переход на новую строку.
В комментариях, строках и символьных константах могут использоваться и другие литеры, например русские буквы.
Комментарий формируется как последовательность символов, начинающаяся парой символов /* и завершенная парой символов */. Например:
/* Это комментарий */
В языке Си недопустимо вложение комментариев – это значит, что запись
/* text1 /* text2 */ text3 */ считается ошибочной.
Лексемы (cTokens)
В программах на языке Си базовые элементы, опознаваемые компилятором, называются лексемами (английский термин - "token).". В их состав входят:
ключевые слова (keyword)
идентификаторы (identifier)
константы (constant)
строковые литералы (string-literal)
операторы (знаки операций) (operator)
знаки пунктуации (punctuator)
Ключевые слова (CKeywords)
Ключевые слова – это такие слова, которые имеют специальное значение для компилятора языка. В языке Си используются следующие ключевые слова:
|
auto |
break |
case |
char |
const |
continue |
default |
do |
|
double |
else |
enum |
extern |
float |
for |
goto |
if |
|
int |
long |
register |
return |
short |
signed |
sizeof |
static |
|
struct |
switch |
typedef |
union |
unsigned |
void |
volatile |
while |
Вы не можете переопределять ключевые слова у себя в программе. В рамках конкретной системы программирования состав ключевых слов может быть расширен.
По смысловой нагрузке служебные слова группируются следующим образом:
Спецификаторы типов:
char символьный
double вещественный двойной точности
enum перечисляемый
float вещественный
int целый
long длинное целый
short короткое целое
struct структура
signed знаковый
union объединение
unsigned беззнаковый
void отсутствие значения
typedef синоним обозначения типа
Квалификаторы типа:
constквалификатор объекта, имеющего постоянное значение
volatileквалификатор объекта, значение которого может измениться без явных указаний программиста.
Классы памяти:
auto автоматический
extern внешний
register регистровый
staticстатический
Элементы операторов:
break прервать
continue продолжить
do выполнять
for для
goto перейти
if если
return возврат
switch переключатель
while пока
Специальные идентификаторы:
default по умолчанию
case вариант
else иначе
sizeof размер
Punctuation and Special Characters.
Знаки пунктуации и специальные символы используются в программах на языке Си в различных целях, но в основном служат для организации работы транслятора. Они не специфицируют выполняемые операции. Некоторые знаки пунктуации одновременно являются знаками операций. Их конкретное назначение транслятор выявляет по контексту программы.
К знакам пунктуации относятся:
[ ] ( ) { } * , : = ; ... #
Эти символы имеют в Си специальное назначение, которое мы будем раскрывать по мере изучения языка. Заметим здесь лишь, что знак (pound sign (#)) может использоваться только в директивах препроцессора языка Си.
Operators – знаки операций.
В качестве знаков операций в языке Си могут выступать:
[ ] ( ) . –> ++ –– & * + – ~ ! sizeof / % << >> < > <= >= == !=
^ | && || ? : = *= /= %= += –= <<= >>= &= ^= |= , # ##
