Практикум для изучения дисциплины «Основы программирования»



Pdf көрінісі
бет42/81
Дата08.07.2020
өлшемі1,55 Mb.
#74978
түріПрактикум
1   ...   38   39   40   41   42   43   44   45   ...   81
Байланысты:
А.А. Тюгашев

ЗАМЕЧАНИЕ 
Данное  условие  не  относится  к  функциям  стандартной  библиотеки,  которые 
поставляются  не  в  виде  исходных  текстов,  а  внутри  двоичных  файлов  с 
машинными 
кодами, 
обрабатываемых 
специальной 
программой — 
компоновщиком при сборке исполняемой программы пользователя. О том, что 
это  заголовок  системной  библиотеки,  говорит  указание  имени  включаемого 
файла  в  угловых  скобках.  Это  показывает,  что  искать  данный  файл  нужно  в 
предопределенных  местах  среди  системных  каталогов.  Для  обычных 
заголовочных  файлов  в  директиве  include  используется  взятие  имени  в 
кавычки. 
В данном случае вставка текста из stdio.h необходима для дальнейшего 
использования  библиотечной  функции  printf,  предназначенной  для 
вывода  информации  на  экран  компьютера.  Язык  Си  не  содержит 
встроенных  операторов  ввода-вывода,  в  отличие  от  большинства  других 
языков  программирования,  что  делает  его  ядро  более  компактным,  при 
этом  поддержка  ввода-вывода  выносится  в  стандартные  библиотечные 
функции. 
Следующая  строка  содержит  заголовок  основной  функции  программы — 
main

Любая программа на языке Си является набором функций (в простейшем 
случае  набор  превращается  в  одну —  главную  функцию).  Термин 
«функция»  здесь  имеет  не  математический,  а  особый,  специфический 
смысл. Функция определяется как модуль (часть программы), имеющий в 
общем случае некоторые аргументы, записываемые в круглых скобках, и 
способный возвращать некоторое значение. При этом одни функции могут 
вызывать  на  выполнение  другие.  Функции  могут  располагаться  в  тексте 
программы  в  произвольном  порядке,  но  система  определяет  точку  входа 
(начала исполнения) программы с начала функции main. 
Поэтому  каждая  программа  на  языке  Си  обязательно  должна  включать 
одну (и только одну!) функцию с именем main. Остальные функции могут 
иметь  произвольные  имена  в  соответствии  с  правилами  написания 
идентификаторов (имен) в языке Си (содержать латинские буквы и цифры 
и  знак  _,  не  содержать  в  имени  пробелов,  начинаться  с  буквы  и  пр.). 
Описание функции выглядит следующим образом: 


81 
 
<
заголовок функции
<
тело функции
В  заголовке  перед  собственно  названием  функции  пишется  тип 
возвращаемого  ей  значения.  В  нашем  примере  перед  main  написано 
ключевое слово int — это означает, что функция возвращает целое число. 
Поясним, что это за число. Поскольку функция main — главная функция 
программы,  то  ее  выход  подразумевает  возвращаемое  программой  в 
операционную  систему  значение.  При  этом  существует  соглашение,  по 
которому  в  случае,  когда  программа  завершается  нормально —  без 
возникновения  нештатных  ситуаций,  она  возвращает  ноль,  в  противном 
случае — ненулевое значение. 
После  названия  функции  main  идут  круглые  скобки  без  каких-либо 
символов внутри них, что означает, что наша программа не обрабатывает 
никаких входных значений (в случае необходимости имеется возможность 
передать  в  программу  набор  некоторых  значений  с  использованием 
командной строки операционной системы). 
В  следующих  после  заголовка  строках  находится  тело  функции  (так  на 
программистском  жаргоне  называется  ее  основной  текст),  в  котором 
содержатся  операторы  языка  Си  и  вызовы  других  функций,  то  есть 
действия,  которые  она  выполняет.  Тело  функции  ограничивается 
фигурными  скобками  {  и  }.  Такая  пара  скобок  называется  в  языке 
программирования  Си  операторными  скобками —  ее  используют  для 
группировки  любого  количества  операторов,  обрабатываемых  потом  как 
один оператор в конструкциях языка. 
Наша  функция  вызывает  одну  стандартную  библиотечную  функцию 
форматного  (с  возможностью  форматирования —  выравнивания  и т. д.) 
вывода информации на дисплей — функцию printf. Аргументом данной 
функции является текстовая строка (текстовые строки в языке Си принято 
заключать в двойные кавычки — " и 
м). В конце строки "«Здравствуй, 
мир!" присутствуют символы \n — это специальная последовательность 
символов  языка,  означающая,  что  после  вывода  строки  на  экран  надо 
перейти  к  новой  строке.  Вообще  специальные  последовательности 
символов  в  языке  программирования  Си,  называемые  иногда 
управляющими, начинаются с символа \. 
Обратите  также  внимание  на  то,  что  стандартным  разделителем  в  тексте 
программ  на  языке  Си,  разграничивающим  отдельные  действия  внутри 
функции, является точка с запятой. 
Завершается  функция  оператором  return  0.  Оператор  return 
прекращает выполнение любой функции и возвращает в вызвавшую ее (в 
нашем  случае,  поскольку  функция  главная,  она  вызывается  из 


82 
 
операционной  системы)  некоторое  значение  в  качестве  результата.  В 
данном  примере  мы  передаем  в  операционную  систему  ноль  в  качестве 
свидетельства  того,  что  функция  завершилась  нормальным  образом. 
Поскольку  мы  объявили  функцию  main  как  возвращающую  целое 
значение,  необходимо  вставить  этот  оператор  в  программу,  хотя 
завершение  выполнения  функции  произошло  бы  и  просто  при  встрече 
закрывающей  фигурной  скобки.  В  противном  случае  при  трансляции 
программы  мы  получили  бы  предупреждение.  Под  предупреждением 
понимается  сообщение  о  неточности  или  наличии  в  программе 
потенциально  опасной  конструкции,  которая  не  является  полностью 
недопустимой,  как  ошибка,  в  случае  которой  трансляция  завершается 
неудачей, но должна привлечь внимание программиста. 
Завершающая  строка  программы —  закрывающая  фигурная  скобка, 
указывающая на окончание функции main. 
Контрольные вопросы 
1. 
Какова история появления языка программирования Си? 
2. 
В  чем  основные  особенности  языка  программирования  Си?  Являются 
ли  они  достоинствами  или  недостатками?  Или  достоинства  - 
продолжения недостатков? 
3. 
Почему Си называют «инструментом, острым, как бритва»? Удобно ли 
использовать Си для первоначального обучения программированию? 
4. 
Нужно ли использовать комментарии в программах? 
5. 
В  чем  заключается  назначение  препроцессора  языка  Си?  Для  чего 
применяется директива #define? 
6. 
Какова  структура  исходных  текстов  программ  на  языке  Си.  В  чем 
назначение директивы #include? Зачем нужны заголовочные файлы? 
7. 
Что  такое  главная  функция  программы?  Как  записывается  главная 
функция в Си? 
8. 
Что такое заголовок и тело функции? 
9. 
Что такое операторные скобки? 
10. 
Что такое компоновщик? 
11. 
В чем заключается функция оператора return 0? Почему передается 
ноль? Зачем передается значение в операционную систему? 
Основные понятия языка программирования Си 
Важнейшим 
понятием 
языка 
программирования 
являются 
идентификаторы.  Идентификаторы  используются  для  обозначения 


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


Достарыңызбен бөлісу:
1   ...   38   39   40   41   42   43   44   45   ...   81




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет