Программирование на Cи |
Содержание:
|
Язык программирования Си, является языком высокого уровня, то есть вся последовательность инструкций программы пишется зарезервированными словесными и символьными выражениями составляющими алгоритм программы. Несмотря на это, язык Си позволяет осуществлять прямой доступ ко всем ресурсам компьютера - микропроцессору, памяти, портам ввода-вывода и тому подобное. Поэтому язык Си (не смотря на свой почтенный возраст) часто используется для написания программ драйверов устройств компьютера, программирования микроконтроллеров и решения тому подобных задач. Язык Си, является прародителем таких современных языков как Java, C++, C#. Текст программы вводится в поле Edit. Для отладки программы следует нажимать клавишу F9, а для просмотра и тестирования готовой программы сочетание клавиш Ctrl + F9. Запущенная программа открывается в том же окне, что и редактор Edit. По окончании работы запущенной программы она закрывается, и система переходит в режим Edit. Для просмотра результатов работы программы следует нажимать сочетание клавиш Alt + F5, а для возврата к редактированию текста программы клавишу Esc. |
Структура программы на языке Си
|
Всякая программа на Си начинается с директив препроцессора. Директива #include включает в текст программы содержимое указанного файла. Обычно подключаемый файл содержит прототипы библиотечных функций необходимых для работы программы на Си. Так, например файл stdio.h содержит функции ввода-вывода, а файл math.h наиболее распространённые математические функции. Директива #include записывается следующим образом: #include <имя файла>. Например, #include <stdio.h>. Несколько директив include записываются в столбик с новой строки. Так же, программисты на Си часто используют директивы #define и #undef. Директива #define служит для замены часто использующихся констант, ключевых слов, операторов или выражений некоторыми идентификаторами. Директива #undef отменяет действие директивы #define. Про директивы #define и #undef будет подробно рассказано в соответствующем разделе. Далее, программа на Си должна содержать обязательную функцию main, с которой, собственно, и начинается выполнение программы. Сама программа может содержать любое количество функций и выражений внутри функции main. Если функция не возвращает никакого значения, то перед функцией пишется слово void. Всякая функция должна иметь параметры (значения для обработки), например функция sin(x) имеет параметр (аргумент) x - значение угла. Наша функция main не имеет аргументов, поэтому функция записывается с пустыми скобками - main(). Описание функции (тело) заключается в фигурные скобки {}. Скобка { - означает начало описания, а скобка } - конец. Следует отметить, что язык Си очень чувствителен к регистру вводимых слов и символов. Так слова main и Main имеют совершенно разные значения. |
Первая программа на Си
|
Напишем простую программу на Си и проверим её в действии. В текстовом редакторе среды программирования следует ввести такие строки: #include <stdio.h> void main() { clrscr(); printf("Hello, Word"); } Эта программа выводит на экран монитора надпись: Hello, Word. Функция clrscr() очищает экран, а функция printf выводит аргумент "Hello Word" на экран. Следует обратить внимание, что запись выражения printf("Hello, Word") заканчивается точкой с запятой. В языке Си, любое законченное выражение должно заканчиваться точкой с запятой. Запустим нашу программу на исполнение, нажав комбинацию клавиш Ctrl + F9. Скорее всего (если программа написана правильно) мы ничего не увидим, так как программа выполняется очень быстро и система переходит в режим редактирования. Для просмотра результатов запущенной программы следует нажать комбинацию клавиш Alt + F5. Для возврата в редактор следует нажать клавишу Esc. Может так случиться, что в тексте программы допущена ошибка, тогда компилятор выдаст сообщение об ошибке, которую нужно устранить. Например: Компилятор сообщает, что в функции main в одном из выражений пропущена точка с запятой, а именно в выражении printf("Hello Word"). |
Типы данных и их объявление
|
|||||||||||||||||||||||||||
Для обработки различной информации (как числовой, так и символьной) в языке Си существуют предопределённые типы данных.
int x; double argx; const float pi = 3.14; Если в программе используется несколько переменных одного типа, то допустимо эти переменные перечислить через запятую. Например: int x,y,z; Имена переменных программист придумывает сам. Это могут выть буквы или слова. Допустимо в именах переменных добавлять цифры, но цифры должны записываться только после букв. Например: int counter2; double x1;. Важно, чтобы имена переменных записывались английским шрифтом. Напишем следующую программу, что бы разобраться с объявлением переменных: #include<stdio.h> void main() { int q,x,z; const float pi = 3.14; clrscr(); z = 10; q = 5; x = z + q; printf("X= %d\nPI= %f", x,pi); } В этой программе мы объявили три переменных q, x, z типа int. Так же объявили константу const float pi = 3.14 и присвоили ей значение 3.14. Далее в программе мы присвоили переменным определённые значения z = 10, q = 5. Затем переменной x присвоили значение суммы переменных z и q, и наконец, вывели значение суммы и значение константы pi на экран при помощи функции printf. Аргументом функции printf является весьма мудрёная запись, связанная с форматированием выводимого текста на экран, поэтому остановимся на ней поподробней. |
Функция вывода printf и форматирование вывода
|
||||||||||||||||||||
Функция printf обладает уникальными свойствами, так как может выводить на экран не только надписи, но и числовые значения, причём, вывод может осуществляться в заданном формате. Аргумент функции заключённый в двойные кавычки выводится непосредственно на экран, но может содержать специальные символы форматирования которые на экране не отображаются, а служат командами форматирования. Часть текста не заключённая в двойные кавычки является перечислением переменных и констант (записанных через запятую), значения которых нужно вывести на экран. Рассмотрим последовательно, что означают записи printf("X= %d\nPI= %f", x,pi). Запись в кавычках Х= выводится непосредственно на экран, далее запись %d означает, что значение переменной х должно отображаться на экране как целое число. Для числовых значений принято несколько записей которые следует использовать при выводе значений на экран:
\n - для перехода на новую строку; \a - для кратковременной подачи звукового сигнала; \b - для перевода курсора влево на одну позицию; \r - для перевода курсора в начало текущей строки; \t - для горизонтальной табуляции; \v - для вертикальной табуляции. PI= выводится непосредственно на экран, %f указывает, что на экране следует отобразить значение константы pi в формате вещественного десятичного числа с плавающей точкой. И наконец, после закрывающих кавычек, через запятую перечислены переменная х и константа pi которые должны выводиться на экран. Попробуем заменить %f на %e и убедимся, что теперь константа pi отображается в экспоненциальном виде: |
©Гуков Константин Михайлович 2006 - 2013 Почта: [email protected] |