Вівторок, 19.03.2024, 13:07
Гость

Мішатронік

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Чи працювали ви з мікроконтролером?
Всього відповідей: 5
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0


Пример простой программы на языке Си

Рассмотрим простую программу на языке Си:


#include <stdio.h>
int main( )/*простая программа*/
{
 int courses;
 courses=5;
 printf("Сколько учебных курсов на сайте");
 printf(" www.mishatronic.ucoz.ua?\n");
 printf("Более %d. Но будет еще больше!\n", courses);
 return 0;
}
 

Давайте выполним эту программу. Сначала используем текстовый редактор для создания файла, содержащего текст программы. Этому файлу нужно присвоить какое-то имя. Допустим - intuit.c. Выполним компиляцию программы. После запуска программы, при условии отсутствия синтаксических ошибок, результат должен выглядеть следующим образом:

 
Сколько учебных курсов на сайте www.intuit.ru?
Более 30. Но будет еще больше!
 

Пояснения к программе

Мы выполним два просмотра текста программы: во время первого просмотра объясним смысл каждой строки, а во время второго - рассмотрим детали.

 
Первый просмотр

#include <stdio.h> - включение другого файла.

 

Эта строка указывает компилятору, что нужно включить информацию, содержащуюся в файле stdio.h.

 

main( ) - имя функции

 

Любая программа, написанная на языке Си, состоит из одной или более функций, являющихся основными модулями, из которых она собирается. Наша программа состоит из одной функции main( ), а круглые скобки указывают именно на то, что main( ) - имя функции.

 

/* простая программа*/ - комментарий

 

/**/ - открывающая и закрывающая скобки многострокового комментария.

 

Комментарии - это примечания, помогающие понять смысл программы. Они предназначены для читателя, и игнорируются компилятором.

 

{ - начало тела функции

 

Открывающая фигурная скобка отмечает начало последовательности операторов - тело, или определение, функции. Конец определения отмечается закрывающей фигурной скобкой }.

 

int courses - оператор описания

 

С помощью такого оператора мы объявляем, что будем использовать в программе переменную courses, которая принимает целые ( int ) значения.

 

courses = 30; - оператор присваивания

 

Этот оператор служит для присваивания переменной courses значения 30.

 

printf("Сколько учебных курсов на сайте?"); - оператор вывода на печать

 

С его помощью выводится на печать фраза, заключенная в кавычки:

 
Сколько учебных курсов на сайте?
 

printf(" www.intuit.ru?\n"); - еще один оператор вывода на печать. Этот оператор добавляет слова www.intuit.ru? в конец последней печатаемой фразы. Комбинация символов \n указывает компилятору на начало новой строки.

 
printf("Более %d. Но будет еще больше!\n",courses);
 

Этот оператор выводит на печать значение переменной courses, равное 30, содержащееся в кавычках. Символы %d указывают компилятору, где и в какой форме печатать значение переменной courses.

 

} - конец

 

Программа завершается закрывающей фигурной скобкой.

 

Второй просмотр
#include <stdio.h>
 

Файл с именем stdio.h является частью пакета, имеющегося в любом компиляторе языка Си и содержащего информацию о вводе-выводе. В качестве имени файла используется аббревиатура английских слов:

 

standard input/output header - заголовок стандартного ввода-вывода.

 

Программисты называют набор данных, содержащийся в начале файла, заголовком.

 

Строка "#include <stdio.h>" даже не является оператором языка Си. Символ # указывает, что она должна быть обработана "препроцессором " языка Си. Препроцессор осуществляет некоторую предварительную обработку текста программы перед началом компиляции.

 
main( )
 

Программа, написанная на языке Си, всегда начинает выполняться с функции, называемой main( ). Скобки указывают на то, чтоmain( ) - имя функции.

 

Функции - это основные модули программы, написанные на языке Си. В круглых скобках в общем случае содержится информация, передаваемая этой функции. В нашем случае передача информации отсутствует и, следовательно, в скобках ничего не содержится.

 

Файл, содержащий программу, может иметь любое имя с тем ограничением, что оно должно удовлетворять системным соглашениям, и оканчиваться символом с. Например, game.c.

 
/* простая программа*/
 

