- •Алфавит языка Си
- •Идентификаторы (имена) языка Си
- •Ключевые слова
- •Константы (литералы)
- •Комментарии
- •Пример программы на Си
- •Последовательность обработки программы на Си
- •Термины
- •2.1. Концепция типа данных
- •2.2. Базовые типы данных
- •2.2. Атрибуты объектов
- •2.2.1. Класс памяти
- •2.2.2. Область (сфера) действия, связанного с объектом идентификатора
- •2.2.3. Область видимости объекта
- •2.2.4. Продолжительность существования объекта (время жизни)
- •2.2.5. Тип компоновки (связывания)
- •2.3. Объявления, определения и описания в языке Си
- •2.4. Объявления переменных стандартных типов
- •2.5. Преобразования типов
- •Термины
- •3.1. Определение и общая классификация операторов
- •3.2. Последовательно выполняемые операторы
- •3.3. Операции языка Си
- •3.4. Приоритеты и порядок выполнения операций, тип результата выражения
- •Тип результата выражения арифметической бинарной операции
- •Даны X, y (значения вводятся с клавиатуры). Вычислить a, если
- •Термины
- •4.1. Условный оператор
- •4.2. Переключатель
- •4.3. Операторы циклов
- •4.4. Оператор безусловной передачи управления
- •4.5. Оператор возврата из функции
- •4.6. Оператор выхода из цикла или переключателя
- •4.7. Оператор перехода к следующей итерации цикла
- •Термины
- •5.1. Указатели
- •5.2. Ссылки
- •5.3. Массивы
- •5.3.1. Одномерные массивы
- •Int a[100]; // Объявление массива из 100 элементов типа int
- •Инициализация массива
- •Массивы и указатели
- •Динамические массивы
- •5.3.2. Многомерные массивы
- •Инициализация многомерных массивов
- •Динамические многомерные массивы
- •Указатель на массив указателей и указатель на массив
- •Int ** p1; // Указатель на массив указателей
- •Int (*p2)[10]; // Указатель на массив из 10 элементов типа int
- •Термины
- •6.1. Структуры
- •Int X; // Поле структуры
- •Int X; // Поле структуры
- •Int X; // Поле структуры
- •Инициализация структуры
- •Int year, page; // Год издания и число страниц
- •6.2. Объединения
- •6.3. Битовые поля структур и объединений
- •Int a1: 10; // Битовое поле из 10 бит
- •Int a2: 14; // Битовое поле из 14 бит
- •Int :6; // Пропускаем 6 бит
- •6.4. Директива определения типа typedef
- •Термины
- •7.1. Определение, описание и вызов функции
- •7.2. Использование значений параметров по умолчанию
- •7.3. Изменение значений скалярных параметров в функциях
- •7.3.1. Передача параметров в функции по значению
- •7.3.1. Передача параметров в функции по указателю (по ссылке)
- •7.4. Передача в функцию массивов
- •7.4.1. Передача в функцию массивов, не являющихся строками
- •7.4.2. Передача в функцию строк
- •7.5. Функции с переменным количеством параметров
- •7.6. Рекурсивные функции
- •7.7. Подставляемые (inline) функции
- •7.8. Указатели на функции
- •7.10. Шаблоны функций
- •7.11. Возможные параметры функции main
- •Термины
- •8.1. Общие сведения о вводе-выводе
- •8.2. Стандартные потоки ввода-вывода
- •8.3. Функции для вывода в поток stdout
- •8.4. Функции для считывания из потока stdin
- •8.5. Ввод- вывод в файлы Открытие файла
- •Закрытие файла
- •Определение конца файла
- •Функции записи в файл
- •Функции чтения из файла
- •Функции позицирования в файлах
- •Функции для сброса буферов
- •Термины
- •9.1. Стадии и основные команды препроцессорной обработки
- •9.2. Замены в тексте
- •9.3. Макроподстановки
- •9.4. Включение текстов из файлов
- •9.5. Условная компиляция
- •9.6. Директива нумерации строк
- •9.7. Директива обработки ошибок
- •9.8. Директивы # и ##
- •9.9. Заранее определенные препроцессорные идентификаторы
- •9.10. Указания компилятору
- •Термины
-
Комментарии
Комментарий – это текст исходного кода программы, не обрабатываемый компилятором и служащий для повышения читабельности программ.
В Си два вида комментариев:
-
Начало комментария - два символа // , конец комментария – символ перехода на новую строку.
// комментарий до конца строки
Например,
int v=100; // Переменная определяет скорость
-
Начало комментария - 2 символа /* , конец комментария – 2 символа */. Пример,
/* Комментарий на
несколько
строк */
-
Пример программы на Си
Рассмотрим пример программы на языке Си. В среде Visual C++ необходимо создать новый проект. Для этого в главном меню выбираем элемент File – New – Proect. Появляется диалоговое окно, представленное на рисунке 1 (скриншоты представлены для среды разработки Microsoft Visual C++ 2005, для других версий среды они могут немного отличаться).
Рисунок 1 - Окно создания проекта
В окне создания проекта выбираем тип проекта Win32 и Win32 Console Application, задаем имя проекта MyProect1 и нажимаем кнопку Ok, появится окно, представленное на рисунке 2. Нажимаем кнопку Next. Появится окно, представленное на рисунке 3.
Рисунок 2 – Первое окна мастера создания проекта
Рисунок 3 – Второе окна мастера создания проекта
В данном окне необходимо включить контрольный переключатель (поставить «галочку») с именем Empty project и нажать кнопку Finish. Будет создан «пустой» проект, возможный вид главного окна представлен на рисунке 4.
Рисунок 4 – Главное окно проекта
Теперь необходимо создать новый файл с расширением .cpp и включить его в проект. Выделяем на вкладке пустой каталог с именем Source Files, нажимаем правую клавишу «мыши» и в появившемся контекстном меню выделяем элемент Add – New Item…, появится диалоговое окно для создания файла, представленное на рисунке 5.
Рисунок 5 – Окно для добавления нового файла в проект
В левой части окна в «дереве» с категориями (Categories) выделяем элемент Code. В правой части окна с шаблонами (Templates) в списке выбираем тип файла C++ File (.cpp), вводим имя файла, например, MyProect и нажимаем кнопку Add. Будет создан и открыт в текстовым редакторе пустой файл. В редакторе набираем текст программы, представленной ниже:
#include <stdio.h>
void main()
{
printf("Hello World");
}
Для запуска программы необходимо ввести комбинацию клавиш Ctrl-F5. В случае отсутствия ошибок результаты работы программы будут представлены в консольном окне, представленном на рисунке 6.
Рисунок 6 – Окно с результатами работы программы
Комментарии работы программы.
Как видно из рисунка 6, программа выводит на печать строку текста Hello World. Любая программа на Си состоит из функций. Функции содержат операторы – команды для выполнения определенных вычислительных операций. Функции Си аналогичны подпрограммам и функциям других языков программирования, например, Паскаль. Функциям можно давать любые имена по желанию программиста, за исключением функции main. Функция main есть точка входа в приложение. Программа, которая должна выполняться как приложение, должна содержать функцию main, которая при запуске приложения, начинает выполняться последовательно, оператор за оператором (кроме приложений могут создаваться библиотеки функций, которые функцию main не содержат). Из функции main могут вызываться любые другие функции, некоторые из которых программист может написать сам, а другие содержатся в стандартных библиотеках функций.
В первой строчке программы записано следующее:
#include <stdio.h>
Это директива препроцессора, которая подключает к программе заголовочный файл stdio.h (вставляет в данное место текст из этого файла), это обычный текстовый файл, который содержит заголовки (описания) стандартных функций ввода вывода. Следующая строка:
void main()
содержит заголовок функции main, данная функция не имеет возвращаемого значения (тип void, что означает «пустой») и не имеет параметров (пустые круглые скобки). Операторы функции заключены в фигурные скобки, функция main содержит один оператор – вызов стандартной функции printf. Чтобы вызвать функцию, следует ввести ее имя, а затем список аргументов в круглых скобках. Функция printf вызывается с аргументом "Hello World". Функция printf входит в стандартную библиотеку ввода- вывода и выводит свои аргументы на печать, в данном случае это один аргумент в виде строки текста в кавычках (строковая константа).