Пятница, 29 Марта 2024, 10:53

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Урок по С++ №1 (Подготовка к работе с С++ и первый "Hello World")
Урок по С++ №1
SaiteiДата: Вторник, 26 Июня 2012, 23:01 | Сообщение # 1
старожил
Сейчас нет на сайте
Подготовка к работе с С++ и первый "Hello World"


Раз уж вы читаете эту тему, то вы, видимо, хотите научиться программировать на языке программирования С++. Хорошо, я покажу вам довольно много интересных вещей и завитушек в работе с С++. Для начала поймите что вам нужно на выходе, какова ваша конечная цель? База С++ - это консоль, простое черное окошко с символами и не более того. А вот потом, когда вы впитаете в себя все прелести синтаксиса этого языка, то можно пытаться учить WinAPI\DirectX\OpenGL на выбор. Но сейчас не об этом, верно? Я обязан в первом своём уроке подготовить вас к самому написанию кода и помочь вам написать первый "Hello World", который затем будет локализован на русский и вы перепишите, коль душенька на это ляжет, - "Здарова всем!".

Как я и говорил - перед работой с кодом нужно приготовить свой компьютер к самому его написанию. Для этого вам нужно скачать любой компилятор для С++. Это может быть либо Dev-C++, либо Turbo C++. Вариантов масса, но я использую Microsoft Visual C++ 2010 Express. Из его преимуществ подчеркиваю полную его бесплатность. Можете качать прямо из microsoftа и со спокойной душой юзать его.

Отлично! Предположу, что вы уже скачали Microsoft Visual C++ 2010 Express и готовы к работе. Первым делом что вы должны сделать - это запустить свою среду разработки, после чего нажать File->New->Project. Проделав такую несложную инструкцию должно было высветится вот такое окошко:

В этом окне ставим тип проекта "Win32 Console Application", вводим название проекта и "рабочую" папку, куда и будет компилироваться код.
После этого появится новое окно, но вы его НЕ ДОЛЖНЫ закрывать. Нажмите "Next" (можно и сразу же нажать "Application Settings"), проверьте, что "Application type" проставлен как "Console Application", а так же поставьте галочку на "Empty project" (то есть "Пустой проект").

От всего сердца поздравляю вас! Мы готовы к работе! Правой кнопкой мыши нажмите на "Source Files" и выберите "Add->New Item". В этом окошке вам предстоит указать тип добавляемого файла. Это должен быть файл типа ".cpp" (c plus plus) с названием main. Параметр "Location" рекомендую не трогать.

После таких нехитрых манипуляций с диалоговыми окнами появился чистый лист. Здесь нам предстоит написать свою первую программу:


Ну вот. Мы готовы к работе! Ну что? Готовы написать свой первый "Hello World"?! Отлично, так и надо! Погнали :)
В первом своем уроке я не стану нагружать вас, учить всем типам переменных и т.п. Сегодня - первая программа. Хеллоу Ворлд. Только хардкор.

Напишите в строке, где должен размещаться код, "#include <iostream>". Здесь я остановлюсь и расскажу по-подробней. С помощью "#include" мы подключаем заголовочные файлы, которые добавляют новые возможности и, скажем, свои фичи к С++. Дурной пример, конечно, но в какой-то мере верный. Ну а "iostream" - это заголовочный файл, содержащий в себе объявления функций и переменных для потокового ввода/вывода информации. Имя подключаемого модуля указывается в косых скобках (<> - заголовочный файл находится в каталоге \INCLUDE\) либо в кавычках (" " - файл находится в текущем каталоге). О iostream по-подробней можно прочесть вот здесь.

Далее, отступив место от "#include", пишем:
Code
int main()       
{

return 0;
}

В итоге код у нас выглядит следующим образом:
Code
#include <iostream>

int main()       
{

return 0;
}


main() - это единственная в примере функция. Хочу отметить, что любая программа на С++ обязательно включает в себя функцию main(), с которой и начинается всё выполнение программы. Ну а return 0 возвращает 0.
Всё понятно? Замечательно!

Теперь в тело функции main() (под телом я предполагаю вот такие скобочки: {}) пишем std::cout<<"Hello World"<<'\n';
Код получился вот такой:

Code
#include <iostream>

int main()       
{
std::cout<<"Hello World"<<'\n'
return 0;
}

Ну вот. Хеллоу ворлд готов! Перед объяснением этого кода мной вы можете посмотреть на результат своих трудов. :) Для этого используйте комбинацию клавиш Ctrl+Shift+B для компиляции кода в машинный код, а затем Ctrl+F5, чтобы увидеть результат. Ну как? Ну воооооооот. Получилось же :) Молодцы

std::cout выводит значения на экран. В нашем случае - это Hello World в кавычках. Ну а " '\n' " - это отступ строки. Всё понятно? Ну вот и отлично))
Чтобы каждый раз нам не писать "std::" сделаем вот такую махинацию с кодом:
Code
#include <iostream>
using namespace std;
int main()       
{
cout<<"Hello World"<<'\n';
return 0;
}

Фича никак не отразится на вашей работе. Лишь уберет лишний гемор с std::.