Комментарии облегчают процесс понимания программы. Длинный комментарий может помещаться на отдельной строке или даже занимать несколько строк. Все, что находится между символом, указывающим на начало комментария /*, и символом, указывающим на его конец */, игнорируется компилятором.

 

{}

 

Фигурные скобки { } отмечают начало и конец тела функции.

 
int courses;
 

Это оператор описания переменной. В нашей программе в теле функции используется переменная courses, и с помощью словаint объявляется, что переменная courses принимает целые значения. Точка с запятой в конце строки указывает на то, что в ней содержится оператор языка Си, причем этот символ является частью оператора, а не разделителем операторов. int служитключевым словом, определяющим один из основных типов данных языка Си.

 

Ключевыми словами называются специальные зарезервированные слова, используемые для построения фраз языка.

 

В языке Си все переменные должны быть объявлены. Это означает, что мы должны привести список всех используемых переменныхи указать тип каждой из них.

 

Имя переменной нужно давать осмысленно. Следует учитывать что конкретные реализации компиляторов ограничивают длину имени переменных.

 

Идентификатор переменной - имя переменной. Для обозначения имени переменной разрешается использовать строчные и прописные буквы, цифры и символ подчеркивания, считающийся буквой. Первым символом может быть знак подчеркивания или буква.

 

Например, coursescat_1_total - правильные идентификаторы, а $courses*1cat - неправильные.

 

Переменные можно описывать по мере необходимости, но лучше размещать операторы объявления переменных в начале программы. Любая программа, написанная на языке Си, не будет выполняться, если не описать все используемые переменные.

 
courses=30;
 

Оператор присваивания является одним из основных средств языка. Приведенную строку программы можно интерпретировать так: присвоить переменной courses значение 30. При описании переменной courses была выделена ячейка памяти, и только теперь в результате выполнения оператора присваивания переменная получает свое значение. При желании мы могли бы присвоить ей другое значение, поэтому имя courses и обозначает переменную.

 

В данной программе используется стандартная функция языка Си - printf( ). Строка символов, заключенная в скобки, является информацией, передаваемой функции printf( ) из главной функции main( ). Такая информация называется аргументом. В первом случае аргументом является "Сколько учебных курсов на сайте?". Данная строка дает пример того, как вызыватьфункцию или обратиться к ней, программируя на языке Си. Для этого требуется только указать имя функции и заключить требуемыйаргумент, или аргументы, в скобки. Когда при выполнении функции программа достигнет этой строки, управление будет передано указанной функции. Когда выполнение функции будет завершено, управление вернется обратно в исходную, вызывающую программу.

 

Символы \n служат директивой начать новую строку на устройстве вывода. Комбинация \n представляет один символ, называемый " новая строка ". Его смысл формулируется так: начать вывод новой строки с самой левой колонки. Символ " новая строка " служит одним из примеров того, что называется " управляющей последовательностью ". Управляющая последовательностьначинается с " \ ".

 

Структура простой программы

Познакомимся с несколькими общими правилами, касающимися программ, написанных на языке СиПрограмма состоит из одной или более функций, причем какая-нибудь из них (главная) обязательно должна называться main( ). Описание функции состоит иззаголовка и тела. Заголовок состоит из директив препроцессора типа #include и имени функции. Отличительным признакомимени функции служат круглые скобки, а аргумент может и отсутствовать. Тело функции заключено в фигурные скобки и представляет собой набор операторов, каждый из которых оканчивается символом "точка с запятой".

 

Дополнительный пример

Здесь мы приведем еще пример. Мы использовали только стандартную функцию printf( ). В данном примере мы демонстрируем, как включить и использовать функцию, которую мы сами написали:

 
int dir( )/* dir*/
{
 printf("На сайте проекта www.intuit.ru \n");
 printf(" большое количество учебных курсов\n");
}
int main ()
{
dir ();
 printf("Над их созданием работают \n");
 printf(" профессора российских вузов.\n");
}
 

Результат работы программы выглядит следующим образом:

 
На сайте проекта www.intuit.ru
 большое количество учебных курсов
 Над их созданием работают
 профессора российских вузов.
 

Функция dir( ) определяется точно так же, как и 

Форма входа
Пошук
Друзі сайту
Календар
«  Березень 2024  »
ПнВтСрЧтПтСбНд
    123
45678910
11121314151617
18192021222324
25262728293031

Єдина Країна! Единая Страна!