• Привет !

    На форуме есть зеркало в ТОРе:rusfwz3cukdej7do.onion

    Обратная связь:info@ru-sfera.org

    Всего доброго !

Уроки C++ от Maxim Next. (1 Viewer)

  • Автор темы Maxim Next
  • Дата начала

Кто просматривает этот контент: "Тема" (Всего пользователей: 0; Гостей: 1)

M

Maxim Next

Гость
Тут я буду выкладывать свои уроки 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++
 
M

Maxim Next

Гость
Переменные и типы данных в 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-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
5 378
Репутация
7 874
Telegram
На сколько я понимаю в Visual Studio можно писать только под винду !

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

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

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

LonerCactus

loading ...
Форумчанин
Регистрация
08.12.2012
Сообщения
95
Репутация
60
X-Shar, Хм. Я как то написал просто приложение в VS и такая проблема возникла, что на Win7 приложение запускалось спокойной, но тоже приложение на WinXP уже не работало, почему ?
 
M

Maxim Next

Гость
X-Shar, Хм. Я как то написал просто приложение в VS и такая проблема возникла, что на Win7 приложение запускалось спокойной, но тоже приложение на WinXP уже не работало, почему ?
Проблемы совместимости возникают из-за компилятора, который вы использовали. Попробуйте другой или попробуйте поменять настройки в вашем.
 

LonerCactus

loading ...
Форумчанин
Регистрация
08.12.2012
Сообщения
95
Репутация
60
Maxim Next, У меня есть друг, дак он мне постоянно торочит что лучше писать на unix система, есть ли какое преимущество?
Офтоп: Разве Ubuntu на Nexus уже доступный в свободное тестирование?
 
Автор темы Похожие темы Форум Ответы Дата
X-Shar С++ 2
X-Shar С++ 1