Туториал Изучаем С++ урок 1, 2 (Windows)

Andrew S.

Активный участник
Пользователь
Баллы
93
Имя в Minecraft
Santa2012
Всем привет, дорогие пользователи рубаккита!
В этой теме мы будем изучать C++/C вместе!
Если вам что-то не понятно пишите сюда, я помогу.​

УРОК 1​
Итак приступим, что нам понадобиться:
- Программа CodeBlocks (ТЫК) скачиваем вот это: codeblocks-12.11mingw-setup.exe
bNTtIODzZg8.jpg


Настройка программы:​
1) Устанавливаем программу и запускаем ее!
2) Переходим в вкладку Setting - Compiler и выбираем GNU GCC Compiler, там-же переходим в вкладку: Toolchain executables и жмем Auto-detect. Нажимаем OK.
MzFDWOkRGXE.jpg


Пишем первую программу:​
1) Создаем новый проект: File - New - Project - Console application, убираем галочку из Skip this page next time и жмем Next, пишем название проекта и выбираем Compiler - GNU GCC Compiler и жмем Finish!
2) И у нас появилась вот такая программа:

Код:
#include <iostream>
using namespace std;
int main()
{
    cout << "Hello world!" << endl;
    return 0;
}

Давайте попробуем ее запустить, нажмите на вот эту кнопку в программе:
QpTg07TLSUo.jpg

Все!!! Программа запустилась и мы видим в консоле пишет: Hello World!

3) Русификация программы, если вы попытаетесь написать вместо "Hello World", например "Привет, мир", то после запуска вы увидите не понятные символы, дабы избежать этого, нужно русифицировать программу, для этого:
  • Добавляем инклуд для русификации - #include <locale.h>
  • После int main() { пишем setlocale(LC_CTYPE,"Russian");
И нас выходит такая программа:

Код:
#include <iostream>
#include <locale.h>
using namespace std;

int main()
{
    setlocale(LC_CTYPE,"Russian");
    cout << "Hello world!" << endl;
    return 0;
}
Запускаем и радуемся русскими буквами :)

4) Комментарии в C++. В программе можно сделать комментарии, это такой текст, который не видит компьютер, а видит человек, который пишет программу.
Это используется например для объяснение чего-либо.

В C++ комментарии пишут вот так: /* Это комментарий */
Вот например:
Код:
#include <locale.h> /* Русификатор */

5) Итак, давайте разберем нашу программу!
Первая строка - #include <iostream> это заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++.
Здесь хранятся разные функции, например такие как ввод и вывод текста.

Вторая строка - #include <locale.h> это как-бы русификатор программы.

Третья строка - using namespace std; это нужно для упрощенного способа ввода и вывода, чтоб не писать вот так: std::cout , мы просто пишем так: cout.

Четвертая строка - int main() это уже наша программа!
Любая программа на C++ должна содержать функцию main(), которая является точкой входа в программу.
Функцию main() нельзя предопределять и/или перегружать. Ее нельзя вызывать из программы.

Дальше идут скобки, они открывают и закрывают функцию.

Шестая строка - setlocale(LC_CTYPE,"Russian"); указание кодировки в программе.

Седьмая строка - cout << "Hello world!" << endl; это уже вывод текста!
Давайте рассмотрим эту строку поподробней!

Функция cout - нужна для вывода текста в C++, дальше идут << они указываются перед текстом.

Вот можно написать еще так - cout << "text 1" << "text 2";

Hello world мы взяли в лапки, потому что это текст, если бы это была переменная, мы бы записали так: cout << a;

И напоследок endl это переход на новую строку, можно записать еще так: \n.

Восьмая строка это return 0; - возвращает в операционную систему 0, то есть нормальное завершение программы.

На этом наш первый урок закончен! Всем спасибо и ждите второй урок :)
P.S если здесь будет 50 лайков - сниму видео!

СПИСОК УРОКОВ:
Урок 1
Урок 2

_______________________________________________
СПИСОК ГОТОВЫХ ПРОГРАММ C++ (ПРАКТИКА)
​
 
Последнее редактирование:
Вот бы все уроки по программированию были такими же простыми, как ваш. :)
 
А я сижу под eclipse на centos, мне норм. Мне бы купить Книжку о C++11.
 
а C++ builder не канает? Сейчас он лучше чем на скрине
10.borland.c++.builder01.jpg
 
Я на интуите курс для школоло прохожу
 
УРОК 2​

В этом уроке мы будем изучать переменные и тип int.
1)
Кратко о переменных!
Основные типы:
Float - число с плавающей точкой, пример: 2.78
Double - аналогично float, пример: 2.78
Integer (int) - целочисленные значения, пример: 2
Char - символьная переменная, пример: a
Bool — логический тип данных, принимает значения только true (еденица, истина) или false (ноль, ложь).

2) Изучаем ввод текста из клавиатуры.
Все мы знаем, что-бы вывести текст на экран, нужно использовать код: cout.
А теперь, что-бы ввести код с клавиатуры, нужно использовать код: cin.

3) Пишем простенький калькулятор.
Объявляем инклуды:
Код:
#include <stdio.h> /* Стандартный заголовочный файл ввода-вывода */
#include <iostream> /* Библиотека*/
#include <locale.h> /* Русификатор */
using namespace std;

Задаем переменные:
Код:
int a, b;

Дописываем сообщение и вывод:
​
Код:
    cout << "Приветствуем вас в моем первом калькуляторе! (он только додает числа) \n";
    cout << "Введите число 1: ";
    cin >> a;
    cout << "Введите число 2: ";
    cin >> b;
    cout << "Сумма чисел: " << a+b << " ";

Последняя строка: cout << "Сумма чисел: " << a+b << " "; , точнее вторая часть: a+b, задает функцию добавление, также можно написать минус (-), умножение (*) и деление (%).

Все :) Программа работает.

4) Так-же можно объявить переменные вручную:
Код:
int x;
Х = 8;
int у;
у = 3;
x, у нас переменные.

5) Как найти программу в .exe формате?
Зайдите в директорию проектов, выберите папку с названием проекта, потом bin - Debug и там будет программа в .exe формате, ура :)

Но, если вы запустите программу, после выполнение она у вас сразу закроется.
И прежде чем закончить урок, я хочу рассказать, как сделать, чтоб экран окна не закрывался.
Первым делом нужно задать инкуд:
Код:
#include <windows.h>

А в самом теле программы:
Код:
system("Pause");

ПРИМЕР программы:
Код:
#include <stdio.h>
#include <iostream>
#include <locale.h>
#include <windows.h>
using namespace std;

int main()
{
    setlocale(LC_CTYPE,"Russian");
    ТЕЛО ПРОГРАММЫ
    system("Pause");
    return 0;
}

На этом второй урок закончен ;)
_______________________________________________________
P.S заметка к первому уроку:
​
В C++ существует два способа записи комментариев:​
  • Две косые черты //- однострочный комментарий. Такие комментарии комментируют всю строчку, не более и не менее.​
  • Многострочный комментарий. Такой комментарий начинается с символов /* и заканчивается символами */.​
 
Последнее редактирование:
Туторы хорошие, но неплохо было бы добавлять:
1.После примера программы - что будет в консоли,типо:
Код:
#include <stdio.h>
#include <iostream>
#include <locale.h>
#include <windows.h>
using namespace std;

int main()
{
    setlocale(LC_CTYPE,"Russian");
    cout << "6+2" << 6+2 <<endl;
    system("pause");
    return 0;
}
Будет выведено: 8
2.Расшифровка слов, таких как cout(ConsoleOutput),endl(EndLine),cin(ConsoleInput) и т.п.
3.Как подключать стороние библиотеки(именно отдельные,например pthread) к проекту, и использовать их.
4.Больше сравнений с java кодом(Многие слегка знают java,и им будет легче)

