C++. Вывод текста на экран: "HelloWorld"

Вы могли сюда попасть, если искали, как написать программу в C++, выводящую текст на экран. Первую, написанную программу, выводящую текст на экран, часто называют "HelloWorld" — потому что так сложилось. В переводе это может обозначать "Мама", сказанное программой, аналогично первому слову ребёнка. Программа здоровается с миром: "Привет Мир". Начинающий программист пишет программу, которая напишет ему "Привет".
В C++ код можно писать с разным способом форматирования, но чем лучше способ форматирования кода, тем читабельнее сам код. Чем проще читать код, тем проще выявлять ошибки или переделывать какие-то моменты.
Нередко бывает, что при выборе между быстродействием и читаемостью кода выигрывает читаемость кода. Так и я очень люблю, когда код прост и читаем.
  • Для вывода текста "HelloWorld" на экран монитора, мы будем использовать объект cout и операцию <<
Для успешной работы с объектом cout нужно использовать директиву #include, посредством которой подключить файл iostream. Эта строчка кода свяжет нас с возможностью ввода данных с клавиатуры и вывода информации на экран. Для этого в самом начале кода нужно написать:

В старых компиляторах
В современных компиляторах

  • В современных компиляторах не надо писать .h
  • Но надо указывать пространство имён std
  • std — это пространство имён стандартной библиотеки C++. Во времена существования первых компиляторов библиотека эта ещё не была разработана и утверждена, поэтому в наиболее старых компиляторах этой библиотеки просто нет
В современных компиляторах эта часть кода может быть написана так:

Начинал своё обучение я с Borland C++ 3.1, поэтому описываю давно устаревший вариант, но очень надеюсь, что это маленькое различие никак не помешает вам, и вы его поймёте. Если вы каким-то образом будете попадать на мои статьи, то можете сталкиваться с тем, что коды как будто бы не подходят для ваших современных компиляторов, хотя подходят. Нужно только правильно подключать заголовочные файлы и либо использовать (в современных компиляторах), либо не использовать вообще (в старых компиляторах) пространства имён). Связан этот нюанс именно с началом моего собственного обучения и выбранного в то время компилятора: Borland C++ 3.1.
  • Листинг кода "HelloWorld" в Borland C++ 3.1

  • Для Borland C++ 3.1:
  • Чтобы выполнить программу Левый Ctrl+F9 (либо c помощью меню Run->Run)
  • Чтобы посмотреть результат Левый Alt+F5
  • Если всё правильно, видим, на экран вывелось "HelloWorld"
Если написать так:

 
 
  или
  
 

результат будет один — вывод на экран "HelloWorld"
Способ с несколькими << удобно использовать, если нужно сделать вывод текста на экран, а потом добавить к написанному тексту результат вычислений. Схематично это выглядит так:

cout << "x + y ="<< z;

Здесь вывод текста на экран будет выглядеть так: x + y = Какое-то значение.
Текст, который пишется в кавычках, будет отображаться на экране в виде текста, а текст, который не заключен в кавычки, будет принимать различные значения, в зависимости от обстоятельств.

Итак:

  • Вывод текста на экран осуществляется объектом cout и операцией << (такая операция обозначает "взять из потока")
  • Для работы с cout используется #include <iostream.h >
  • Выполнение программы Ctrl+F9 (Run-Run)
  • Выполнение программы Ctrl+F9 (Run-Run)
  • Просмотр выполнения — Alt+F5
Кроме операции взятия данных существует операция ввода данных в поток >>, который работает совместно с объектом cin.
  • cout читается, как "Си аут", что можно перевести как "Си, выведи"
  • cin читается, как "Си ин", что можно перевести как "Си, возьми"
Операция >> имеет чувствительность к типу данных. Считывает он данные или до первого пробела, или до символа табуляции, или до символа перехода на новую строку. С этим связана часто встречаемая ошибка у новичков.

Показанный выше кусок программы сработает немного не так, как может ожидать новичок. Компилятор считает информацию только до первого пробела, и в переменную MyName попадет только Ivan. Это может казаться неправильным и неудобным, но там, где есть минусы, там есть и плюсы. Благодаря такому свойству операции >> несколько значений можно удобно записывать в разные переменные или наоборот — удобно выводить значения переменных.

Можно заметить, что как и в показанном только что примере, иногда эта чувствительность операций << и >> удобна.
При использовании этой возможности нужно знать, что операция ввода >> очень чувствительна к типу данных (об этом уже было сказано, но, наверное, правильно об этом напомнить), поэтому привожу небольшой кусочек программы в качестве примера, показывающего сей момент.

Получается немного не то, что хочется. Это связано с тем, что >> ожидает, что будет введено целочисленное значение, а получает вместо целочисленного символьное (оно, разумеется, не число), поэтому операция >> игнорирует попытку такого ввода значения в переменную (ну, не соответствуют типы: "Вот и идите вы, программист, куда шли: или не суйте в меня фигню всякую, или подавайте на обработку подходящие типы.". В то же время, если типы подаваемых значений соответствуют типам тех переменных, в которые они записываются, то

В каждый x будет записано значение, и операция >> сама распознает сколько памяти выделять для каждого x, сколько памяти выделять будет зависеть от типа, указанного для x.
Чтобы считывать значения с пробелами (строки обычно законно могут содержать пробелы) для "Си-строк" (строки в стиле Си представляют собой некоторый участок памяти и указатель на начало этого участка) используют метод getline из объекта cout

Для std::stringBorland C++ 3.1 нету этого типа, поэтому для Borland C++ 3.1 и ему подобных компиляторов этот способ не подойдёт, зато подойдёт современным компиляторам)

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

12 комментариев: C++. Вывод текста на экран: "HelloWorld"

  • bekatan говорит:

    мне очень понравился этот сайт это наша будушее




    0



    0
  • Роман говорит:

    Полностю согласен) сайт супер и надо ево поддерживать и развивать)




    0



    0
  • MrOcelot говорит:

    Да, а еще лучше будет, если вы выучите правила русского языка.




    0



    0
  • Аноним говорит:

    :mrgreen:




    0



    0
  • Noname говорит:

    А что же означает функция ENDL или endl ????? И ешо одни вопрос.есть ли разница Cout, COut, CoUT cout , COUT ?

    Автор сайта отвечает:
    cout, маленькими буквами. С++ регистрозависимый язык программирования. Другие варианты могут означать самописный обьект класса., но не следует использовать такие имена, которые могут запутать.
    endl маленькими буквами очищает буфер и ставит символ переноса на новую строку. В отличии от ‘\n’ это две операции. На глаз обычно не заметно, писать только больше букв.




    0



    0
  • Игорь говорит:

    Dev-C++ ругается:

    1 22 D:\CODES\Dev\Безымянный1.cpp [Error] iostream.h: No such file or directory

    что делать???

    Автор сайта отвечает:




    0



    0
  • Ник говорит:

    Подскажите, в чем может быть дело — текст не выводится.

    Пробую в среде Dev-Cpp 5.11 TDM-GCC 4.9.2




    0



    0
    • admin говорит:

      Возможно, нарушены пути компилятору.
      Попробуйте разобраться с путями или попробуйте переустановить Dev-Cpp




      0



      0
  • Алексей говорит:

    как сделать так чтоб окно с текстом не закрывалось???




    0



    0
    • admin говорит:

      Перед выходом из программы написать system("PAUSE");




      0



      0
  • valery1954 говорит:

    //русские буквы вывод Windows XP

    //русские буквы вывод Windows XP




    0



    0

Добавить комментарий

Ваш e-mail не будет опубликован.

Поиск

 
     

Случайная книга в электронном формате

Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

-Папа, а что такое "высшее образование"? -Это то, что в 80-х годах прошлого века называлось "среднее"..

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок