Основы языка программирования C++
Структура программы
Инструкции
Программа на С++ состоит из набора инструкций. Каждая инструкция (statement) выполняет определенное действие. В конце инструкции в языке C++ ставится точка с запятой (;). Данный знак указывает компилятору на завершение инструкции. Например:
Данная строка выводит на консоль строку «Hello world!», является инструкцией и поэтому завершается точкой с запятой.
Набор инструкций может представлять блок кода. Блок кода заключается в фигурные скобки, а инструкции помещаются между открывающей и закрывающей фигурными скобками:
В этом блоке кода две инструкции, которые выводят на консоль определенную строку.
Функция main
Функция также является блоком кода, поэтому ее тело обрамляется фигурными скобками, между которыми определяется набор инструкций.
В частности, при создании первой программы использовалась следующая функция main:
И после списка параметров идет блок кода, который и содержит в виде инструкций собственно те действия, выполняемые функцией main.
Директивы препроцессора
Комментарии
Исходный код может содержать комментарии. Комментарии позволяют понять смыл программы, что делают те или иные ее части. При компиляции комментарии игнорируются и не оказывают никакого влияние на работу приложения и на его размер.
В языке C++ есть два типа комментариев: однострочный и многострочный. Однострочный комментарий размещается на одной строке после двойного слеша //:
СОДЕРЖАНИЕ
Простые утверждения
Составные заявления
Составные операторы могут содержать (последовательности) операторов, вкладываемых в любую разумную глубину, и обычно включают тесты, чтобы решить, следует ли подчиняться или повторять эти содержащиеся операторы.
Многие составные операторы являются командами цикла или командами выбора. Теоретически требуется только одна команда каждого из этих типов. На практике довольно часто встречаются различные частные случаи; они могут облегчить понимание программы, могут упростить программирование и часто могут быть реализованы гораздо более эффективно. Есть много тонкостей, не упомянутых здесь; подробности см. в связанных статьях.
Синтаксис
Помимо присваиваний и вызовов подпрограмм, в большинстве языков каждый оператор начинается со специального слова (например, goto, if, while и т. Д.), Как показано в приведенных выше примерах. Для описания формы утверждений на разных языках использовались различные методы; более формальные методы имеют тенденцию быть более точными:
Заявления и ключевые слова
Нет выдающихся ключевых слов
Fortran и PL / 1 не имеют зарезервированных ключевых слов, что позволяет использовать такие операторы, как:
Помеченные слова
Таким образом, токены, являющиеся частью синтаксиса языка, не конфликтуют с именами, определяемыми программистом.
Зарезервированные ключевые слова
Семантика
В статье о семантике описывается несколько математических / логических формализмов, которые использовались для точного определения семантики; они, как правило, сложнее, чем BNF, и ни один из подходов не является общепринятым. Некоторые подходы эффективно определяют интерпретатор для языка, некоторые используют формальную логику для рассуждений о программе, некоторые прикрепляют аффиксы к синтаксическим объектам для обеспечения согласованности и т. Д.
Выражения
Это может быть полезно для множественной инициализации:
i = j = 0; который рассматривается как i = (j = 0);
Это также может привести к простой проблеме с пальцами, полностью меняющей смысл некоторого кода:
Некоторые языки (Algol 60, Pascal) допускают множественное присваивание, но не допускают появления присваиваний в выражениях.
Расширяемость
Большинство языков имеют фиксированный набор операторов, определенных языком, но были эксперименты с расширяемыми языками, которые позволяют программисту определять новые операторы.
Урок №8. Структура программ
Компьютерная программа — это последовательность инструкций, которые сообщают компьютеру, что ему нужно сделать.
Стейтменты
Cтейтмент (англ. «statement») — это наиболее распространенный тип инструкций в программах. Это и есть та самая инструкция, наименьшая независимая единица в языке С++. Стейтмент в программировании — это то же самое, что и «предложение» в русском языке. Мы пишем предложения, чтобы выразить какую-то идею. В языке C++ мы пишем стейтменты, чтобы выполнить какое-то задание. Все стейтменты в языке C++ заканчиваются точкой с запятой.
Есть много разных видов стейтментов в языке C++. Рассмотрим самые распространенные из них:
int х — это стейтмент объявления (англ. «statement declaration»). Он сообщает компилятору, что х является переменной. В программировании каждая переменная занимает определенное число адресуемых ячеек в памяти в зависимости от её типа. Минимальная адресуемая ячейка — байт. Переменная типа int может занимать до 4 байт, т.е. до 4 адресуемых ячеек памяти. Все переменные в программе должны быть объявлены, прежде чем использованы. Мы детально поговорим о переменных на следующих уроках.
std::cout — это стейтмент вывода (англ. «output statement»). Мы выводим значение переменной х на экран.
Выражения
Функции
В языке C++ стейтменты объединяются в блоки — функции. Функция — это последовательность стейтментов. Каждая программа, написанная на языке C++, должна содержать главную функцию main(). Именно с первого стейтмента, находящегося в функции main(), и начинается выполнение всей программы. Функции, как правило, выполняют конкретное задание. Например, функция max() может содержать стейтменты, которые определяют большее из заданных чисел, а функция calculateGrade() может вычислять среднюю оценку студента по какой-либо дисциплине.
Библиотеки
Библиотека — это набор скомпилированного кода (например, функций), который был «упакован» для повторного использования в других программах. С помощью библиотек можно расширить возможности программ. Например, если вы пишете игру, то вам придется подключать библиотеки звука или графики (если вы самостоятельно не хотите их создавать).
Язык C++ не такой уж и большой, как вы могли бы подумать. Тем не менее, он идет в комплекте со Стандартной библиотекой С++, которая предоставляет дополнительный функционал. Одной из наиболее часто используемых частей Стандартной библиотеки C++ является библиотека iostream, которая позволяет выводить данные на экран и обрабатывать пользовательский ввод.
Пример простой программы
Теперь, когда у вас есть общее представление о том, что такое стейтменты, функции и библиотеки, давайте рассмотрим еще раз программу «Hello, world!»:
Строка №1: Специальный тип инструкции, который называется директивой препроцессора. Директивы препроцессора сообщают компилятору, что ему нужно выполнить определенное задание. В этом случае мы говорим компилятору, что хотели бы подключить содержимое заголовочного файла к нашей программе. Подключение заголовочного файла дает нам возможность использовать функционал библиотеки iostream, что, в свою очередь, позволяет выводить нам данные на экран.
Строка №2: Пустое пространство, которое игнорируется компилятором.
Строка №3: Объявление главной функции main().
Строки №4 и №7: Указываем компилятору область функции main(). Всё, что находится между открывающей фигурной скобкой в строке №4 и закрывающей фигурной скобкой в строке №7 — считается содержимым функции main().
Строка №6: Оператор возврата return. Когда программа завершает свое выполнение, функция main() передает обратно в операционную систему значение, которое указывает на результат выполнения программы: успешно ли прошло выполнение программы или нет.
Синтаксис и синтаксические ошибки
Как вы, должно быть, знаете, в русском языке все предложения подчиняются правилам грамматики. Например, каждое предложение должно заканчиваться точкой. Правила, которые регулируют построение предложений, называются синтаксисом. Если вы не поставили точку и записали два предложения подряд, то это является нарушением синтаксиса русского языка.
Язык C++ также имеет свой синтаксис: правила написания кода/программ. При компиляции вашей программы, компилятор отвечает за то, чтобы ваша программа соответствовала правилам синтаксиса языка C++. Если вы нарушили правила, то компилятор будет ругаться и выдаст вам ошибку.
Например, давайте посмотрим, что произойдет, если мы не укажем в конце стейтмента точку с запятой:
Урок №47. Блоки стейтментов (составные операторы)
Обновл. 13 Сен 2021 |
На этом уроке мы рассмотрим блоки стейтментов в языке С++.
Блоки стейтментов
Блоки стейтментов (или «составные операторы») — это группа стейтментов, которые обрабатываются компилятором как одна инструкция. Блок начинается с символа < и заканчивается символом >, стейтменты находятся внутри. Блоки могут использоваться в любом месте, где разрешено использовать один стейтмент. В конце составного оператора точка с запятой не ставится.
Вы уже видели пример блоков при написании функций, поскольку тело функции является блоком:
Вложенные блоки
Хотя функции не могут быть вложены в другие функции, блоки могут быть вложены в другие блоки:
При использовании вложенных блоков, блок, который содержит внутри себя другой блок, называется внешним блоком, а тот, который содержится внутри этого блока — внутренний/вложенный блок.
Блоки и операторы if
Enter an integer: 3
3 is a positive integer (or zero)
Double this number is 6
Количество уровней вложенности блоков
Можно даже размещать вложенные блоки внутри других вложенных блоков:
Уровень вложенности функции (или «глубина вложенности функции») — это максимальное количество блоков, которые могут находиться в любой точке функции (включая внешний блок). В вышеприведенной функции main() есть 4 блока, но уровень вложенности равен 3.
По факту, ограничений на количество вложенных блоков нет. Однако не рекомендуется делать больше 3 уровней вложенности (максимум 4). Если ваша функция нуждается в большем количестве уровней вложенности, то эту функцию лучше разбить на несколько подфункций!
Заключение
Блоки стейтментов позволяют выполнить сразу несколько стейтментов там, где можно использовать лишь один. Они чрезвычайно полезны, когда нужно выполнить сразу несколько инструкций вместе.
Поделиться в социальных сетях:
Методическая разработка открытого занятия «Структура программы в языке С++»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
ЛУГАНСКОЙ НАРОДНОЙ РЕСПУБЛИКИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛУГАНСКОЙ НАРОДНОЙ РЕСПУБЛИКИ
«СТАХАНОВСКИЙ МАШИНОСТРОИТЛЬНЫЙ ТЕХНИКУМ»
Заместитель директора по УР
_____________ И.В. Ганзенко
«___» ____________ 20 ___ г.
Дисциплина: МДК.01.01 Системное программирование
Специальность: 09.02.03 Программирование в компьютерных системах
Методическую разработку открытого занятия подготовил преподаватель
_____________ В.А. Старцев
Рассмотрено и согласованно
на заседании цикловой комиссии компьютерных дисциплин
Протокол № ___ от «____» __________ 20 ___ г.
Председатель ЦК ______________ Р.В. Дидыч
Методическая разработка открытого занятия по дисциплине МДК.01.01 «Системное программирование» разработана в соответствии с рабочей программой и календарно-тематическим планом дисциплины профессионального модуля по специальности 09.02.03 Программирование в компьютерных системах.
Входной контроль знаний осуществляется по темам «Лексические основы С++», «Типы данных, переменные в языке C++. Основные операторы языка C++». Главная задача изучения темы – закрепить ранее изученный материал, изучить основы построения структуры программы на языке программирования С++.
Форма контроля: устный фронтальный опрос.
Работа студентов на занятии оценивается по бальной системе на основании условий и критериев оценивания. Для оценивания используются самоанализ, самооценка и оценка участниками занятия.
После проведения контроля знаний и изучения лекционного материала по теме «Структура программы на языке С++» студент должен уметь:
— использовать инструменты системного и прикладного программирования;
— создавать программы в среде программирования MS Visual Studio на языке С++.
студент должен знать:
— цели и задачи системного и прикладного программирования;
— этапы создания программ;
— структуру программы на языке Visual C++.
Список рекомендованной литературы
Дата проведения: 03.02.2021 г.
Вид учебного занятия: лекционное занятие.
Тип занятия: изучение нового материала, обобщение и закрепление ранее изученного материала.
Тема: «Структура программы в языке С++».
— дидактическая – ознакомить студентов со структурой программы на языке программирования С++; научить самостоятельно строить структуру программы С++; закрепить основные понятия построения программы на языке программирования С++.
— воспитательная – создание условий, обеспечивающих воспитание интереса к изучаемой дисциплине, к будущей профессии; закрепить умение применять правила общения, правила поведения на занятии и правила работы в паре и в группе; создать на занятии условия, обеспечивающие воспитание аккуратности и внимательности при выполнении работ с применением информационных технологий;
— развивающая – развивать профессиональные умения, навыки и познавательные возможности при изучении темы занятия, формирование способности наблюдать, делать выводы.
Межпредметные связи: теория алгоритмов, информатика, основы программирования, прикладное программирование.
Методическая цель занятия:
Форма организации: лекция.
Методы обучения: лекция, лекция-беседа, пояснение.
Время проведения занятия: 80 мин.
1. Организационный момент – 2 минуты.
2. Вступительная часть – 3 минуты.
2.1 Постановка темы и цели занятия – 2 минуты.
2.2 Контроль опорных знаний – 3 минуты.
3. Систематизация и обобщение знаний:
3.1 Актуализация базовых знаний – 15 минут.
3.2 Выполнения задания к лекции (с пояснениями) – 20 минут
3.3 Выполнения задания к лекции (самостоятельно) – 25 минут
4. Рефлексия – 3 минуты.
5. Подведение итогов занятия – 6 минут.
6. Выдача домашнего задания – 1 минута.
Тема: «Структура программы на языке С++»
5. Пример простой программы
6. Синтаксис и синтаксические ошибки
Cтейтмент (англ. «statement») — это наиболее распространенный тип инструкций в программах. Это и есть та самая инструкция, наименьшая независимая единица в языке С++. Стейтмент в программировании — это то же самое, что и «предложение» в русском языке. Мы пишем предложения, чтобы выразить какую-то идею. В языке C++ мы пишем стейтменты, чтобы выполнить какое-то задание. Все стейтменты в языке C++ заканчиваются точкой с запятой.
Есть много разных видов стейтментов в языке C++. Рассмотрим самые распространенные из них:
int х — это стейтмент объявления (англ. «statement declaration»). Он сообщает компилятору, что х является переменной. В программировании каждая переменная занимает определенное число адресуемых ячеек в памяти в зависимости от её типа. Минимальная адресуемая ячейка — байт. Переменная типа int может занимать до 4-х байт, т.е. до 4-х адресуемых ячеек памяти. Все переменные в программе должны быть объявлены, прежде чем использованы. Мы детально поговорим о переменных на следующих уроках.
std::cout — это стейтмент вывода (англ. «output statement»). Мы выводим значение переменной х на экран.
В языке C++ стейтменты объединяются в блоки — функции. Функция — это последовательность стейтментов. Каждая программа, написанная на языке C++, должна содержать главную функцию main(). Именно с первого стейтмента, находящегося в функции main(), и начинается выполнение всей программы. Функции, как правило, выполняют конкретное задание. Например, функция max() может содержать стейтменты, которые определяют большее из заданных чисел, а функция calculateGrade() может вычислять среднюю оценку студента по какой-либо дисциплине.
Библиотека — это набор скомпилированного кода (например, функций), который был «упакован» для повторного использования в других программах. С помощью библиотек можно расширить возможности программ. Например, если вы пишете игру, то вам придется подключать библиотеки звука или графики (если вы самостоятельно не хотите их создавать).
Язык C++ не такой уж и большой, как вы могли бы подумать. Тем не менее, он идет в комплекте со Стандартной библиотекой С++, которая предоставляет дополнительный функционал. Одной из наиболее часто используемых частей Стандартной библиотеки C++ является библиотека iostream, которая позволяет выводить данные на экран и обрабатывать пользовательский ввод.
5. Пример простой программы
Теперь, когда у вас есть общее представление о том, что такое стейтменты, функции и библиотеки, давайте рассмотрим еще раз программу «Hello, world!»:
Строка №1: Специальный тип инструкции, который называется директивой препроцессора. Директивы препроцессора сообщают компилятору, что ему нужно выполнить определенное задание. В этом случае мы говорим компилятору, что хотели бы подключить содержимое заголовочного файла к нашей программе. Подключение заголовочного файла дает нам возможность использовать функционал библиотеки iostream, что, в свою очередь, позволяет выводить нам данные на экран.
Строка №2: Пустое пространство, которое игнорируется компилятором.
Строка №3: Объявление главной функции main().
Строки №4 и №7: Указываем компилятору область функции main(). Всё, что находится между открывающей фигурной скобкой в строке №4 и закрывающей фигурной скобкой в строке №7 — считается содержимым функции main().
6. Синтаксис и синтаксические ошибки
Как вы, должно быть, знаете, в русском языке все предложения подчиняются правилам грамматики. Например, каждое предложение должно заканчиваться точкой. Правила, которые регулируют построение предложений, называются синтаксисом. Если вы не поставили точку и записали два предложения подряд, то это является нарушением синтаксиса русского языка.
Язык C++ также имеет свой синтаксис: правила написания кода/программ. При компиляции вашей программы, компилятор отвечает за то, чтобы ваша программа соответствовала правилам синтаксиса языка C++. Если вы нарушили правила, то компилятор будет ругаться и выдаст вам ошибку.
Например, давайте посмотрим, что произойдет, если мы не укажем в конце стейтмента точку с запятой:
E0065: требуется точка с запятой «;»
C2143: синтаксическая ошибка: отсутствие «;» перед «>»
Допущена синтаксическая ошибка в строке №6: мы забыли указать точку с запятой перед оператором return. В этом случае ошибка на самом деле в конце строки №5. В большинстве случаев компилятор правильно определяет строку с ошибкой, но есть ситуации, когда ошибка не заметна вплоть до начала следующей строки.
Синтаксические ошибки нередко совершаются при написании программ. К счастью, большинство из них можно легко найти и исправить. Но следует помнить, что программа может быть полностью скомпилирована и выполнена только при отсутствии ошибок.
1. В чём разница между стейтментом и выражением?
2. В чём разница между функцией и библиотекой?
3. Чем заканчиваются стейтменты в языке С++?



