Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Сформулируйте, что такое разделитель операторов и где он ставится - C++

05.07.2013, 08:59. Просмотров 1750. Ответов 44
Метки нет (Все метки)

Я интуитивно понимаю, в своих программах всегда ставлю, где надо, но словами написать не могу. А нужен полностью формализованный абзац, где и зачем ставится точка с запятой.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2013, 08:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформулируйте, что такое разделитель операторов и где он ставится (C++):

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this - C++
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в зависимости от чего зависит агрумент при...

Что такое паттерны, где их применяют и где прочитать о них? - C++
Насколько я понимаю, паттерны - это шаблон. Т.е. уже кем-то написанный код, который хорошо работает и не занимается любовью с головным...

Что такое компилятор, и где его взять? - C++
Здравствуйте дорогие форумчане! Вот начал изучать по самоучителям С++ и сталкнулся с таким термином, как компилятор. Я так понял он...

Не секу что такое gsoap и где его искать на win7 - C++
Чур не ругаться за оффтоп, я впервые пользуюсь форумами! :) Итак, прилагаю файл с лабками, первую я уже сделал, осталась вторая, и на ней...

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? - C++
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа? - C++
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
05.07.2013, 10:00 #2
Где: между (Паскаль) или в конце (Си) каждого утверждения.
Зачем: потому что синтаксис языка не позволяет парсеру разделить операторы самостоятельно без явной подсказки.
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 10:41 #3
OhMyGodSoLong, это не "полностью формализованный абзац")
например, почему здесь
C++
1
2
3
for(int i=0;i<1;i++)
{
}
непосредственно в конце утверждения i++ нет точки с запятой? понятно, потому что скобка... но про скобки вы ничего не сказали)
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 263
05.07.2013, 11:07 #4
слушайте ну вы чё совсем уже! почему вы всегда всё так сложно делаете! неужели нельзя объяснить для начинающего. точка с запятой показывает что эта строчка не распространяется на остальные. в твоём коде функция для пересчета (for) распространяется на блок, и поэтому там нельзя ставить точку с запятой, потому что тогда блок останется без функции для пересчета
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.07.2013, 11:16  [ТС] #5
А что такое утверждение?
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:17 #6
svk2140, да что вы говорите?) я ж специально написал "непосредственно в конце утверждения i++"
C++
1
for(int i=0;i<1;i++;)
т.е. после утверждений i=0 и i<1 ставят точку с зпт, а после i++ нет.


Цитата Сообщение от svk2140 Посмотреть сообщение
точка с запятой показывает что эта строчка не распространяется на остальные
да что вы говорите?)
C++
1
2
int a
=123; // т.е. эта строчка не распространяется на предыдущую,да?)
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.07.2013, 11:18  [ТС] #7
Цитата Сообщение от svk2140 Посмотреть сообщение
в твоём коде функция для пересчета (for)
Там нет ни каких функция пересчёта.
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:19 #8
в общем надо искать какой-то официальный источник...
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 263
05.07.2013, 11:24 #9
не ну слушай я говорил про for(int i=0;i<1;i++) это если ты ещё не понял функция для пересчёта.
потом я говорил что если поставить точку с зяпятой. я имел ввиду
C++
1
2
3
for(int i=0;i<1;i++);
{
}
в конце (в скобках) не ставиться точка с запятой потому что.... тогда бы постоянно выполнялось int i = 0 и она (переменная) ровнялась бы всегда 0

ну теперь та хоть понял?
AntonChik
05.07.2013, 11:26
  #10

Не по теме:

я извиняюсь за сравнение, но похоже на то как цыпленок учит курицу
я даже сохраню себе эту страничку)

svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 263
05.07.2013, 11:30 #11
+ пример какой то... к примеру такой
C++
1
2
if(a == 1);
cout << "a = 1" << endl;
не будет компилироваться потому что ifif(a == 1) распространяетсятолько на самого себя
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.07.2013, 11:31  [ТС] #12
Цитата Сообщение от svk2140 Посмотреть сообщение
лушай я говорил про for(int i=0;i<1;i++) это если ты ещё не понял функция для пересчёта.
Всякая функция имеет тип и список параметров, а на c++ не может находиться внутри другой функции, или перегруженного оператора, а её имя не может быть зарезервировано.
C++
1
for(int i=0;i<1;i++)
может быть только внутри функции, или перегруженного оператора и не имеет ни типа, ни списка параметров, а слово for зарезервировано.

Добавлено через 40 секунд
Цитата Сообщение от svk2140 Посмотреть сообщение
в конце (в скобках) не ставиться точка с запятой потому что.... тогда бы постоянно выполнялось int i = 0 и она (переменная) ровнялась бы всегда 0
Бредятина.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
05.07.2013, 11:32 #13
svk2140, оно скомпилируется и отработает нормально
Цитата Сообщение от svk2140 Посмотреть сообщение
+ пример какой то... к примеру такой
C++
1
2
if(a == 1);
cout << "a = 1" << endl;
не будет компилироваться потому что ifif(a == 1) распространяетсятолько на самого себя
AntonChik
1084 / 582 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:33 #14
Цитата Сообщение от svk2140 Посмотреть сообщение
в конце (в скобках) не ставиться точка с запятой потому что.... тогда бы постоянно выполнялось int i = 0 и она (переменная) ровнялась бы всегда 0
не хочу вас огорчать, но во-первых, тут хоть ставь, хоть не ставь эту точку с зпт, она(переменная) все равно всегда будет равна нулю...
а во-вторых, эта точка с запятой в данном месте может ставиться очень даже целенаправленно, например:
C++
1
for(int i=0;i<1;a[i]=i++);
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
05.07.2013, 11:34  [ТС] #15
Цитата Сообщение от svk2140 Посмотреть сообщение
не будет
будет. Если a = 1, то выполнить пустой оператор и в любом случае вывести в count "a=1" и перевести строку манипулятором endl. Что здесь не компильрабельного?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2013, 11:34
Привет! Вот еще темы с ответами:

Что такое хэндлер файла? Что такое файловый указатель? - C++
Что такое хэндлер файла? Что такое файловый указатель?

Культура оформления кода: что такое enum? Где, когда и для чего уместно применять этот тип? - C++
не понял за что отвечают эти две строчки: enum ChosenOperation { ADD = 1, SHOW, SEARCH, EXIT }; enum SearchingCriteria { NAME =...

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них - C++
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них пожалуйста.

Тип void как возвращаемое значение функции: что он такое, зачем он нужен, где, когда и как его использовать? - C++
Объясните пожалуйста про Void для оооочень далекого человека. Читаю книгу Шилдта, в принципе всё ясно, всё понимаю и пробую, но вот Void -...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.07.2013, 11:34
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru