Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Вниз

Что в Си означает 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.006 c
2-1260815777
Dragon-zla
2009-12-14 21:36
2010.02.14
Из файла в список


1-1237493413
Fresh
2009-03-19 23:10
2010.02.14
Невыводимые символы в Memo, RichEdit


2-1260988667
Дмитрий
2009-12-16 21:37
2010.02.14
Заполнение массива из графика


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


15-1260377677
GDI+
2009-12-09 19:54
2010.02.14
Изомерия молекулы этилового спирта.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский