[C++] Урок №1. Типы данных. Ввод-вывод
|
|
zEsc | Дата: Вторник, 23.10.2012, 23:02 | Сообщение # 1 |
Global Elite
Группа:
Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
| Здравствуйте! С этого момента я начинаю писать курс по основам такого языка програмированния как С, а по тихоньку перейдём на С++.
Внимание! Я рассказываю так, как понимаю сам, и если вы считаете что я не прав - с удовольствием вас выслушаю.
Программы которые потребуются в этом и последующих уроках: Dev C++(Среда разработки, в ней будем писать код).
Итак, приступим. Подготовительные шаги:
1. Скачиваем среду разработки(ссылка выше). 2. Устанавливаем. 3. Запускаем.
Осмотримся.
То что обведено этим цветом- создание нового файла То что обведено этим цветом - название документа То что обведено этим цветом - сохранение документа То что обведено этим цветом - область разработки
Первым шагом давайте создадим новый документ. А теперь поговорим о переменных и их типах данных. Для начала нам понадобится только 2 типа данных:
int - все целые числа, от -2147483648 до 2147483647, нехилое такое число, да? float - все целые и дробные числа, его диапазон примерно 1 с 38мю нулями.
Как же создавать переменные? Переменные создаются в таком формате: [тип данных] [название переменной]; ВНИМАНИЕ! В конце каждой строчки должна стоять точка с запятой, а также переменная не должна начинаться с цифры! ЗАПОМНИТЕ ЭТО. Рассмотрим создание переменной на примере: Также, не забывайте, переменные чувствительны к регистру!
Как приравнять переменной какое-то значение? Переменной приравнивается значение знаком равно('='). Например:
Но зачем нам это всё? Ведь мы даже не умеем что-то с клавиатуры вводить. Вот теперь самое интересное :df: Функция вывода текста на экран - printf. printf("Формат",переменные); Возможно, не совсем понятно, обьясню на примере: Code printf("%d",DjCubex); Данный код выведет на экран значение переменной DjCubex. О, нет! А что значит %d? %d - указывает на тип выводимых данных. Пока-что для работы пригодится только два типа: %d - целые числа, %f - дробные и целые числа. Вот ещё один пример использования функции: Code printf("Значение переменной DjCubex = %d, а значение переменной xCKAYTz = %f",DjCubex,xCKAYTz); Вот мы немного разобрались типами данных и выводом текста на экран. А теперь научимся вводить данные с клавиатуры. Функция для считывания: scanf; Формат: scanf("Формат",переменная); Внимание! У этой функции особенность, если вы считываете переменную типа int, то перед её названием нужно добавить знак '&'. Пример: scanf("%d",&DjCubex); Для остальных типов данных, этого знака не требуется.
Операции с переменными На них мы особо останавливаться не будем, расскажу лишь что существуют четыре операции: Добавить('+'), Отнять('-'), Умножить('*'), Поделить('/'). Пример использования: Code DjCubex = xCKAYTz + xCKAYTz;
А как это всё оформить? В первых уроках мы не будем особо с этим заморачиватся, поэтому я просто приведу код, но потом, мы его детально выучим и рассмотрим! Code #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { Тут код вашей программы! getch(); return 0; }
Вот пример рабочей программы, вводим число, а оно нам выдаёт число на единицу больше: Code #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { int DjCubex,xCKAYTz; scanf("%d",&DjCubex); xCKAYTz = DjCubex + 1; printf("DjCubex + 1 = %d",xCKAYTz); getch(); return 0; } Чтобы скомпилировать программу нужно нажать на кнопку F9. Пробуем! Как всё выглядит в итоге:
Вот наш первый урок окончен! Домашнее задание: Сделайте программу в которую вводят число(типа int), а программа нам выдаёт её квадрат. Подсказка: Для написания программы понадобится операция умножения('*'). Домашнее задание посылать мне в Личные Сообщения. Вроде-бы всё.... Спасибо за внимание!
Внимание! Я рассказываю так, как понимаю сам, и если вы считаете что я не прав - с удовольствием вас выслушаю.
|
|
|
|
ZiGGi | Дата: Среда, 24.10.2012, 00:28 | Сообщение # 2 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
| Советую перебраться на более продвинутую IDE - Code::Blocks. Dev-C++ мёртв.
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
|
|
|
zEsc | Дата: Среда, 24.10.2012, 01:04 | Сообщение # 3 |
Global Elite
Группа:
Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
| язык тот-же, возможно там красивей внешний вид, но не в этом суть
|
|
|
|
stepmex | Дата: Среда, 24.10.2012, 13:36 | Сообщение # 4 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
| А зачем это тут?
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
|
|
|
zEsc | Дата: Среда, 24.10.2012, 16:23 | Сообщение # 5 |
Global Elite
Группа:
Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
| А куда?
|
|
|
|
stepmex | Дата: Среда, 24.10.2012, 17:09 | Сообщение # 6 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус:
| Ну очевидно на форумы по C++. Хотя наверно там итак все знают то что вы написали. PS сизифов труд.
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
|
|
|
Matt_Tuck | Дата: Среда, 24.10.2012, 17:27 | Сообщение # 7 |
Местный
Группа:
I'm V.I.P.
Сообщений: 710
Награды: 11
Город: Брянск
Репутация: 461
Замечания: 20%
Статус:
| Quote (stepmex) А зачем это тут?
пусть публикует, давно было желание выучить C++, то времени нету, то уроков толковых, а тут всё ништяк)
Не в возрасте дело,а в культуре общения и уровне интеллектуального развития
Если вам лижут жопу, не обольщайтесь, возможно это для смазки.
Twitter - Follow Me ;) Подписываемся на мой Паблик
|
|
|
|
JEKA | Дата: Среда, 24.10.2012, 17:50 | Сообщение # 8 |
Новенький
Группа:
Продвинутые
Сообщений: 42
Награды: 2
Город: Симферополь
Репутация: 52
Замечания: 0%
Статус:
| Quote (Escalante) Внимание! У этой функции особенность, если вы считываете переменную типа int, то перед её названием нужно добавить знак '&'. Пример: scanf("%d",&DjCubex); Для остальных типов данных, этого знака не требуется. Как раз-таки '&' нужен и при вводе других типов данных: float, double, char; Это при вводе в массив он не требуется. Немного неуместно в первом же уроке начинать разбор с работы scanf(), а то очень много вопросов возникает с этим '&' Зачем он? Когда применять и для чего?
|
|
|
|
Deklan | Дата: Среда, 24.10.2012, 18:35 | Сообщение # 9 |
Постоялец
Группа:
I'm V.I.P.
Сообщений: 352
Награды: 4
Город: Киев
Репутация: 678
Замечания: 0%
Статус:
| Большое спасибо за урок. Надеюсь уроки будешь регулярно выкладывать, буду учить:) Добавлено (24.10.2012, 18:35) --------------------------------------------- Ах да, очень бы хотелось что-бы ты всё таки рассказал о "оформлении" Quote #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { Тут код вашей программы! getch(); return 0; }
Инклуды это вроде понятно, а вот то что дальше...)
My Skype: nazaret.su
|
|
|
|
IceОрех | Дата: Среда, 24.10.2012, 18:51 | Сообщение # 10 |
Постоялец
Группа:
I'm V.I.P.
Сообщений: 302
Награды: 20
Город: Минск
Репутация: 321
Замечания: 0%
Статус:
| Неплохое начало, но лучше бы сделать по-другому. Как сформулирую, отвечу
|
|
|
|
Alcoholik | Дата: Среда, 24.10.2012, 19:00 | Сообщение # 11 |
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
| float DjCubex; printf("%d",DjCubex); так то не круто получается) Люди не поймут нихера. Может в dev c++ это будет работать, но всё равно это ошибка
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
|
|
|
zEsc | Дата: Среда, 24.10.2012, 19:23 | Сообщение # 12 |
Global Elite
Группа:
Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
| RoACh, не подумал) писал как разные куски. Буду дома, перепишу урок
|
|
|
|
JEKA | Дата: Среда, 24.10.2012, 19:24 | Сообщение # 13 |
Новенький
Группа:
Продвинутые
Сообщений: 42
Награды: 2
Город: Симферополь
Репутация: 52
Замечания: 0%
Статус:
| Escalante, ты вообще планируешь ознакомить с синтаксисом C/C++ или с программированием в целом на основе C/C++?
|
|
|
|
zEsc | Дата: Среда, 24.10.2012, 19:24 | Сообщение # 14 |
Global Elite
Группа:
Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
| Deklan, об этом будет в следующем уроке
|
|
|
|
ZiGGi | Дата: Среда, 24.10.2012, 21:26 | Сообщение # 15 |
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2652
Награды: 34
Город: St. Petersburg
Репутация: 2102
Замечания: 20%
Статус:
| Quote (JEKA) Немного неуместно в первом же уроке начинать разбор с работы scanf(), а то очень много вопросов возникает с этим '&' Зачем он? Когда применять и для чего? Препод в универе на второй практике рассказывал про ссылки и указатели, до того, как рассказал про циклы, проверки, функции...
Бложе [indent]Мой блог Уроки по Pawn[/indent]
Open-GTO [indent]Блог разработчиков GitHub: https://github.com/Open-GTO/Open-GTO Сборки мода с сервером тут[/indent]
|
|
|
|