Вы могли сюда попасть, если искали, как написать программу в C++, выводящую текст на экран. Первую, написанную программу, выводящую текст на экран, часто называют "HelloWorld" — потому что так сложилось. В переводе это может обозначать "Мама", сказанное программой, аналогично первому слову ребёнка. Программа здоровается с миром: "Привет Мир". Начинающий программист пишет программу, которая напишет ему "Привет".
В C++ код можно писать с разным способом форматирования, но чем лучше способ форматирования кода, тем читабельнее сам код. Чем проще читать код, тем проще выявлять ошибки или переделывать какие-то моменты.
Нередко бывает, что при выборе между быстродействием и читаемостью кода выигрывает читаемость кода. Так и я очень люблю, когда код прост и читаем.
Для вывода текста "HelloWorld" на экран монитора, мы будем использовать объект cout и операцию <<
Для успешной работы с объектом cout нужно использовать директиву #include, посредством которой подключить файл iostream. Эта строчка кода свяжет нас с возможностью ввода данных с клавиатуры и вывода информации на экран. Для этого в самом начале кода нужно написать:
В старых компиляторах
C++
1
#include <iostream.h>
В современных компиляторах
C++
1
#include <iostream>
В современных компиляторах не надо писать .h
Но надо указывать пространство имён std
std — это пространство имён стандартной библиотеки C++. Во времена существования первых компиляторов библиотека эта ещё не была разработана и утверждена, поэтому в наиболее старых компиляторах этой библиотеки просто нет
В современных компиляторах эта часть кода может быть написана так:
C++
1
2
#include <iostream>
usingnamespacestd;
Начинал своё обучение я с Borland C++ 3.1, поэтому описываю давно устаревший вариант, но очень надеюсь, что это маленькое различие никак не помешает вам, и вы его поймёте. Если вы каким-то образом будете попадать на мои статьи, то можете сталкиваться с тем, что коды как будто бы не подходят для ваших современных компиляторов, хотя подходят. Нужно только правильно подключать заголовочные файлы и либо использовать (в современных компиляторах), либо не использовать вообще (в старых компиляторах) пространства имён). Связан этот нюанс именно с началом моего собственного обучения и выбранного в то время компилятора: Borland C++ 3.1.
Листинг кода "HelloWorld" в Borland C++ 3.1
C++
1
2
3
4
5
6
#include <iostream.h>
intmain()
{
cout<<"HelloWorld";//Вывод текста на экран
return0;
}
Для Borland C++ 3.1:
Чтобы выполнить программу Левый Ctrl+F9 (либо c помощью меню Run->Run)
Чтобы посмотреть результат Левый Alt+F5
Если всё правильно, видим, на экран вывелось "HelloWorld"
Если написать так:
C++
1
cout<<"Hello"<<"World";
или
C++
1
cout<<"Hell"<<"o"<<"World";
результат будет один — вывод на экран "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 читается, как "Си ин", что можно перевести как "Си, возьми"
Операция >> имеет чувствительность к типу данных. Считывает он данные или до первого пробела, или до символа табуляции, или до символа перехода на новую строку. С этим связана часто встречаемая ошибка у новичков.
C++
1
2
3
4
5
6
7
8
9
charMyName[256]="";
cout<<"Введите имя: "<<endl;
cin>>MyName;//при выполнении программы
//с помощью клавиатуры введите имя и фамилию,
//разделенные пробелом
//например: Ivan Petrov
//нажмите Enter для завершения ввода
cout<<MyName<<"\n";
cin.get();
Показанный выше кусок программы сработает немного не так, как может ожидать новичок. Компилятор считает информацию только до первого пробела, и в переменную MyName попадет только Ivan. Это может казаться неправильным и неудобным, но там, где есть минусы, там есть и плюсы. Благодаря такому свойству операции >> несколько значений можно удобно записывать в разные переменные или наоборот — удобно выводить значения переменных.
C++
1
2
3
4
5
6
7
8
charMyName[256]="";
charMyFamily[256]="";
intMyAge=0;
cout<<"Введи ваши имя, фамили и возраст (через пробел)\n";
cin>>MyName>>MyFamily>>MyAge;//Удобный ввод значений в переменные
Можно заметить, что как и в показанном только что примере, иногда эта чувствительность операций << и >> удобна.
При использовании этой возможности нужно знать, что операция ввода >> очень чувствительна к типу данных (об этом уже было сказано, но, наверное, правильно об этом напомнить), поэтому привожу небольшой кусочек программы в качестве примера, показывающего сей момент.
C++
1
2
3
4
5
6
7
intage;
cout<<"Введите число: "<<endl;
cin>>age;//при выполнении программы
//введите символьную строку, без цифр
//например: abrakadabra
cout<<"age == "<<age<<"\n";
cin.get();
Получается немного не то, что хочется. Это связано с тем, что >> ожидает, что будет введено целочисленное значение, а получает вместо целочисленного символьное (оно, разумеется, не число), поэтому операция >> игнорирует попытку такого ввода значения в переменную (ну, не соответствуют типы: "Вот и идите вы, программист, куда шли: или не суйте в меня фигню всякую, или подавайте на обработку подходящие типы.". В то же время, если типы подаваемых значений соответствуют типам тех переменных, в которые они записываются, то
C++
1
cin>>x1>>x2>>x3>>x4>>x5;//У каждого x свой тип
В каждый x будет записано значение, и операция >> сама распознает сколько памяти выделять для каждого x, сколько памяти выделять будет зависеть от типа, указанного для x.
Чтобы считывать значения с пробелами (строки обычно законно могут содержать пробелы) для "Си-строк" (строки в стиле Си представляют собой некоторый участок памяти и указатель на начало этого участка) используют метод getline из объекта cout
C++
1
2
charch[256]="";
cin.getline(ch,256);//В скобках указывают переменную и размер символов
Для std::string (В Borland C++ 3.1 нету этого типа, поэтому для Borland C++ 3.1 и ему подобных компиляторов этот способ не подойдёт, зато подойдёт современным компиляторам)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string> //Подключить библиотеку <string> для использования возможностей string
#include <iostream> //Подключить библиотеку <iostream> для использования возможности работы с клавиатурой
usingnamespacestd;//Использовать пространство имён
intmain(){
strings;//S - объект, хранящий информацию, а тип его - string
getline(cin,s);// Перемещаем символы нажимаемых нами клавиш в объект s,
//получаем строку, введённую с клавиатуры
//После запуска программы ввести любое слово или несколько слов,
//разделяя пробелами или другими символами и
//нажать Enter, обозначив окончание ввода
cout<<s;
cin.get();
}
11 комментариев на «“C++. Вывод текста на экран: "HelloWorld"”»
мне очень понравился этот сайт это наша будушее
Полностю согласен) сайт супер и надо ево поддерживать и развивать)
Да, а еще лучше будет, если вы выучите правила русского языка.
А ещё лучше будет, если ты не будешь доставать людей.
Подскажите, в чем может быть дело — текст не выводится.
Пробую в среде Dev-Cpp 5.11 TDM-GCC 4.9.2
Возможно, нарушены пути компилятору.
Попробуйте разобраться с путями или попробуйте переустановить Dev-Cpp
как сделать так чтоб окно с текстом не закрывалось???
Перед выходом из программы написать system("PAUSE");
//русские буквы вывод Windows XP
//русские буквы вывод Windows XP
И на этом, мое желание научиться — закончилось))))