Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.14;
Скачать: CL | DM;

Вниз

Что в Си означает cout<<" n"?   Найти похожие ветки 

 
Германн ©   (2009-12-07 00:27) [0]

Перевод строки? Или что-то другое?
Никогда не работал с cin, cout :(


 
wicked ©   (2009-12-07 00:32) [1]

перевод строки


 
wicked ©   (2009-12-07 00:34) [2]

ну и не в си, а в си++


 
Игорь Шевченко ©   (2009-12-07 00:34) [3]

то же, что и writeln в паскале
то же, что и puts(""") и printf("\n"); в С


 
KilkennyCat ©   (2009-12-07 00:41) [4]

да, я вот, седня кучу их поудалял, мешали-с...


 
Inovet ©   (2009-12-07 00:42) [5]

> [0] Германн ©   (07.12.09 00:27)
> Никогда не работал с cin, cout

Это вообще в любых строках и отдельно символ можно записать так, со знака "\" начинаются всякие комбинации в т.ч и перевод строки. а можно так
cout << std::endl;
это ещё буфер сбросит.


 
Германн ©   (2009-12-07 00:42) [6]


> ну и не в си, а в си++

Как раз в си.


> Игорь Шевченко ©   (07.12.09 00:34) [3]

Значит правильно угадал. Или где-то в подсознании это сидело. :)


 
wicked ©   (2009-12-07 00:45) [7]

> Германн ©   (07.12.09 00:42) [6]

> > ну и не в си, а в си++
>
> Как раз в си.

и шё, оно таки скомпилировалось?


 
Игорь Шевченко ©   (2009-12-07 00:47) [8]


> Как раз в си.


Не обманывай


 
Inovet ©   (2009-12-07 00:47) [9]

> [6] Германн ©   (07.12.09 00:42)
> Как раз в си.

Ну откуда в Си взялся экземпляр класса ostream cout?


 
KilkennyCat ©   (2009-12-07 00:52) [10]

мож у него другой си... их ж мильен.


 
wicked ©   (2009-12-07 01:04) [11]

> Inovet ©   (07.12.09 00:47) [9]

>
> > [6] Германн ©   (07.12.09 00:42)
> > Как раз в си.
>
> Ну откуда в Си взялся экземпляр класса ostream cout?

#include <stdio.h>

int main(int argc, char * argv[])
{
int cin, cout = 123;

cin = cout << "\n";
printf("cin = %d, cout = %d\n", cin, cout);

return 0;
}


работает, только в одинарных кавычках ;)


 
Inovet ©   (2009-12-07 01:16) [12]

> [11] wicked ©   (07.12.09 01:04)
> работает, только в одинарных кавычках ;)

Ну да, ну да.:)


 
Германн ©   (2009-12-07 01:27) [13]


> Игорь Шевченко ©   (07.12.09 00:47) [8]
>
>
> > Как раз в си.
>
>
> Не обманывай
>

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

> KilkennyCat ©   (07.12.09 00:52) [10]
>
> мож у него другой си... их ж мильен.
>

Мож.
Эта программка написана в Turbo C. Если автор ничего не перепутал. Что есть Turbo C я не знаю. Знаю только, что она работала в DOS"е.


 
Inovet ©   (2009-12-07 01:30) [14]

> [13] Германн ©   (07.12.09 01:27)
> Что есть Turbo C я не знаю.

Турбо Паскаль знаешь? Вот та же среда, так ведь ещё и Турбо Си++ был.


 
Германн ©   (2009-12-07 01:34) [15]


> Турбо Паскаль знаешь?

Обижаешь. Я его знаю лучше всех других "языков".


 
Inovet ©   (2009-12-07 01:36) [16]

> [14] Inovet ©   (07.12.09 01:30)
> Турбо Си++

Тогда std ещё небыло, просто endl был.:) Это к
cout << std::endl;


 
Inovet ©   (2009-12-07 01:39) [17]

> [15] Германн ©   (07.12.09 01:34)
>
> > Турбо Паскаль знаешь?
>
> Обижаешь. Я его знаю лучше всех других "языков".

Это был риторический вопрос, утверждение т.е..:) А что за программа-то такая, переделывеешь под Вин?


 
Германн ©   (2009-12-07 01:45) [18]

Спасибо всем ответившим!
Моей целью было
> да, я вот, седня кучу их поудалял, мешали-с...

Стандартов си и си++ я не знаю, да и знать не хочу. Просто не нужно по жизни и работе. Что почти одно и то же.
Это как в сабже о книгах по алгоритмам.


 
Германн ©   (2009-12-07 01:51) [19]


> Inovet ©   (07.12.09 01:39) [17]
>
> > [15] Германн ©   (07.12.09 01:34)
> >
> > > Турбо Паскаль знаешь?
> >
> > Обижаешь. Я его знаю лучше всех других "языков".
>
> Это был риторический вопрос, утверждение т.е..:) А что за
> программа-то такая, переделывеешь под Вин?
>

Ну под Вин я программы на си переделывать не собирался, не собираюсь и не буду собираться. Программы на си я иногда, ну очень иногда, пишу (используя примеры) для микропроцессоров. Просто нашел реализацию некоего алгоритма на си в книжке, которая у меня "завалялась".
Угадал, но решил перестраховаться.


 
Inovet ©   (2009-12-07 01:57) [20]

> [18] Германн ©   (07.12.09 01:45)
> Моей целью было
> > да, я вот, седня кучу их поудалял, мешали-с...

Если они только для перевода строки, а не для чего-то другого применяются в этой программе. Символ "\n" то же, что и "\0x0a", по-паскалевски $0A.


 
KilkennyCat ©   (2009-12-07 02:03) [21]

я из принтов в пхп удалял. переделываю чужое.


 
Германн ©   (2009-12-07 02:09) [22]


> Если они только для перевода строки, а не для чего-то другого
> применяются в этой программе

Обсуждение не показало "чего-то другого".


 
Германн ©   (2009-12-07 02:17) [23]


> Inovet ©   (07.12.09 01:57) [20]
>
> > [18] Германн ©   (07.12.09 01:45)
> > Моей целью было
> > > да, я вот, седня кучу их поудалял, мешали-с...
>
> Если они только для перевода строки, а не для чего-то другого
> применяются в этой программе. Символ "\n" то же, что и "\0x0a",
>  по-паскалевски $0A.
>

Хм.
А где $0D?


 
GDI+   (2009-12-07 02:20) [24]


> Германн ©   (07.12.09 02:17) [23]
>
> Хм.
> А где $0D?


В Unix нет 0x0d. А стандарт C/C++ знаешь кто принимает?


 
Ляпа   (2009-12-07 02:21) [25]


> Хм.
> А где $0D?

где-где... в винде :Р


 
KilkennyCat ©   (2009-12-07 02:22) [26]


> Ляпа   (07.12.09 02:21) [25]

дааа :))


 
Inovet ©   (2009-12-07 02:27) [27]

> А где $0D?

Вот он
"\r"
Но для консоли достаточно
"\n"
а возврат каретки она добавит, так вроде.
Там выше в постах двойные кавычке употреблены не в Си смысле.


 
Германн ©   (2009-12-08 02:16) [28]


> Inovet ©   (07.12.09 02:27) [27]
>
> > А где $0D?
>
> Вот он
> "\r"
> Но для консоли достаточно
> "\n"
> а возврат каретки она добавит, так вроде.
> Там выше в постах двойные кавычке употреблены не в Си смысле.
>
>

Значит в смысле Turbo C?


 
Германн ©   (2009-12-08 02:29) [29]

Еще два маленьких вопроса по С и Turbo C:
1. В "настоящем" С для доступа к элементу структуры заданной через указатель действительно используется "->"?
2. В некоей книжке по Turbo C прочитал:
Если бы язык не разрешал обычные арифметические операции с указателями, то для решения подобной задачи либо пришлось бы отказаться от динамических массивов, либо существенно усложнить логику построения программы.
Имхо, арифметические операции с указателями ничуть не лучше арифметических операций с номером элемента массива!
P.S. В той книжке под динамическим массивом понимается массив, память под которого выделяется в рантайме, Типа GetMem в Паскале.


 
Inovet ©   (2009-12-08 02:51) [30]

> [28] Германн ©   (08.12.09 02:16)
> > Там выше в постах двойные кавычке употреблены не в Си смысле.
>
> Значит в смысле Turbo C?

В смысле знаков препинания в письменной речи.:) В Си и Си++ "a" и "a" разное означают.

> [29] Германн ©   (08.12.09 02:29)
> В "настоящем" С для доступа к элементу структуры заданной
> через указатель действительно используется "->"?

Дак в Си++ тоже, это сокращённая форма разыменовывания и выбора элемента
p->a и (*p).a эквивалентны.

А про массивы не понял о чём, и вообще нет в Си массивов.


 
Inovet ©   (2009-12-08 02:58) [31]

> [29] Германн ©   (08.12.09 02:29)
> Имхо, арифметические операции с указателями ничуть не лучше
> арифметических операций с номером элемента массива!

Это *(p + i) и p[i] эквивалентны, суть арифметика указателей.


 
Германн ©   (2009-12-08 03:09) [32]


> Дак в Си++ тоже, это сокращённая форма разыменовывания и
> выбора элемента
> p->a и (*p).a эквивалентны.

Дык, Андрей. С++ мне не нужен (пока) и, скорее всего, совсем не нужен.
Си мне нужен (может быть будет нужен) для программирования микропроцессоров.
Вот блуждаю пока между языками Си для разных компиляторов.


> А про массивы не понял о чём, и вообще нет в Си массивов.

То что нет в Си массивов это я не понимаю. :(
int a[100] - это не массив?


 
Inovet ©   (2009-12-08 03:27) [33]

> [32] Германн ©   (08.12.09 03:09)
>
> > Дак в Си++ тоже, это сокращённая форма разыменовывания и выбора элемента
> > p->a и (*p).a эквивалентны.
>
> Дык, Андрей. С++ мне не нужен (пока) и, скорее всего, совсем не нужен.
> Си мне нужен (может быть будет нужен) для программирования микропроцессоров.
> Вот блуждаю пока между языками Си для разных компиляторов.

Это везде должно быть одинаково.

> int a[100] - это не массив?

Можно и массивом назвать.


 
GDI+   (2009-12-08 03:28) [34]


> А про массивы не понял о чём, и вообще нет в Си массивов.


это как?

char a[] = new char[x];


 
Германн ©   (2009-12-08 03:55) [35]


> > int a[100] - это не массив?
>
> Можно и массивом назвать.
>

Если можно назвать а массивом, то почему "арифметика указателей" лучше "арифметики индексов массивов"?


 
Inovet ©   (2009-12-08 04:07) [36]

> [35] Германн ©   (08.12.09 03:55)
> Если можно назвать а массивом, то почему "арифметика указателей"
> лучше "арифметики индексов массивов"?

Может там про оптимизацию говорилось, для микроконтроллеров должно быть актуально?

int a[100];
int *p;
int i;

for(i = 0; i < 100; ++i) a[i] = 0; // Вычисляется a + i

for(p = a + 100; p >= a; --p) *p = 0; // Не надо вычислять


 
Inovet ©   (2009-12-08 04:09) [37]

> [36] Inovet ©   (08.12.09 04:07)
> for(p = a + 100; p >= a; --p) *p = 0;

a + 100 - 1


 
Германн ©   (2009-12-08 04:15) [38]


> Inovet ©   (08.12.09 04:07) [36]
>
> > [35] Германн ©   (08.12.09 03:55)
> > Если можно назвать а массивом, то почему "арифметика указателей"
> > лучше "арифметики индексов массивов"?
>
> Может там про оптимизацию говорилось, для микроконтроллеров
> должно быть актуально?
>

ХЗ про что там говорилось.
ХЗ и что ты понимаешь под "оптимизацией".
Если интересно, отправлю на почту. Завтра.
Сегодня уже спать хочу. :)


 
Inovet ©   (2009-12-08 04:26) [39]

> [38] Германн ©   (08.12.09 04:15)
> ХЗ и что ты понимаешь под "оптимизацией".

Для современных Intel без разницы, а вот для микроконтроллеров может быть лишняя опереация сложения, если компилятор там не заменит на указатель.

> Если интересно, отправлю на почту. Завтра.

Отправь.


 
grammar-nazi   (2009-12-08 20:43) [40]

>GDI+   (08.12.09 03:28) [34]
>> А про массивы не понял о чём, и вообще нет в Си массивов.
>это как?
>char a[] = new char[x];
это будет "error: "new" undeclared" и "parse error before "char"". потому что в си нет не только массивов, но и оператора new.



Страницы: 1 2 вся ветка

Текущий архив: 2010.02.14;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.011 c
2-1260646194
BenderAnt
2009-12-12 22:29
2010.02.14
TelnetServer


2-1260637936
recop
2009-12-12 20:12
2010.02.14
После выполнения файла cmd получить содержание переменных среды


2-1260967410
JohnKorsh
2009-12-16 15:43
2010.02.14
Можно ли в Delphi 7 работать с двумя проектами одновременно?


15-1260347327
ford
2009-12-09 11:28
2010.02.14
TRegExpr поогите составить выражение


2-1260718467
Imhotep
2009-12-13 18:34
2010.02.14
Вывод цифр на окно "Label" или "Memo".