Ох... Чуть не забыл... Давайте напишем что-нибудь на русском в консоли? Вот так это делается (с помощью setlocale( LC_ALL, "Russian" ); ):
Code
#include <iostream>
using namespace std;

int main()       
{
setlocale( LC_ALL, "Russian" );
cout<<"Привет, мир!"<<'\n';
cout<<"Привет. Что хотел? :D"<<'\n';
return 0;
}


Ну что же? Первый урок подошел к концу. Надеюсь, что я вас заинтересовал и у меня будет стимул продолжать серию уроков ;)
Урок №2


Сообщение отредактировал Saitei - Среда, 27 Июня 2012, 12:41
qumpoДата: Вторник, 26 Июня 2012, 23:15 | Сообщение # 2
уже был
Сейчас нет на сайте
Наверное нужно иметь большой талант для того чтобы освоить язык программирования так быстро, неправда ли? Автор урок конечно хорошо оформлен, но растянут и не несет смысловой нагрузки. Создается впечатление что после прочтения первой главы книги автор топика решил блеснуть знаниями полученными за 40 минут чтения. Браво товарищи, браво!
SaiteiДата: Вторник, 26 Июня 2012, 23:16 | Сообщение # 3
старожил
Сейчас нет на сайте
qumpo, нет, вы заблуждаетесь
zodiakДата: Вторник, 26 Июня 2012, 23:20 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Ну, читабельно, но слабо, у nilremа много лучше. Да и зачем писать чето еще раз, взял бы, да и принял у него эстафету. Там, по его планам, и осталась то одна лекция, а потом "второй сезон" по ООП. Я пробовал, но не потянул. Моя писанина была забракована. Оказывается знать чето мало, нужно уметь это доходчиво объяснить.

Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
SaiteiДата: Вторник, 26 Июня 2012, 23:25 | Сообщение # 5
старожил
Сейчас нет на сайте
Quote (zodiak)
Ну, читабельно, но слабо, у nilremа много лучше. Да и зачем писать чето еще раз, взял бы, да и принял у него эстафету. Там, по его планам, и осталась то одна лекция, а потом "второй сезон" по ООП. Я пробовал, но не потянул. Моя писанина была забракована. Оказывается знать чето мало, нужно уметь это доходчиво объяснить.

Да, с объяснениями могут быть у меня проблемы. Но я всё же постараюсь продолжить серию уроков, просто более доходчиво и интереснее объясняя. А главное - буду стараться вкладывать больше смысла и объяснений. Нет, я хотел бы продолжить. Если же окружающим мои уроки и не помогут, то всё равно я же писал урок. А значит и сам же тестировал, вспоминал. Доставал прочтенные книги, искал. Полезно, вроде.


Сообщение отредактировал Saitei - Вторник, 26 Июня 2012, 23:25
faibДата: Вторник, 26 Июня 2012, 23:25 | Сообщение # 6
был не раз
Сейчас нет на сайте
Не понятно зачем это уроки и тд?
Мда книг недостаточно где всё расписанно от и до по С++ есть книги даже для школьников с 14 лет
SaiteiДата: Вторник, 26 Июня 2012, 23:26 | Сообщение # 7
старожил
Сейчас нет на сайте
Quote (faib)
Не понятно зачем это уроки и тд?
Мда книг недостаточно где всё расписанно от и до по С++ есть книги даже для школьников с 14 лет

Непонятно? Вот, цитирую:
Quote (Saitei)
Да, с объяснениями могут быть у меня проблемы. Но я всё же постараюсь продолжить серию уроков, просто более доходчиво и интереснее объясняя. А главное - буду стараться вкладывать больше смысла и объяснений. Нет, я хотел бы продолжить. Если же окружающим мои уроки и не помогут, то всё равно я же писал урок. А значит и сам же тестировал, вспоминал. Доставал прочтенные книги, искал. Полезно, вроде.
burlachenkoДата: Среда, 27 Июня 2012, 00:01 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Спасибо Saitei, нормальный урок, меня все устраивает, продолжайте дальше.

MaximTG
goldsphereДата: Среда, 27 Июня 2012, 10:42 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
+за старание.А вообще зачем кого-то учить, если сам учишься?По собственному опыту говорю..

Добавлено (27.06.2012, 10:42)
---------------------------------------------
Ах да, ещё совет:лучше уроки в виде статей выпускать, так они тонуть не будут, потому что врядли их закрепят.


FinderX - Android Аркада
allxumukДата: Среда, 27 Июня 2012, 11:06 | Сообщение # 10
старожил
Сейчас нет на сайте
Quote (goldsphere)
А вообще зачем кого-то учить, если сам учишься?

Чтобы повторить материал. К тому же, многие вещи становятся понятнее для тебя самого, когда пытаешься объяснить их кому-то другому.


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
SaiteiДата: Среда, 27 Июня 2012, 11:32 | Сообщение # 11
старожил
Сейчас нет на сайте
Quote
Чтобы повторить материал. К тому же, многие вещи становятся понятнее для тебя самого, когда пытаешься объяснить их кому-то другому

Да, в принципе ради этого все и пишется
goldsphere, если не надоест писать и их будет много - перенесу в статьи
Форум игроделов » Программирование » C/C++ » Урок по С++ №1 (Подготовка к работе с С++ и первый "Hello World")
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг