Уроки C++ от Maxim Next.

Тема в разделе "С++", создана пользователем Maxim Next, 29 июн 2013.

↑ ↓
  1. Maxim Next Безумец
    Maxim Next
    Ответить в чате

    Первый уровень

    Регистрация:
    09.01.2013
    Сообщения:
    61
    Симпатии:
    164
    Пол:
    Мужской
    Репа:
    +164 / 0 / -0
    Тут я буду выкладывать свои уроки C++. Уроки расчитаны на начинающих (и немного понимающих в компьютере), но те кто раньше учил другой язык тоже могут воспользоваться данными уроками.

    Первое, что нужно сделать выбрать программу для программирования. Я не хочу навязывать свое мнение но для начинающих подойдёт Dev-C++ 5. Можно воспользоваться Visual Studio 2008 Express. Помимо C++ в VS можно писать программы на C# и Basic.

    Пользователям unix-подобных систем, потребуется компилятор gcc и любой текстовый редактор, например vim.


    И первый урок будет разбор самой примитивной программы. Такую программу всегда разбирают в первую очередь. Она называется "Hello World". Программа после запуска выводит фразу и ждёт нажатия кнопки, после закрывается.

    Если вы пользуетесь MS Visual Studio, откройте меню «Файл → Создать → Проект». Перейдите на вкладку «Общие» и выберите «Пустой проект».
    Придумайте проекту любое название, например «lesson1» и нажмите «OK». В окне обозревателя решений (обычно он находится в левом верхнем углу) щелкните правой кнопкой на папке файлы исходного кода, в диалоговом окне выберите пункт меню Добавить → Создать элемент. Введите название для нового файла — main.cpp и нажмите кнопку Добавить
    Если вы используете gcc, создайте пустой файл и откройте его любимым текстовым редактором.

    Исходный код данной программы выглядит так:


    Код:
    #include <iostream>
    using namespace std;
     
    int main()
    {
    	cout << "Hello, world!" << endl;
    	system("pause"); // Только для тех, у кого MS Visual Studio
    	return 0;
    }


    Теперь подробней разберём каждую строчку.
    Директива #include используется для подключения других файлов в код. Строка #include <iostream>, будет заменена содержимым файла «iostream.h», который находится в стандартной библиотеке языка и отвечает за ввод и вывод данных на экран.
    Содержимое второй строки — using namespace std; указывает на то, что мы используем по умолчанию пространство имен, с названием std. Все то, что находится внутри фигурных скобок функции int main() {} будет автоматически выполняться после запуска программы.
    Строка cout << "Hello, world!" << endl; говорит программе выводить сообщение с текстом «Hello, world» на экран.
    Оператор cout предназначен для вывода текста на экран командной строки. После него ставятся две угловые кавычки (<<). Далее идет текст, который должен выводиться. Он помещается в двойные кавычки. Оператор endl переводит строку на уровень ниже. То есть на новую строчку
    Если в процессе выполнения произойдет какой-либо сбой, то будет сгенерирован код ошибки, отличный от нуля. Если же работа программы завершилась без сбоев, то код ошибки будет равен нулю. Команда return 0 необходима для того, чтобы передать операционной системе сообщение об удачном завершении программы.
    Что бы вставить комментарий в программу нужно отделить его символами //
    Вы видите комментарий в моей программе. Комментарий компилятор пропустит и выполнять не будет. Он нужен только вам для описания своих строк. Очень понадобиться когда программы будут большими.
    И запомните очень важное правило. В конце каждой команды ставится точка с запятой.
    Давайте теперь скомпилируем данную программу.
    Тем, кто пользуется MS Visual Studio, нужно нажать сочетание клавиш Ctrl+F5. Пользователям gcc нужно выполнить следующую команду.
    Код:
    c++ имя_файла.cpp -o имя_выходного_бинарника
    Если программа собралась с первого раза, то хорошо. Если компилятор говорит о наличии ошибок, значит вы что-то сделали неправильно. Прочитайте текст ошибки и попробуйте ее исправить своими силами. Если не получится, напишите о вашей проблеме в этой теме. Так же если заметили ошибку.

    А теперь домашнее задание переделать программу чтобы она выводила сообщение Hi, Maxim Next.

    Код:
    #include <iostream>
    using namespace std;
     
    int main()
    {
    	cout << "Hi, Maxim next." << endl;
    	system("pause"); // Только для тех, у кого MS Visual Studio
    	return 0;
    }

    Следующий урок Переменные и типы данных в C++
     
    • Мне нравится Мне нравится x 12
  2. Maxim Next Безумец
    Maxim Next
    Ответить в чате

    Первый уровень

    Регистрация:
    09.01.2013
    Сообщения:
    61
    Симпатии:
    164
    Пол:
    Мужской
    Репа:
    +164 / 0 / -0
    Я так понимаю продолжения не ждут?
     
    • Мне нравится Мне нравится x 1
  3. ashoka Уважаемый пользователь
    ashoka
    Ответить в чате

    Форумчанин

    Регистрация:
    04.01.2013
    Сообщения:
    341
    Симпатии:
    1.001
    Пол:
    Мужской
    Репа:
    +1.003 / 0 / -2
    выкладывай
     
    • Мне нравится Мне нравится x 3
  4. Maxim Next Безумец
    Maxim Next
    Ответить в чате

    Первый уровень

    Регистрация:
    09.01.2013
    Сообщения:
    61
    Симпатии:
    164
    Пол:
    Мужской
    Репа:
    +164 / 0 / -0
    Переменные и типы данных в C++ — урок 2

    Из школьного курса математики мы все знаем, что такое переменные. В программировании принципы довольно схожи. Переменная — это «ячейка» оперативной памяти компьютера, в которой может храниться какая-либо информация.
    В программировании переменная, как и в математике может иметь название, состоящее из одной латинской буквы, но также может состоять из нескольких символов, целого слова или нескольких слов.
    В языке С++ все переменные имеют определенный тип данных. Например, переменная, имеющая целочисленный тип не может содержать ничего кроме целых чисел, а переменная с плавающей точкой — только дробные числа.
    Тип данных присваивается переменной при ее объявлении или инициализации. Ниже приведены основные типы данных языка C++, которые нам понадобятся.
    • int — целочисленный тип данных.
    • float — тип данных с плавающей запятой.
    • double — тип данных с плавающей запятой двойной точности.
    • char — символьный тип данных.
    • bool — логический тип данных.
    Объявление переменной в C++ происходит таким образом: сначала указывается тип данных для этой переменной а затем название этой переменной.
    int a; // объявление переменной a целого типа.
    float b; // объявление переменной b типа данных с плавающей запятой.
    double c = 14.2; // инициализация переменной типа double.
    char d = 's'; // инициализация переменной типа char.
    bool k = true; // инициализация логической переменной k.

      • Заметьте, что в C++ оператор присваивания (=) — не является знаком равенства и не может использоваться для сравнения значений. Оператор равенства записывается как «двойное равно» — ==.
      • .
      • Присваивание используется для сохранения определенного значение в переменной. Например, запись вида a = 10 задает переменной a значение числа 10.
    Сейчас мы напишем простую программу-калькулятор, которая будет принимать от пользователя два целых числа, а затем определять их сумму:
    #include <iostream>
    using namespace std;

    int main()
    {
    setlocale(0, "");
    /*7*/ int a, b; // объявление двух переменных a и b целого типа данных.
    cout << "Введите первое число: ";
    cin >> a; // пользователь присваивает переменной a какое-либо значение.
    cout << "Введите второе число: ";
    cin >> b;
    /*12*/ int c = a + b; // новой переменной c присваиваем значение суммы введенных пользователем данных.
    cout << "Сумма чисел = " << c << endl; // вывод ответа.
    return 0;
    }

    В 7-й строке кода программы мы объявляем переменные «a» и «b» целого типа int. В следующей строке кода выводится сообщение пользователю, чтобы он ввел с клавиатуры первое число.
    В 9-й строке стоит еще незнакомый вам оператор — cin. Этот оператор просит пользователя ввести значение переменной «c» с клавиатуры. Аналогичным образом задается значение переменной «b».
    В 12-й строке мы производим инициализацию переменной «c» суммой переменных «a» и «b». Далее находится уже знакомый вам оператор cout, который выводит на экран строку и значение переменной «c».
        • При выводе переменных, они не заключаются в кавычки, в отличие от строк.
    Попробуйте провести несколько экспериментов с программой — сделайте аналогичный пример с умножением или вычитанием переменных. Не бойтесь издеваться над программным кодом, потому что ошибки — неотъемлемая часть обучения любому делу. И не забываем про точки с запятой.
    Следующий урок: Алгоритм ветвления в С++ (будет ссылка)
     
    • Мне нравится Мне нравится x 5
  5. LonerCactus loading ...
    LonerCactus
    Ответить в чате

    Форумчанин

    Регистрация:
    08.12.2012
    Сообщения:
    91
    Симпатии:
    218
    Пол:
    Мужской
    Репа:
    +218 / 0 / -0
    Maxim Next, Вы с работаете VS или в unix пишите программы?
     
    • Мне нравится Мне нравится x 1
  6. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.800
    Симпатии:
    425
    Пол:
    Мужской
    Репа:
    +957 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    На сколько я понимаю в Visual Studio можно писать только под винду !

    Если хотите делать кросс-платформенные приложения, то попробуйте QT:
    http://ru-sphere.ru/threads/Делаем-кроссплатформенные-приложения-в-qt.993/

    Единственное, нужно тогда юзать только кьютишные API в программе, т.к. если Вы будете использовать например виндовские API в программе, то прога будет глючит в Линуксе, или вообще не запуститься, это важно !

    З.Ы. Если просто хотите научиться С++, то не важно какая среда, т.к. база везде одна, дальше конечно есть специфика, но в целом важна именно база и базовые понятия С и С++, в целом здесь достаточно доходчиво всё написанно, без привязки к конкретной среде, что есть гуд ! :)
     
    • Мне нравится Мне нравится x 4
  7. LonerCactus loading ...
    LonerCactus
    Ответить в чате

    Форумчанин

    Регистрация:
    08.12.2012
    Сообщения:
    91
    Симпатии:
    218
    Пол:
    Мужской
    Репа:
    +218 / 0 / -0
    X-Shar, Хм. Я как то написал просто приложение в VS и такая проблема возникла, что на Win7 приложение запускалось спокойной, но тоже приложение на WinXP уже не работало, почему ?
     
    • Мне нравится Мне нравится x 1
  8. Maxim Next Безумец
    Maxim Next
    Ответить в чате

    Первый уровень

    Регистрация:
    09.01.2013
    Сообщения:
    61
    Симпатии:
    164
    Пол:
    Мужской
    Репа:
    +164 / 0 / -0
    Проблемы совместимости возникают из-за компилятора, который вы использовали. Попробуйте другой или попробуйте поменять настройки в вашем.
     
    • Мне нравится Мне нравится x 5
  9. Maxim Next Безумец
    Maxim Next
    Ответить в чате

    Первый уровень

    Регистрация:
    09.01.2013
    Сообщения:
    61
    Симпатии:
    164
    Пол:
    Мужской
    Репа:
    +164 / 0 / -0
    Я в основном vs. Но хочу уходить на Ubuntu. Надоели лаги в Windows и перестановка каждый год. Так же поставлю Ubuntu на мой nexus 7.
     
    • Мне нравится Мне нравится x 4
  10. LonerCactus loading ...
    LonerCactus
    Ответить в чате

    Форумчанин

    Регистрация:
    08.12.2012
    Сообщения:
    91
    Симпатии:
    218
    Пол:
    Мужской
    Репа:
    +218 / 0 / -0
    Maxim Next, У меня есть друг, дак он мне постоянно торочит что лучше писать на unix система, есть ли какое преимущество?
    Офтоп: Разве Ubuntu на Nexus уже доступный в свободное тестирование?
     
    • Мне нравится Мне нравится x 3

Поделиться этой страницей