И всем привет с вами KoJLyM6uEc.
Я зарегался на сайте только что (02.11.2013)
И сразу хочу сказать чем я занимаюсь: я являюсь дизайнером , дружу с фотошопом учусь SonyVegasPro , а также я пишу на языке С++/С#/VB (последние 2 языка в стадии обучения).
На С++ я написал собственную ОС , что уже не о малом говорит.
Теперь немного о софте Я НЕКОГДА НЕ ВЫКЛАДЫВАЮ НИЧЕГО ПЛАТНОГО , но если софт написанный мной будет шокировать даже меня а это шанс 1/500.
Теперь приступим к основной цели создания этого топика это обучение других людей языку С++.
P.S скайп налево направо не даю!
Ну и самое замечательно это то , что мои уроки не кописат а самодельные и каждые день я буду писать по уроку.
Если хотите что-бы я выкладвыл видео с голосом (мне 19) без всяких эффектов , то закрепите созданые мной темы:D
Ну теперь к самому уроку.
УРОК 1:
Скрытый текст
Краткие особенности языка:
С++ — это мощный язык программирования, содержащий средства для создания и простеньких утилит и полноценных операционных систем. Он прост в понимании, и в применении. Для начала определимся с его плюсами (ведь их как минимум 2 ) :
Поддерживаются различные технологии и стили программирования, такие как объектно-ориентированное программирование(сокращенно ООП, о нем поговорим позже) и различного вида макросы и шаблоны.
Практически полная поддержка языка С.
Эффективность и быстродействие.
Из минусов можно отметить похожесть оператора присваивания «=» и оператора сравнения «==», их легко спутать и не заметить свою ошибку, при этом программа будет скомплированна корректно.
Минусы не такие уж и страшные, а плюсов полно. Поэтому С++ один из самых популярных языков программирования.
Чтобы начать писать на С++ вы должны скачать builder с компилятором С++, например Bloodshed Dev-C++ или Codeblocks
Приступим к написанию 1-ой программы:
Самая первая программа на любом языке программирования это программа — «Hello, world!». Код приведу сразу (это наша первая программа на С++):
Скрытый текст
# include <iostream>
int main() {
std:: cout << "Hello, world! \n";
return 0;
}
Откроется командная строка, в ней мелькнет «Hello, world!» и оно сразу же закроется. Чтобы программа завершалась после нажатия клавиши нужно добавить system(«pause»):
Скрытый текст
# include <iostream>
int main() {
std:: cout << "Hello, world! \n";
system("pause");
return 0;
}
Теперь все работает как надо, осталось понять сам код.
1) # include <iostream>
это подключение библиотеки iostream для ввода-вывода. она позволяет использовать функцию std::cout.
2) int main()
после этой строки идет открывающая скобка {, эта наша основня функция.
3) std:: cout << «Hello, world! \n»;
этой строкой мы и выводим «Hello, world!» на экран, ‘\n’ делает перенос строки.
4) system(«pause»);
эта строка приостанавливает нашу программу перед завершением и ждет нажатия клавиши.
5) return 0;
возвращает основной функции значение нуля, что означает завершение программы.
дабы не писать std:: перед каждой функцией cout добавим строку using namespace std;
Вот уже готовы код программы:
Скрытый текст
# include <iostream>
using namespace std;
int main () {
cout << "Hello, World!!! \n";
system("pause");
return 0;
}
На этом наше первое знакомство со средой C++ заканчивается, спасибо за внимание!
P.S. после каждой команды ставим ; не забудте а то вылетает ошибка.
Урок 2. Переменные.
Скрытый текст
Для начала определимся что такое переменная. Переменная это область памяти заполненная данными, которые называются значением переменной.
У каждой переменной должно быть своё уникальное имя на латинице с учетом регистра. Переменные делятся на целочисленные, дробные, символьные,
логические(т.е «да» или «нет»). Примеры переменных из реальной жизни:
1) Ваш возраст — целая положительная числовая переменная
2) Температура — числовая переменная с плавающей точкой (дробная переменная)
4) Ваше имя — несколько символьных переменных
5) Вы не заметили отсутствие 3-его примера — логическая переменная
Теперь поподробнее о каждой переменной:
1) Целая числовая переменная — int.
Ей можно задавать такие параметры, как:
Знаковость/беззнаковость: изначально int знаковый, но задав ему параметр unsigned он станет беззнаковым, т.е. будет больше или равен нулю.
Примеры:
Скрытый текст
unsigned int moy_vozrast=24;
int vysota_nad_urovnem_morya=-17;
Уменьшенный/увеличенный размер: задав int-у параметр long long, мы расширим границы, в которых наш int может находится,
а задав ему параметр short, мы сузим границы int-а.
Скрытый текст
short int moy_vozrast_v_godah=24;
long long int moy_vozrast_v_millisekundah=756864000000;
Эти два параметра можно совмещать т.е переменные типа:
Скрытый текст
unsigned long long int
signed short int
и.т.д, уместны.
Кстати, синтаксис создания переменной вот такой:
«тип переменной» «имя переменной»;
и если надо сразу ее к чему-либо приравнять, то сразу пишем так:
«тип переменной» «имя переменной» = «значение»;
2) Переменная с плавающей точкой — double и float.
Разница в между ними в том, что границы у double-а больше, чем у float-а. И дополнительно double-у можно задать параметр long,
что увеличит границы, в которых он лежит.
Примеры:
Скрытый текст
float temperatura=-17.3;
long double ploshchyad_kruga=43359179.84;
3) Символьная переменная — char.
В переменной хранятся символы, которые надо ставить в вот ‘ ‘ такие кавычки.
Примеры:
Скрытый текст
bool vyshe_li_ya_chem_Ruslan=true;
Теперь школьный курс информатики:
http://itblogs.org/wp-content/uploads/2012/10/image.bmp
И программа-анкета с примерами всех переменных:
Скрытый текст
# include <iostream>
using namespace std;
int main() {
char futbolka='L';
unsigned short int vozrast=24, ves=84;
float rost=1.79;
bool rabotau=true;
cout << "Menya zovut Petya. \n";
cout << "Mne " << vozrast << " let. \n";
cout << "Moy rost - " << rost << " metrov. \n";
cout << "Moy ves - " << ves << " kg. \n";
cout << "Razmer futbolki - " << futbolka << ". \n";
cout << "Mesto raboty(1-est, 0-net) - " << rabotau << ".\n";
system("pause");
return 0;
}
Теперь домашнее задание:
Заполнить анкету , выполнить и скомпилировать сделать скрин программы.
C++. Урок 3. Ввод и вывод
И так, что же такое ввод-вывод?
Скрытый текст
http://itblogs.org/wp-content/uploads/2 … n-cout.jpg
Скрытый текст
1) Вывод
Тему вывода информации мы уже затрагивали на прошлых уроках, и как вы заметили ничего сложного в ней нет, как впрочем и во всем С++. Для этого мы используем cout, стандартную функцию библиотеки iostream.
Пример:
Скрытый текст
# include <iostream>
using namespace std;
int main() {
int day=18, month=10, year=2012;
// создаем переменные и задаем им наши значения
cout << "Today is ";
// то, что находится в кавычках будет выведено без изменения
cout << day;
// выводим переменную day, у нас это - 18
cout << ".";
cout << month;
// переменная month, т.е - 10
cout << ".";
cout << year;
// теперь переменная year со значением 2012
cout << "\n";
/*
"\n" обозначает новою строку, вместо этого мы можем писать
cout << endl;
что полностью идентично
*/
system ("pause");
return 0;
}
код можно сократить написав 1 cout:
# include <iostream>
using namespace std;
int main() {
int day=18, month=10, year=2012;
// создаем переменные и задаем им наши значения
cout << "Today is " << day << "." << month << "." << year << "\n";
// вывод
system ("pause");
return 0;
}
т.е вместо нового cout-а, мы приписываем к концу строки два знака «меньше» и то, что хотим вывести, будь то переменная или текст.
1) Ввод
В течении наших уроков, вы наверняка задавались вопросом, «А если я не знаю чему приравнять переменную, ведь ее должен задавать пользователь?». Тут вам на помощь придет функция cin, опять же из библиотеки iostream. Метод работы с cin-ом похож на работу с cout-ом.
Пример:
Скрытый текст
# include <iostream>
using namespace std;
int main() {
int day, month, year;
// создаем переменные, изначально в них будут записан мусор, т.е всякая "левая" информация.
cin >> day >> month >> year;
/*
теперь записанный в переменнах "мусор" заменяется на введенные переменные.
заметьте, программа продолжит выполнятся только после того, как вы введете все переменные.
*/
cout << "Today is " << day << "." << month << "." << year << "\n";
// вывод
system ("pause");
return 0;
}
Кстати, все что написано между «/*» и «*/», и вся строка после «//», являются комментариями,
и компилятор не будет их обрабатывать.
Ну вот и все. Теперь вы умеете вводить и выводить данные на C++. Оказывается совсем не сложно, не так ли?
Вот и 4-й урок готов)))
начнем!
C++. Урок 4. Числовые операции
Скрытый текст
Скрытый текст
Делятся они на:
1)Стандартные математические операции,
Т.е плюсы, минусы и прочее:
+: понятное дело, это — операция сложения
-: операция вычитание (также служит операцией унарного минуса)
/: операция деления. ВАЖНО, при работе с целыми числами округление идет вниз, т.е 5/3=1.
*: операция умножения, ничего особенного.
%: это — операция взятия по модулю. Остановимся на нем поподробнее:
a % b = остаток от деления a на b,
Например:
5 % 3 = 2
214 % 2 = 0
159 % 7 = 5
т.е
Скрытый текст
http://itblogs.org/wp-content/uploads/2012/10/image.jpg
где скобки значат округление вниз.
2)Бинарные операции,
ВНИМАНИЕ: тема достаточно сложна, и НЕ особо важна на начальном этапе.
Как вы наверное знаете, в повседневной жизни мы используем десятичную систему исчисления, тогда как, все числа в компьютере хранятся в двоичном коде, т.е состоят из 1 и 0.
Из десятичного в двоичное
Скажем нам дан некий x
Шаг первый: записать x % 2
Шаг второй: поделить x на 2 с округлением вниз
Шаг третий: если x равен нулю, то закончить алгоритм,
в остальных случаях, продолжать с первого шага.
Пример для числа 179:
шаг 1) 179 % 2 = 1, записываем единицу
шаг 2) 179 / 2 = 89, теперь работаем с числом 89
шаг 3) переходим к первому шагу
шаг 1) 89 % 2 = 1, записываем единицу
шаг 2) 89 / 2 = 44, теперь работаем с числом 44
шаг 3) переходим к первому шагу
шаг 1) 44 % 2 = 0, записываем нуль
шаг 2) 44 / 2 = 22, теперь работаем с числом 22
шаг 3) переходим к первому шагу
шаг 1) 22 % 2 = 0, записываем нуль
шаг 2) 22 / 2 = 11, теперь работаем с числом 11
шаг 3) переходим к первому шагу
шаг 1) 11 % 2 = 1, записываем единицу
шаг 2) 11 / 2 = 5, теперь работаем с пятеркой
шаг 3) переходим к первому шагу
шаг 1) 5 % 2 = 1, записываем единицу
шаг 2) 5 / 2 = 2, теперь работаем с двойкой
шаг 3) переходим к первому шагу
шаг 1) 2 % 2 = 0, записываем нуль
шаг 2) 2 / 2 = 1, теперь работаем с единицей
шаг 3) переходим к первому шагу
шаг 1) 1 % 2 = 1, записываем единицу
шаг 2) 1 / 2 = 0, теперь работаем с нулем
шаг 3) x = 0, чего мы и добивались, алгоритм завершен.
Записав все числа полученные из первого шага в обратном порядке мы получем число в двоичной записи.
Для 179 мы выписали число — 11001101, перевернув ее мы получили — 10110011, это и есть наш ответ.
179[10] = 10110011[2].
Из двоичного в десятичное
Скажем нам дано число x, которое равно, ну скажем, 1000101111011. Пронумеруем с конца все цифры в числе начиная с нуля, т.е умножаем цифры на 2 в степени ее номера, т.е:
Скрытый текст
http://itblogs.org/wp-content/uploads/2 … able11.png
Складываем их:
4096 + 256 + 64 + 32 + 16 + 8 + 2 + 1 = 4475, это и есть наш ответ.
2) Бинарные операции, продолжение
n-ная по счету цифра в двоичном представлении числа называется n-ным битом(1-ая цифра называется 1 битом, 483 цифра называется 483 битом). Будем называть n-ый бит числа a в двоичной системе счисления, как a[n].
Вот несколько примеров битовых операций используемых в С++:
1) | — битовый «или», скажем a | b = c, тогда:
c[n] равен 1, если или a[n] = 1, и/или b[n] = 1
c[n] равен 0 в остальных случаях.
Пример:
20[10] | 17[10] = 10001[2] | 10100[2] = 10101[2] = 21[10].
2) ^ — битовый «исключающий или», скажем a | b = c, тогда:
c[n] равен 1, если или a[n] = 1, или b[n] = 1
c[n] равен 0 в остальных случаях.
Пример:
20[10] | 17[10] = 10001[2] | 10100[2] = 00101[2] = 5[10].
3) & — битовый «и», скажем a | b = c, тогда:
c[n] равен 1, если и a[n] = 1, и b[n] = 1
c[n] равен 0 в остальных случаях.
Пример:
20[10] | 17[10] = 10001[2] | 10100[2] = 10000[2] = 16[10].
4) << — битовый «сдвиг влево», т.е a << b это добавление b нулей
в конец двоичного представления числа a.
Пример:
47[10] << 2 = 101111[2] << 2 = 10111100[2] = 188[10].
Также стоит добавить, что a << b = a * 2b, для чисел в десятичной системы счисления.
5) >> — битовый «сдвиг вправо», т.е a >> b это удаление последних
b цифр в двоичном представлении числа a.
Пример:
47[10] >> 2 = 101111[2] >> 2 = 1011[2] = 10[10].
Также стоит добавить, что a >> b = a / 2b с округлением вниз, для чисел в десятичной системы счисления.
Не путайте битовые сдвиги и разделители в cin и cout!!!
Чтобы написать битовый сдвиг в cout-е, поставте его в скобки, например:
1
cout << (a<<2) << "\n";
Поздравляю вы осилили эту статью(или просто прокрутили вниз)!
Для разнообразия немного кода:
Скрытый текст
# include <iostream>
using namespace std;
int main() {
cout << "Enter two numbers A and B: \n";
cin >> a >> b;
cout << "A + B = " << a + b <<"\n";
cout << "A - B = " << a - b <<"\n";
cout << "A * B = " << a * b <<"\n";
cout << "A / B = " << a / b <<"\n";
cout << "A | B = " << a | b <<"\n";
cout << "A ^ B = " << a ^ b <<"\n";
cout << "A & B = " << a & b <<"\n";
cout << "A << B = " << (a << b) <<"\n";
cout << "A >> B = " << (a >> b) <<"\n";
system ("pause");
return 0;
}
Выводящий результаты всех математических и битовых операций для двух чисел.
Число B не должно быть равно нулю, так как компиляторы не поддерживают деление на нуль.
Спасибо, до скорого!