Суббота, 21 Декабря 2024, 18:44

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [85]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [151]
Статьи о программах для создания игр, уроки и описания.
Софт [44]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [169]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [133]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Для какой операционной системы пишите игры?
Всего ответов: 17864
Главная » Статьи » Программирование

С++ для новичков (урок 1)
Для начала скажу что C++ не самый простой и понятный язык программирования (далее ЯП), а выбрал я его из нескольких причин:
  • Он очень хорош по скорости выполнения созданных программ
  • На нем часто пишут игровые движки
  • Изучив его вы сможете понять как работает компьютер с памятью
  • Он мне просто по душе =)

    Синтаксис:
    Синтаксис у С++ весьма интересный и на первый взгляд может показаться тяжелым (но это не так).
    1) Анализатор читает весь текст до знака ';', по этому будьте осторожны! Не пропускайте этот знак, или можете получить ошибку.
    2) Даже если процедуры и функции не имеют параметров то после их названия должны стоять скобки '(' и ')'.
    3) В С++ учитывается регистр букв (то есть Run, RUN и run не одно и то же).
    4) Объявлять процедуры/функции/переменные нужно ДО их использования, иначе будет ошибка, что процедура/функция/переменная не найдена.

    Переменные:
    Переменные в плюсах отличная штука, ведь можно объявить их прямо в теле функции или процедуры. Вот небольшой пример объявления 5 основных переменных:
    Code

    bool MY_BOOL_VAR;
    int MY_INT_VAR;
    char MY_CHAR_VAR;
    string MY_STRING_VAR;

    Объясню подробнее:
    bool - может быть 0 (не правда) или 1 (правда)
    int - простое число (от -2147483648 до 2147483648)
    char - символ ('a', 'Z', 'й' и тд.)
    string - строка ("привет", "СТрОкА", "Сегодня классный денек..." и тд.)

    Процедуры и функции:
    Процедуры - это действие, просто действие.
    Функции - это действие, но это действие ещё может возвращать параметры (число, строку...).
    Code

    void Procedure();
    void ProcedureEx(bool Close);
    int Function();
    int FunctionEx(int Number);

    Procedure - простая процедура, которую мы можем вызвать и всё.
    ProcedureEx - процедура, но ей мы можем передать параметр под названием 'Close'.
    Function - простая функция, она ничего не принимает, но может вернуть число.
    FunctionEx - функция которая принимает и возвращает значение.

    Подключаемые файлы:
    Думаю ясно, что некоторые процедуры, функции, классы и тд. находятся в других файлах. Для этого в C++ существует процедура которая подключит эти файлы к нам проект - include. Используется она очень просто:
    Code
    #include <filename>

    Где filename - это имя подключаемого файла.

    Примеры:
    Вот простые примеры на C++ с комментариями:
    Code

    #include <windows.h>//Подключаем библиотеку

    int main()//Эта функция выполняется при запуске программы (она главная)
    {//Эта скобка означает начало функции

    return 0;//Если это функция то она должна возвращать значение, верно?
    }//Эта скобка означает конец функции


    Code

    #include <windows.h>
    #include <iostream>

    void print_my_msg()//Объявляем процедуру и сразу же её описуем
    {
    printf("Hello World!");//Процедура printf выводит на консоль указанное сообщение (в нашем случае слова "Hello World!" (без скобок))
    }

    int main()
    {
    print_my_msg();//Вызываем заранее созданную процедуру

    return 0;
    }


    Code

    #include <windows.h>
    #include <iostream>

    int get_2x(int number)//Объявляем функцию и сразу же её описуем
    {
    int n;//Объявляем переменную n
    n=number*2;//Устанавливаем значение переменной n (в нашем случае равной значению number умноженному на 2)
    printf("%i",n);//Печатаем переменную n
    return n;//Возвращаем переменную n
    }

    int main()
    {
    return (get_2x(100)); //Возвращаем значение которое нам даст функция get_2x (100*2=200, вот его мы и вернем)
    }


    Компиляторы:
    Компилятор - это та программа которая переводит наш код в код понятный или компьютеру, или определенной ОС (операционной системе).

    Так вот, что бы наши примеры заработали нам нужен компилятор, вот несколько таких:
    Visual C++
    Code::Blocks
    Dev C++

    В следующем уроке я покажу как создать консольный проект и скомпилировать его.
  • Категория: Программирование | Добавил: Demeron (24 Августа 2011)
    Просмотров: 11935 | Комментарии: 10 | Рейтинг: 2.6/7 |
    Теги: функции, Урок, обучение, процедуры, анализатор, новичкам, Регистр букв, ЯП, Переменные, C++
    Дополнительные опции:
    Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

    Игровые объявления и предложения:
    Если вас заинтересовал материал «С++ для новичков (урок 1)», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

    Всего комментариев: 10
    +2-
    10 Pesets   (27 Августа 2011 00:38) [Материал]
    PesetsАффтар, а аффтар... не надо учить людей тому, чего сам не знаешь. Или хотя бы проверь код на работоспособность перед тем, как публиковать. "Ашибок" море.
    KpoJIuk, printf - это не макрос
    От себя - раз уж юзаем плюсы, может будем использовать iostream? cstdio - наследие С и в плюсах надо от него как-то отвыкать потихоньку...
    Звиняюсь, наболело.

    +0-
    8 Demeron   (26 Августа 2011 11:32) [Материал]
    DemeronПлюсы я знаю, но учитель с меня никакой) Я как пес, всё понимаю но сказать не могу happy

    +1-
    7 SlavyanOOs   (26 Августа 2011 08:29) [Материал]
    SlavyanOOsУроки nilrema куда лучше. Здесь даже толком ничего не объяснено. И вообще, в плюсах понятие "процедуры" мало кто употребляет, здесь используются "функции, не возвращающие ничего".

    +1-
    6 Zurgaz   (25 Августа 2011 22:28) [Материал]
    ZurgazБлин ну и <Разжевал>... dry
    ~В С++ учитывается регистр букв (то есть Run, RUN и run не одно и то же)~
    - такая функция есть во многих ЯП, да и работу она не облегчает.

    +-2-
    5 AGENTX001   (25 Августа 2011 13:34) [Материал]
    AGENTX001о господи... года 2 назад колупался в плюсах... Весь твой код, фактически можно заменить на:

    #include <iostream.h>
    int main() {
    echo << "GCUP - rulezzz!";
    return 0;
    }
    (возможно в коде ашыбки, т. к. последний раз с++ мучал 2 года назад)

    +0-
    9 Demeron   (26 Августа 2011 11:38) [Материал]
    DemeronМожно, просто я писал по памяти, да и собственно с консолями я толком не работал, так что это мой косяк cry

    +9-
    3 SanAV   (25 Августа 2011 11:45) [Материал]
    SanAVМда, несколько убого.

    +2-
    4 IIIypuk   (25 Августа 2011 12:41) [Материал]
    IIIypuk+1

    +5-
    2 KpoJIuk   (25 Августа 2011 09:03) [Материал]
    Code

    #include <windows.h>     
         #include <iostream>     

         void print_my_msg()//Объявляем процедуру и сразу же её описуем     
         {     
         printf("Hello World!");//Процедура printf выводит на консоль указанное сообщение (в нашем случае слова "Hello World!" (без скобок))     
         }     

         int main()     
         {     
         print_my_msg();//Вызываем заранее созданную процедуру     

         return 0;     
         }

    windows.h не нужен
    iostream не нужен, нужен stdio
    printf - макрос "стандартной библиотеки ввода-вывода"
    Quote
    описуем

    опишем
    Quote
    Думаю ясно, что некоторые процедуры, функции, классы и тд. находятся в других файлах. Для этого в C++ существует процедура которая подключит эти файлы к нам проект - include

    include - директива препроцессора, а не процедура. главная разница в том, первая выполняется до начала компиляции.

    +6-
    1 GECK   (25 Августа 2011 08:17) [Материал]
    GECK>нам нужен компилятор, вот несколько таких:
    Все перечисленное - это среды разработки, но не компиляторы.
    Компилятор в них конечно включен, но давайте называть вещи своими именами smile

    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск по сайту
    10 случ. движков
  • INSTEAD
  • RiBox3D
  • Diligent
  • Supertuxkart
  • GameBryo
  • RPG Maker MV
  • Ninfa3D
  • G3D Engine
  • GloryLands
  • uranEngine
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг