Пятница, 29.03.2024, 07:39
Discovery
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Форма входа
Категории раздела
PHP [1]
Уроки по PHP для начинающих
C++ [18]
Статьи посвященные С++
XML [2]
Статьи по XML
Математика программистам [0]
Нужна ли программистам математика? Да вроде и не нужна... Или все же нужна? И если да то в каком объеме? Давайте попробуем разобраться в этом вместе!
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
     Каталог статей
    -->
    Главная » Статьи » Программирование » C++

    Переменные в С++. Тип char.

    Что такое переменная?

    Во многих зарубежных справочниках по С++ после этого обычно пишут: «Вообще то программа «Hello world» ничего обычного не делает. Все что она делает, это просто выводит сообщение на экран. Пользователь никоим образом, не может вмешаться в ход выполнения данной программы. Чтобы это исправить нам придется переделать нашу программу. Но прежде мы должны понять, что такое переменные.

    Для начала я хотел бы привести примеры, как об этом написано на других ресурсах Интернета:

    1. В программировании переменная — это идентификатор, определяющий данные.
    2. Переменная представляет собой имя ячейки памяти, которая может хранить конкретное значение.
    3. Переменной называется область памяти, имеющая имя, которое иначе называют идентификатором.
    4. Переменная в языке - это именованная область памяти, в которой содержится определенное значение.
    5. Переменная — это именованный участок памяти, в котором хранится значение, которое может быть изменено программой.
    6. Переменная – это в некотором смысле ячейка для хранения информации, например, числа, строки символов.

    Читая все эти определения чувствуешь себя очень «умным», но сказать зачем нужна в переменная в С++ все также трудно как и до чтения всех этих определений. И хотя все эти определения правильны, они рассчитаны явно не на новичков.

    И так давайте на минуту отвлечемся от программирования, и приставим, что вы оказались в новой компании, и решили угостить всех фантастическим вкусным блюдом, рецепт которого вы только что узнали. И так все гости только «за», вы отправляетесь на кухню, открываете кухонный шкаф и... Здесь начинается самое интересное... Либо вы начинаете сразу же готовить, либо ищете хозяина квартиры, и начинаете расспрашивать, где у него соль, сахар и все что вам необходимо. Все зависит от того, есть ли надписи на банках, в которых хранятся соль, сахарный песок, крупа и т. д. И если у вас вдруг одновременно закончатся соль и песок то, глядя на банки, вы сразу решите, в какую насыпать соль, а в какую песок. Теперь вы можете не бояться, что по ошибке посластите суп, и посолите свой чай.

    Именно для этого нужны переменные в программировании. Они дают уверенность в достоверности данных, которая в них содержится. Но прежде, чем использовать переменную, мы должны придумать ей имя и объявить ее.

    И так вот требований к имени переменной:

    1. Переменная может содержать лишь прописные, заглавные буквы латинского алфавита, цифры и знак подчеркивания: _. Все остальные знаки препинания, включая пробел - запрещены.
    2. Имя переменной не может начинаться с цифры.
    3. Имя переменной чувствительно к регистру. И поэтому: name, Name, nAme, naMe и т. д. будут расценены программой, как не одна, а несколько переменных.
    4. Они не могут писаться так же, как зарезервированные слова языка С++. Вот эти слова: and, and_eq, asm, auto, bitand, bitor, bool, break, case,catch, char, class,compl, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, not, not_eq, operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq.

    Это обязательные требования. Теперь о некоторых соглашениях принятых среди программистов на С++.

    1. Имена переменных не пишут из одних заглавных букв. Так обычно записывают константы. Константе в отличие от переменных значение присваивается один раз, и не может быть изменено по ходу выполнения программы. Если компилятор встречается с попыткой присвоить константе новое значение, как обычной переменной, он выдает ошибку.
    2. Обычно для имени переменной используется английское слово. Записывать при помощи транслита, является не лучшим вариантом. Пример: не vremja, а time: не skorost, а speed. Тогда даже программист, который не знает русского языка, по названиям переменных может догадаться, что делает программа.
    3. Если вам все же нужно отделить одно слово в названии переменной от другого, может вставить вместо пробела знак подчеркивания _.
     

    Теперь давайте напишем программу «Hello User», а потом на ее примере я объясню, как объявлять переменные в С++. И так вот текст нашей программы:

    #include <iostream>
    #include <windows.h>
    using namespace std;

    int main()
    {
        char name[100];

        cout << "Представтесь, пожалуйста: \n";
        cin >> name;
        cout << "Привет, " <<name << "!\n";
        system("PAUSE");

        return 0;
    }

    Я хочу обратить ваше внимание на следующую строку: char name[100]; - это и есть объявление переменной. Слово char перед именем переменной сообщает компилятору, что переменная содержит символы, а в квадратных скобках после имени переменной, мы сообщаем компилятору, сколько символов мы можем ввести. Для записи одного символа мы используем один байт. Значит, наша операционная система выделяет 100 байт памяти для переменной name. Кроме слова char, которая сообщает, что переменная name содержит данные символьного типа, есть и другие: int, float, double, long, bool. С помощью этих слов мы можем сообщить компилятору, что наша переменная будет хранить целые числа (целочисленный тип), дробное число (плавающее число, и число двойной точности) или логическое значение. Но о них речь пойдет в следующих уроках. Переменные можно объявлять в любом месте программы, но обязательно до их первого использования. Иначе компилятор выдаст ошибку.  А сейчас давайте вернемся к нашей программе «Hello User».

    В нашей программе есть следующая строка: «cin >>name;». В ней мы даем программе инструкцию данные, введенные с клавиатуры записать в переменную name.

    Если вы выполняете эту программу не в Dev C++ с установленными библиотеками русификации вывода, то всего вероятней у вас получиться что-то похожее на рисунке1.

    Рисунок 1

       Рисунок 1.

    Выход из этого переписать нашу программу следующим образом:

    #include <iostream>
    #include <windows.h>
    using namespace std;

    char* Rus(const char* text);

    int main()
    {
        char name[100];

        cout << Rus("Представьтесь, пожалуйста: \n");
        cin >>name;
        cout <<Rus("Привет ");
        cout << name;
        cout <<Rus("!\n");
        system("PAUSE");

        return 0;
    }
    //////////////////////////////////////////
    char bufRus[256];
    char* Rus(const char* text)
    {
        CharToOem(text, bufRus);
        return bufRus;
    }
    //////////////////////////////////////////

    Ну вот пока и все.

    Категория: C++ | Добавил: stranger140569 (13.03.2012)
    Просмотров: 16928 | Комментарии: 11 | Рейтинг: 3.2/4
    Всего комментариев: 6
    6 Las Systems  
    0
    Спасибо за помощь в этом вопросе. Я не знал этого.

    5 avenue17  
    0
    подробнее, плиз. Что за ошибка?

    4 avenue18  
    0
    Замечательно, весьма ценная штука

    3 Manki  
    0
    что бы писать по русски нормально ,используйте
    setlocale(LC_ALL,"Russian");

    пример:
    #include <iostream>
    using std::cout;
    using std::cin;
    using std::endl;

    int main()
    {
    setlocale(LC_ALL,"Russian");
    cout << "дарова пацаны";
    _geth();
    retun 0;
    }

    2 caredj  
    0
    Спасибо!

    1 ник2112ник  
    0
    Ну это другое дело а то пробиваю прогерство с нуля а там сплошные термины

    Имя *:
    Email *:
    Код *:
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz