С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
1

Как называются "выражения", которые заканчиваются точкой с запятой?

16.02.2015, 01:27. Показов 2733. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Так как же все-таки называются "выражения", которые заканчиваются точкой с запятой?
C++
1
cout << endl;
Можно ли данное выражение назвать оператором? Или инструкцией.
Читал Дейтела, постоянно выражения называют оператором ("любой оператор должен заканчиваться точкой с запятой"). Смотрю видео урок, тоже оператором (хотя речь там шла о return 0; ).
А как тогда будет называться << ? Ведь это и есть тот самый оператор.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.02.2015, 01:27
Ответы с готовыми решениями:

После строк, которые заканчиваются точкой или запятой, вставить пустую строку
Здравствуйте, нужна помощь в решении задачи В одном из текстовых лабораторной работы N1 после...

Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а.
Здравствуйте, помогите пожалуйста со троками Как можно решить эту задачу? Дан набор слов,...

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

Сортировать все числа, которые заканчиваются на 0 по возрастанию, а которые заканчиваются на 1 по убыванию
Создать рандомный масив. Сортировать все числа, которые заканчиваются на 0 по возрастанию, а...

15
Эксперт С++
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.02.2015, 01:47 2
Цитата Сообщение от Arwel Посмотреть сообщение
А как тогда будет называться << ? Ведь это и есть тот самый оператор.
http://rextester.com/VZAKI73735

C++
1
2
3
4
5
6
#include <iostream>
 
int main()
{
    operator<<(std::cout, "Hello, world!\n" );
}
1
Эксперт по математике/физикеЭксперт С++
2206 / 1411 / 411
Регистрация: 16.05.2013
Сообщений: 3,597
Записей в блоге: 6
16.02.2015, 08:46 3
Цитата Сообщение от Arwel Посмотреть сообщение
Так как же все-таки называются "выражения", которые заканчиваются точкой с запятой?
Это т.н. точки следования.
http://habrahabr.ru/post/216189/
http://alenacpp.blogspot.ru/20... oints.html
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
16.02.2015, 11:51  [ТС] 4
hoggy
Фундаментально можете объяснить?

Впервые встречаю "operator"
0
Эксперт С++
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.02.2015, 11:52 5
Цитата Сообщение от Arwel Посмотреть сообщение
Фундаментально можете объяснить?
C++
1
std::cout << "Hello, world!\n";
тоже самое, что и :

C++
1
operator<<(std::cout, "Hello, world!\n" );
Операции сдвига, плюсы/минусы и прочее - все это на самом деле синтаксический сахар над операторами.
Считай, просто альтернативная более коротенькая запись.

А операторы - это ни что иное, как самые обычные функции.

Кликните здесь для просмотра всего текста
Есть правда специфические операторы, такие,
как например оператор указания контекста, или оператор точечка.
Но это уже из другой области.
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
16.02.2015, 11:56  [ТС] 6
А операторы - это ни что иное, как самые обычные функции.
Получается, что выражение типа:
Все операторы(они же инструкции или выражения) должны заканчиваться точкой с запятой? Является правильным?
Хотя инструкции - не верное понятие, хотя вполне логичное.
0
Эксперт С++
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
16.02.2015, 12:08 7
Цитата Сообщение от Arwel Посмотреть сообщение
Все операторы(они же инструкции или выражения) должны заканчиваться точкой с запятой? Является правильным?
Любое выражение независимо от его природы завершается точкой с запятой.
(не обязательно оператор)

Представьте себе, что "выражение" на языке с++ - это как "предложение" в русском тексте.
В русском языке предложения завершаются точкой.
В языке с++ они завершаются точкой-с-запятой.

Компилятору нужно знать, где завершается выражение,
что бы пропасти возможные эффекты и оптимизировать его.

В сообщении #3 об этом написано хорошо и подробно
(рекомендую начать ознакомление с статьи Елены Сагалаевой).

От себя могу добавить,
что понятие "точек следования" было переформулировано в с++11,

http://en.cppreference.com/w/c... eval_order

Хотя лично я так и не понял: что именно изменилось?
Ну кроме того, что в c++11 a=b=c=d; теперь гарантированно не содержит UB
1
Неэпический
18113 / 10700 / 2062
Регистрация: 27.09.2012
Сообщений: 26,946
Записей в блоге: 1
16.02.2015, 13:09 8
Цитата Сообщение от Arwel Посмотреть сообщение
Так как же все-таки называются "выражения", которые заканчиваются точкой с запятой?
expression-statement
Цитата Сообщение от Arwel Посмотреть сообщение
Читал Дейтела, постоянно выражения называют оператором
На русском читали? Ну это же переводчики
0
Неэпический
18113 / 10700 / 2062
Регистрация: 27.09.2012
Сообщений: 26,946
Записей в блоге: 1
16.02.2015, 13:11 9
The expression is evaluated and its value is discarded. The lvalue-to-rvalue (4.1), array-to-pointer (4.2), and function-to-pointer (4.3) standard conversions are not applied to the expression. All side effects from an expression statement are completed before the next statement is executed. An expression statement with the expression missing is called a null statement. [ Note: Most statements are expression statements — usually assignments or function calls. A null statement is useful to carry a label just before the } of a compound statement and to supply a null body to an iteration statement such as a while statement (6.5.1). — end
note ]
2
Комп_Оратор)
Эксперт по математике/физике
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
16.02.2015, 13:37 10
Arwel, выражения, это утверждения возвращающие значение. Они могут быть разделены точками следования. Запятыми например. Или могут встречаться в операторах или аргументах. Например:
Foo(a+b);
a+b это выражение.
int c = a+b?a:b;
a+b, a, b - выражения и вся тернарная операция выражение тоже.
for(;;++i)
++i это выражение
while(a=a+b, a>0)
в скобках 2 выражения разделённых запятой.
Точкой с запятой заканчиваются только операторы. Оператор состоящий из одного выражения называют простым. Хотя оператор может и не быть выражением. Такой вызов конструктора: A(); обычно будет бессмысленным без присвоения, но он не возвращает значения и выражением не является хотя это оператор. Составные (сложные) операторы состоят из других операторов и выделяются в блоки фигурными скобками. Точка с запятой у них тоже присутствует.
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
16.02.2015, 13:40  [ТС] 11
На русском читали? Ну это же переводчики
Да, все верно.
Учебник выкинул сразу.
0
Неэпический
18113 / 10700 / 2062
Регистрация: 27.09.2012
Сообщений: 26,946
Записей в блоге: 1
16.02.2015, 13:43 12
Цитата Сообщение от Arwel Посмотреть сообщение
Да, все верно.
Учебник выкинул сразу.
Зря. Сразу вникать во всю терминологию тоже нельзя :-)
Да и на русский язык всегда сложно перевести.
1
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
16.02.2015, 19:38  [ТС] 13
IGPIGP
выражения, это утверждения возвращающие значение.
Выражение может ничего не возвращать. И это вовсе не утверждение. Это инструкция(ции) на выполнение.
C++
1
int c = a+b?a:b;
Потенциальная ошибка.
с будет равно a или нулю
Выражение имеет смысл только в таком виде: int c = a;
0
Комп_Оратор)
Эксперт по математике/физике
9005 / 4704 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
16.02.2015, 20:19 14
Цитата Сообщение от Arwel Посмотреть сообщение
Выражение может ничего не возвращать.
Например?
Цитата Сообщение от Arwel Посмотреть сообщение
Потенциальная ошибка.
Выражение с тернарной просто пример чтобы показать: a+b - выражение, a+b? - выражение и пр.
Ошибки не вижу. с=a если a != -b иначе c=b. Ваша убеждённость в том, что в жизни так не бывает заразительна, но я не поддерживаю.
Arwel, если вы думаете что знаете ответ, зачем спрашиваете?
2
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
16.02.2015, 20:27 15
Цитата Сообщение от Arwel Посмотреть сообщение
с будет равно a или нулю
Да неужели?
a = -1
b = 2
Чему равно c?

Цитата Сообщение от IGPIGP Посмотреть сообщение
Arwel, если вы думаете что знаете ответ, зачем спрашиваете?
Солидарен.
2
10 / 10 / 0
Регистрация: 04.03.2013
Сообщений: 665
17.02.2015, 13:41  [ТС] 16
Да неужели?
a = -1
b = 2
Чему равно c?
Речь была о данной ситуации, хотя я серьезно ошибся - Вы правы и автор выше.

Arwel, если вы думаете что знаете ответ, зачем спрашиваете?
Потому, что я "думаю", но факт не обособлен.
0
17.02.2015, 13:41
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2015, 13:41
Помогаю со студенческими работами здесь

Регулярные выражения: из текста получить слова, которые заканчиваются определенным символом
Доброго времени суток! Помогите пожалуйста сформулировать до конца регулярное выражение, а то я...

Дана последовательность слов, разделенная литерой с точкой с запятой (;). Цепь заканчивается точкой (:). определить, ско
Дана последовательность слов, разделенная литерой с точкой с запятой (;). Цепь заканчивается точкой...

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

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

Как называются программы, которые парсят сайты
Всем привет! Очень хотелось бы узнать,какое название эти программы имеют: &quot;из html в приложение&quot;??...

Как называются разъемы, которые в комплекте с PinBoard?
Мне приходится все покупать через интернет, я купил какие то разъемы, оказались не такие. Те,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru