ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Вирази і Оператори
         

     

    Інформатика, програмування

    Вирази і Оператори

    У C + + є багатий набір операцій, за допомогою яких в виразах утворюються нові значення і змінюються значення змінних. Потік управління у програмі задається за допомогою операторів, а опису використовуються для введення в програмі імен змінних, констант і т.д. Зауважте, що опису є операторами, тому вони вільно можуть поєднуватися з іншими операторами.

    Вирази

    У C + + є велике число операцій, і вони будуть пояснюватися там, де (і якщо) це буде потрібно. Слід врахувати, що операції        

    ~         

    доповнення             

    &         

    І             

    ^         

    виключає АБО             

    |         

    включає АБО             

    <<         

    логічний зсув вліво             

    >>         

    логічний зсув вправо     

    застосовуються до цілих, і що немає окремого типу даних для логічних дій.

    Сенс операції залежить від числа операндів; Унарне & є операцією взяття адреси, а бінарне & - це операція логічного І. Сенс операції залежить також від типу її операндів: + у виразі a + b означає додавання з плаваючою точкою, якщо операнди мають тип float, але ціле додавання, якщо вони типу int.

    У C + + є операція привласнення =, а не оператор привласнення, як в деяких мовах. Таким чином, надання може зустрічатися в несподіваному контексті; наприклад, x = sqrt (a = 3 * x). Це буває корисно. a = b = c означає привласнення c об'єкту b, а потім об'єкту a. Іншим властивістю операції привласнення є те, що вона може поєднуватися з більшістю бінарних операцій. Наприклад, x [i 3] *= 4 означає x [i +3] = x [i +3] * 4, за винятком того факту, що вислів x [i 3] обчислюється тільки один раз. Це дає привабливу ступінь ефективності без необхідності звернення до оптимізуючий компілятор. До того ж це більш коротко.

    У більшості програм на C + + широко застосовуються покажчики. Унарний операція * разименовивает * 3 покажчик, тобто * p є об'єкт, на який вказує p. Ця операція також називається непрямою адресацією. Наприклад, якщо є char * p, то * p є символ, на який вказує p. Часто при роботі з покажчиками бувають корисні операція збільшення + + і операція зменшення --. Припустимо, p вказує на елемент вектора v, тоді p + + робить p вказує на наступний елемент.

    Оператори Вирази

    Самий звичайний вид оператора - оператор вираз. Він складається з виразу, за яким слідує крапка з комою. Наприклад:

    a = b * 3 + c;

    cout << "go go go";

    lseek (fd, 0,2);

    Порожній оператор

    Найпростішим формою оператора є порожній оператор:

    ;

    Він не робить нічого. Однак він може бути корисний у тих випадках, коли синтаксис вимагає наявність оператора, а вам оператор не потрібен.

    Блоки

    Блок - це можливо порожній список операторів, укладений у фігурні дужки:

    (a = b 2; b + +;)

    Блок дозволяє розглядати кілька операторів як один. Область видимості імені, описаного в блоці, тягнеться до кінця блоку. Назва можна зробити невидимим за допомогою описів такого ж імені у внутрішніх блоках.

    Оператори if

    Програма в наступному прикладі здійснює перетворення дюймів в сантиметри і сантиметрів у дюйми; передбачається, що ви вкажете одиниці вимірювання даних, що вводяться, додаючи i для дюймів і c для сантиметрів:

    # include

    main ()

    (

    const float fac = 2.54;

    float x, in, cm;

    char ch = 0;

    cout << "Введіть довжину:";

    cin>> x>> ch;

    if (ch == "i") (//inch - дюйми

    in = x;

    cm = x * fac;

    )

    else if (ch == "c")// cm - сантиметри

    in = x/fac;

    cm = x;

    )

    else

    in = cm = 0;

    cout <

    )

    Зауважте, що умова в операторі if повинно бути укладено в круглі дужки.

    Оператори switch

    Оператор switch виробляє зіставлення значення з безліччю констант. Перевірки в попередньому прикладі можна записати так:

    switch (ch) (

    case "i":

    in = x;

    cm = x * fac;

    break;

    case "c":

    in = x/fac;

    cm = x;

    break;

    default:

    in = cm = 0;

    break;

    )

    Оператори break застосовуються для виходу з оператора switch. Константи у варіантах case повинні бути різними, і якщо перевіряти значення не збігається з жодною з констант, вибирається варіант default. Програмістові не обов'язково передбачати default.

    Оператор while

    Розглянемо копіювання рядки, коли задані покажчик p на її перший символ і покажчик q на цільову рядок. За угодою рядок закінчується символом з цілим значенням 0.

    while (p! = 0) (

    * q = * p;// скопіювати символ

    q = q 1;

    p = p +1;

    )

    * q = 0;// завершальний символ 0 скопійований не був

    Наступний після while умова повинна бути укладена у круглі дужки. Умова обчислюється, і якщо його значення не нуль, виконується безпосередньо наступний за ним оператор. Це повторюється до тих пір, поки обчислення умови не дасть нуль.

    Цей приклад дуже широка. Можна використовувати операцію + + для безпосереднього зазначення збільшення, і перевірка спроститься:

    while (* p) * q + + = * p ++;

    * q = 0;

    де конструкція * p + + означає: "взяти символ, на який вказує p, потім збільшити p. "

    Приклад можна ще спростити, так як покажчик p разименовивается двічі за кожен цикл. Копіювання символу можна робити тоді ж, коли проводиться перевірка умови:

    while (* q + + = * p + +);

    Тут береться символ, на який вказує p, p збільшується, цей символ копіюється туди, куди вказує q, і q збільшується. Якщо символ ненульовий, цикл повторюється. Оскільки вся робота виконується в умові, не потрібно ні одного оператора. Щоб вказати на це, використовується порожній оператор. C + + (як і C) одночасно люблять і ненавидять за можливість такого надзвичайно короткого орієнтованого на виразність програмування.

    Оператор for

    Розглянемо копіювання десяти елементів одного вектора в інший:

    for (int i = 0; i <10; i + +) q [i] = p [i];

    Це еквівалентно

    int i = 0;

    while (i <10) (

    q [i] = p [i];

    i ++;

    )

    але більш легкість для читання, оскільки вся інформація, управляє циклом, локалізована. При застосуванні операції + + до цілої змінної до неї просто додається одиниця. Перша частина оператора for не обов'язково повинна бути описом, вона може бути будь-яким оператором.

    Наприклад:

    for (i = 0; i <10; i + +) q [i] = p [i];

    теж еквівалентно попереднього запису за умови, що i відповідним чином описано раніше.

    Описи

    Опис - це оператор, що вводить ім'я в програмі. Воно може також ініціалізувати об'єкт з такою назвою. Виконання опису означає, що коли потік управління доходить до опису, обчислюється ініціалізує вираз (ініціалізатор) і виробляється ініціалізація. Наприклад:

    for (int i = 1; i

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.realcoding.net

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status