P.S.Добавь в тутор что С++ не чувствителен к регистру.
 
system("pause") - убей кроссплатформенность!
 
Мало кому, сидящих здесь, нужна кроссплатформенность.
 
Тебе бы с начало самому подучиться.

Любая программа на C++ должна содержать функцию main()
А если я покажу рабочую программу на С++ в которой нет этой функции?

Шестая строка - setlocale(LC_CTYPE,"Russian"); указание кодировки в программе.
Неправильно, макрос LC_CTYPE изменяет характер работы символьных функций. В нашем случае он изменил кодировку в стандартном потоке вывода (класс std::cout) c utf8 на cp866

Седьмая строка - cout << "Hello world!" << endl; это уже вывод текста!
Давайте рассмотрим эту строку поподробней!

Функция cout - нужна для вывода текста в C++, дальше идут << они указываются перед текстом.

Вот можно написать еще так - cout << "text 1" << "text 2";

Hello world мы взяли в лапки, потому что это текст, если бы это была переменная, мы бы записали так: cout << a;

И напоследок endl это переход на новую строку, можно записать еще так: \n.
Что за хрень ты несеш.
1)
Функция cout - нужна для вывода текста
cout это не функция, это класс.
2)
дальше идут << они указываются перед текстом..
Это операция бинарного сдвига которая переопределена в классе std::cout, это можно сравнить с конкатенацией строк там операция сложения тоже переопределена std::string str1 = "1"; std::string str2 = "2" ; std::string str = str1 + str2; // в str содержится "12"
3)
Hello world мы взяли в лапки, потому что это текст, если бы это была переменная, мы бы записали так: cout << a;.
cout сожрет не любую переменную а только ту в которой переопределен бинарный сдвиг с классом std::cout
 
Последнее редактирование:
Тебе бы с начало самому подучиться.


А если я покажу рабочую программу на С++ в которой нет этой функции?


Неправильно, макрос LC_CTYPE изменяет характер работы символьных функций. В нашем случае он изменил кодировку в стандартном потоке вывода (класс std::cout) c utf8 на cp866


Что за хрень ты несеш.
1) cout это не функция, это класс.
2) Это операция бинарного сдвига которая переопределена в классе std::cout, это можно сравнить с конкатенацией строк там операция сложения тоже переопределена std::string str1 = "1"; std::string str2 = "2" ; std::string str = str1 + str2; // в str содержится "12"
3) cout сожрет не любую переменную а только ту в которой переопределен бинарный сдвиг с классом std::cout
омг, я же проще объясняю, новички захотят выучить программирования и ничего не поймут, а это НЕ хорошо.
 
омг, я же проще объясняю, новички захотят выучить программирования и ничего не поймут, а это НЕ хорошо.
Нехорошо обманывать бабушек и налогоплательщиков, а то, что школьники неправильно основы выучат - на твоей совести будет!
 
Ребята, не будем выяснять "что такое хорошо, а что такое плохо". У каждого своё мнение.
Я недавно сам начал учить с++. Простое консольное приложение на уровне школьного Паскаля сделать могу. ТС, надеюсь, ты этим не ограничишься? Я хотел бы увидеть как вставить изображение, заставить его двигаться и реагировать на касания с другими изображениями. (2д игра получается)
 
Ребята, не будем выяснять "что такое хорошо, а что такое плохо". У каждого своё мнение.
Я недавно сам начал учить с++. Простое консольное приложение на уровне школьного Паскаля сделать могу. ТС, надеюсь, ты этим не ограничишься? Я хотел бы увидеть как вставить изображение, заставить его двигаться и реагировать на касания с другими изображениями. (2д игра получается)
Oxygine, SDL

Habrahabr урок(SDL)
 
Назад
Верх