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

     

     

     

     

     

         
     
    Мова С
         

     

    Інформатика, програмування
    МОВА З

    Анотація.

    Мова "C" (вимовляється "сі") - це універсальна мова програмування, для якого характерні економічність вирази, сучасний потік управління і структури даних, багатий набір операторів. Мова "C" не є ні мовою "дуже високого рівня", ні "великим" мовою, і не призначається для деякої спеціальної області застосування. але відсутність обмежень і спільність мови роблять його більш зручним і ефективним для багатьох завдань, ніж мови, ймовірно більш потужні.

    Мова "C", що спочатку призначався для написання операційної системи "UNIX" на ЕОМ DEC PDP-11, був розроблений і реалізований на цій системі Деннісом Річі. Операційна система, компілятор з мови "C" і по суті всі прикладні програми системи "UNIX" (включаючи все програмне забезпечення, використане при підготовці цієї книги) написані на "C". Комерційні компілятори з мови "C" існують також на деяких інших ЕОМ, включаючи IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. Мова "C", однак, не пов'язаний з якими-небудь певними апаратними засобами або системами, і на ньому легко писати програми, які можна пропускати без змін на будь-який ЕОМ, що має "C"-компілятор.

    Ця книга призначена для того, щоб допомогти читачеві навчитися програмувати на мові "C". Вона стримає навчальний вступ, мета якого - дозволити новим користувачам почати програмувати як можна швидше, окремі розділи по всіх основних особливостей мови та довідкове керівництво. Навчання побудоване в основному на читанні, написанні і розборі прикладів, а не голою формулюванні правил. Приклади, наведені в книзі, здебільшого є закінченими реальними програмами, а не окремими фрагментами. Всі приклади були перевірені безпосередньо з тексту книги, де вони надруковані у вигляді, придатному для введення в машину. Крім вказівок про те, як зробити використання мови більш ефективним, ми також намагалися, де це можливо, проілюструвати корисні алгоритми та принципи гарного стилю і розумної розробки.

    Ця книга не є введенням до програмування; вона передбачає певне знайомство з основними поняттями програмування такими як змінні, оператори присвоювання, цикли, функції. Проте і новачок у програмуванні повинен виявитися в стані читати підряд і освоїтися з мовою, хоча при цьому була б корисною допомогу більш досвідченого колеги.

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

    Вдумлива критика та пропозиції багатьох наших друзів і колег дуже багато додали як для самої книги, так і для нашого задоволення при її написанні. Зокрема, Майк Біапсі, Джим Блю, Стью Фельдман, Доуг Мак-Ілрой, Білл Рум, Боб Розин і Ларрі Рослер ретельно прочитали безліч варіантів. Ми також зобов'язані Елю Ахо, Стіву Борну, Деву Дворак, Чаку Хелею, Деббі Хелей, Маріон Харрісу, Ріку Холт, Стіву Джонсону, Джону Машею, Бобу митця, Ральфу Мьюа, Пітеру Нельсону, Еллиоту Пінсон, Біллу Плагеру, Джеррі Співакові, Кену Томпсону і Пітеру Вейнбергеру за корисні зауваження на різних етапах і Майку Лоску і Джо Осанна за неоціненну допомогу при друкуванні книги. Брайен В. Керніган Денніс М. Річі

    0.1. Введення.

    Мова "C" є універсальною мовою програмування. Він тісно пов'язаний з операційною системою "UNIX", так як був розвинений на цій системі і тому що "UNIX" та її програмне забезпечення написано на "C". Сам мова, однак, не пов'язаний з якою-небудь однією операційною системою або машиною;

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

    Мова "C" - це мова щодо "низького рівня". У такій характеристиці немає нічого образливого, це просто означає, що "C" має справу з об'єктами того ж виду, що й більшість ЕОМ, а саме, з символами, числами і адресами.

    Вони можуть об'єднуватися і пересилатися за допомогою звичайних арифметичних і логічних операцій, що здійснюються реальними ЕОМ.

    У мові "C" відсутні операції, що мають справу безпосередньо зі складовими об'єктами, такими як рядки символів, множини, списки або з масивами, які розглядаються як ціле. Тут, наприклад, немає ніякого аналога операціях PL/1, які оперують з цілими масивами та рядками. Мова не надає ніяких інших можливостей розподілу пам'яті, окрім статичного визначення і механізму стеків, що забезпечується локальними змінних функцій; тут немає ні "куп" (HEAP), ні "збирання сміття", як це передбачається в Алгол-68. Нарешті, сам по собі "C" не забезпечує ніяких можливостей вводу-виводу: тут немає операторів READ або WRITE і ніяких вбудованих методів доступу до файлів. Всі ці механізми високого рівня повинні забезпечуватися явно викликаються функціями.

    Аналогічно, мова "C" пропонує тільки прості, послідовні конструкції потоків управління: перевірки, цикли, групування і підпрограми, але не мультипрограмування, паралельні операції, синхронізацію або співпрограми.

    Хоча відсутність деяких з цих коштів може виглядати як гнітюча неповноцінність ( "виходить, що я повинен звертатися до функції, щоб порівняти два рядки символів ?!"), але утримання мови в скромних розмірах дає реальні переваги. Так як "C" відносно малий, він не вимагає багато місця для свого опису і може бути швидко вивчений.

    Компілятор з "C" може бути простим і компактним. Крім того, компілятори легко пишуться; при використанні сучасної технології можна очікувати написання компілятора для нової ЕОМ за пару місяців і при цьому виявиться, що 80 відсотків програми нового компілятора буде спільною з програмою для вже існуючих компіляторів. Це забезпечує високий ступінь мобільності мови. Оскільки типи даних і стуктури управління, наявні в "C", безпосередньо підтримуються більшістю існуючих ЕОМ, бібліотека, необхідна під час прогону ізольованих програм, виявляється дуже маленькою.

    На PDP -11, наприклад, вона містить тільки програми для 32-бітового множення і ділення і для виконання програм введення і виведення послідовностей. Звичайно, кожна реалізація забезпечує вичерпну, сумісну бібліотеку функцій для виконання операцій введення-виведення, обробки рядків і розподілу пам'яті, але так як звернення до них здійснюється тільки явно, можна, якщо необхідно, уникнути їх виклику; ці функції можуть бути компактно написані на самому "C".

    Знову ж таки через те, що мова "C" відображає можливості сучасних комп'ютерів, програми на "C" виявляються досить ефективними, тому що не виникає спонукання писати натомість програми на мові асемблера. Найбільш переконливим прикладом цього є сама операційна система "UNIX", яка майже повністю написана на "C". З 13000 рядків програми системи тільки близько 800 рядків найнижчого рівня написані на асемблері. Крім того, по суті все прикладне програмне забезпечення системи "UNIX" написано на "C"; переважна більшість користувачів системи "UNIX" (включаючи одного з авторів цієї книги) навіть не знає мови асемблера PDP-11.

    Хоча "C" відповідає можливостям багатьох ЕОМ, він не залежить від будь-якої конкретної архітектури машини і через це без особливих зусиль дозволяє писати "перенесення" програми, тобто програми, які можна пропускати без змін на різних апаратних засобах. У наших колах став вже традицією перенесення програмного забезпечення, розробленого на системі "UNIX", на системи ЕОМ: HONEYWELL, IBM і INTERDATA. Фактично компілятори з "C" і програмне забезпечення під час прогону програм на цих чотирьох системах, мабуть, набагато більш сумісні, ніж стандартні версії Фортрану американського національного інституту стандартів (ANSI). Сама операційна система "UNIX" тепер працює як на PDP-11, так і на INTERDATA 8/32. За винятком програм, які неминуче виявляються в деякій мірі машинно-залежними, таких як компілятор, асемблер і відладчик. Написаний на мові "C" програмне забезпечення ідентично на обох машинах. Усередині самої операційної системи 7000 рядків програми, виключаючи математичне забезпечення мови асемблера ЕОМ та управління операціями вводу-виводу, збігаються на 95 відсотків.

    Програмістам, знайомим з іншими мовами, для порівняння і протиставлення може виявитися корисним згадка декількох історичних, технічних та філософських аспектів "C".

    Багато хто з найбільш важливих ідей "C" походять від набагато більше старого, але все ще цілком життєвого мови BCPL, розробленого Мартіном Річардсом. Побічно мова BCPL вплинув на "C" через мову "B", написаний Кеном Томпсоном у 1970 році для першої операційної системи "UNIX" на ЕОМ PDP-7.

    Хоча мова "C" має кілька спільних з BCPL характерних особливостей, він жодним чином не є діалектом останнього. І BCPL і "B" - "безтіпние" мови; єдиним видом даних для них є машинне слово, а доступ до інших об'єктів реалізується спеціальними операторами або зверненням до функцій. У мові "C" об'єктами основних типів даних є символи, цілі числа декількох розмірів і числа з плаваючою точкою. Крім того, є ієрархія похідних типів даних, що створюються покажчиками, масивами, структурами, об'єднаннями та функціями.

    Мова "C" включає основні конструкції потоку управління, необхідні для добре структурувати програм: групування операторів, прийняття рішень (IF), цикли з перевіркою завершення на початку (WHILE, FOR) або в кінці (DO) і вибір одного з безлічі можливих варіантів (SWITCH). (Всі ці можливості забезпечувалися і в BCPL, хоча і за кілька відмінному синтаксисі; ця мова передчував що наступила через кілька років моду на структурний програмування).

    У мові "C" є вказівники і можливість адресної арифметики. Аргументи передаються функцій за допомогою копіювання значення аргументу, і викликана функція не може змінити фактичний аргумент на що викликає програмі. Якщо бажано добитися "виклику за посиланням", можна неявно передати вказівник, і функція зможе змінити об'єкт, на який цей покажчик вказує. Імена масивів передаються зазначенням початку масивів, так що аргументи на кшталт масивів ефективно викликаються за посиланням.

    До будь-якої функції можна звертатися рекурсивно, і її локальні змінні звичайно "автоматичні", тобто Створюються заново при кожному зверненні. Опис однієї функції не може міститися всередині іншого, але змінні можуть описуватися відповідно до звичайної блокової структурою. Опції в "C" програмі можуть транслюватися окремо. змінні по відношенню до функції можуть бути внутрішніми, зовнішніми, але відомими тільки в межах одного вихідного файлу, або повністю глобальними. Внутрішні змінні можуть бути автоматичними або статичними. Автоматичні змінні для більшої ефективності можна поміщати в регістри, але оголошення регістра є тільки вказівкою для компілятора і ніяк не пов'язане з конкретними машинними регістрами.

    Мова "C" не є мовою до строгих типами в сенсі Паскаль чи Алгол 68. Він порівняно поблажливий до перетворення даних, хоча і не буде автоматично перетворювати типи даних з буйною невимушеністю мови PL/1.

    Існуючі компілятори не передбачають жодної перевірки під час виконання програми індексів масивів, типів аргументів і т.д.

    У тих ситуаціях, коли бажана сувора перевірка типів, використовується спеціальна версія компілятора. Ця програма називається LINT очевидно, тому вона вибирає шматочки пуху з вашої програми. Програма LINT не генерує машинного коду, а робить дуже строгу перевірку всіх тих сторін програми, які можна проконтролювати під час компіляції та завантаження. Вона визначає невідповідність типів, несумісність аргументів, невикористані або очевидним чином неініціалізовані змінні, потенційні труднощі переносимості і т.д. Для програм, які благополучно проходять через LINT, гарантується відсутність помилок типу приблизно з тією ж повнотою, як і для програм, написаних, наприклад, на Алгол-68. Інші можливості програми LINT будуть відзначені, коли випаде відповідний випадок.

    Нарешті, мова "C", подібно до будь-якої іншої мови, має свої недоліки. Деякі операції мають невдале старшинство; деякі розділи синтаксису могли б бути краще; сушествует кілька версій мови, що відрізняються невеликими деталями. Проте мова "C" зарекомендував себе як виключно ефективний і виразний мова для широкого розмаїття застосувань програмування.

    Зміст книги організовано наступним чином. Глава 1 є навчальним введенням в центральну частину мови "C".

    Мета - дозволити читачеві стартувати так швидко, як тільки можливо, тому що ми твердо переконані, що єдиний спосіб вивчити нову мову - писати нею програми. При цьому, однак, передбачається робоче володіння основними елементами програмування; тут не пояснюється, що таке ЕОМ або компілятор, не пояснюється сенс виразів типу N = N 1. Хоча ми й намагалися, де це можливо, продемонструвати корисну техніку програмування. Ця книга не призначається бути довідковим керівництвом щодо структур даних і алгоритмів;

    там, де ми змушені були зробити вибір, ми концентрувалися на язиці.

    У розділах з 2-го по 6-у різні аспекти "C" викладаються більш детально і трохи більш формально, ніж у розділі 1, хоча наголос, як і раніше робиться на розборі прикладів закінчених, корисних програм, а не на окремих фрагментах .

    У розділі 2 обговорюються основні типи даних, оператори і вирази. У розділі 3 розглядаються керуючі оператори: IF-ELSE, WHILE, FOR і т.д. Глава 4 охоплює функції і структуру програми - зовнішні змінні, правила певних областей дії опису і т.д. У главі 5 обговорюються покажчики і адресна арифметика. Глава 6 містить докладний опис структур та об'єднань.

    У главі 7 описується стандартна бібліотека вводу-виводу мови "C", яка забезпечує стандартний інтерфейс з операційною системою. Ця бібліотека введення-виведення підтримується на всіх машинах, на яких реалізовано "C", так що програми, які використовують її для вводу, виводу та інших системних функцій, можуть переноситися з однієї системи на іншу по суті без змін.

    У главі 8 описується інтерфейс між "C" - програмами і операційною системою "UNIX". Наголос робиться на введення-виведення, систему файлів і переносимість. Хоча деякі частини цієї глави специфічні для операційної системи "UNIX", програмісти, які не використовують "UNIX", все ж таки повинні знайти тут корисний матеріал, в тому числі деяке уявлення про те, як реалізована одна версія стандартної бібліотеки та пропозиції для досягнення переносимості програми.

    Додаток A містить довідкове керівництво по мові "C". Воно є "офіційним" викладом синтаксису і семантики "C" і (виключаючи чийсь власний компілятор) остаточним арбітром для всіх двозначностей і упущень у попередніх розділах.

    Так як "C" є, що розвиваються мовою, реалізованим на безлічі систем, частина матеріалу цієї книги може не відповідати цьому станом розробки на якійсь конкретній системі. Ми намагалися уникати таких проблем і застерігати про можливі труднощі. У сумнівних випадках, однак, ми зазвичай віддавали перевагу описувати ситуацію для системи "UNIX" PDP-11, так як вона є середовищем для більшості програмують на мові "C". У додатку а також описані розбіжності в реалізаціях мови "C" на основних системах.

    1. Навчальний введення.

    Давайте почнемо з швидкого введення в мову "C". Наша мета - продемонструвати суттєві елементи мови на реальних програмах, не грузнучи при цьому в деталях, формальних правил та виключень. У цій главі ми не намагаємося викласти мова повністю або хоча б суворо (зрозуміло, що наводяться приклади будуть коректними). Ми хочемо якомога швидше довести вас до такого рівня, на якому ви були б в змозі писати корисні програми, і щоб досягти цього, ми зосереджується на основному: змінних і константи, арифметики, операторів передачі управління, функ?? іях і елементарних відомостях про введення і виведення. Ми абсолютно навмисно залишаємо за межами цієї глави багато елементів мови "C", які мають першорядне значення при написанні великих програм, у тому числі покажчики, сртуктури, більшу частину з багатого набору операторів мови "C", кілька операторів передачі управління і незліченна кількість деталей .

    Такий підхід має, звичайно, свої недоліки. Найбільш істотним є те, що повний опис будь-якого конкретного елемента мови не викладається в одному місці, а пояснення, в силу стислості, можуть призвести до неправильного тлумачення. Крім того, через неможливість використовувати всю міць мови, приклади виявляються не настільки короткими і елегантними, як вони могли б бути. І хоча ми намагалися звести до мінімуму ці недоліки, все ж таки їх майте на увазі.

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

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

    1.1. Hачінаем. Єдиний спосіб освоїти нову мову програмування - писати нею програми. Перша програма, яка повинна бути написана, - один для всіх мов: надрукувати слова: HELLO, WORLD.

    Це - найбільш істотний бар'єр; щоб подолати його, ви повинні зуміти завести десь текст програми, успішно його скомпілювати, завантажити, прогнати і знайти, де виявилася ваша видача. Якщо ви навчилися справлятися з цими технічними деталями, все інше порівняно просто.

    Програма друку "HELLO, WORLD" на мові "C" має вигляд: MAIN ()

    (PRINTF ( "HELLO, WORLDN");

    ) Як пропустити цю програму - залежить від використовуваної вами системи. Зокрема, на операційній системі "UNIX" ви повинні завести вихідну програму у файлі, ім'я якого закінчується на ". C", наприклад, HELLO.C, і потім скомпілювати її по команді

    CC HELLO.C Якщо ви не допустили будь-якої недбалості, такий як пропуск символу або неправильне написання, компіляція пройде без повідомлень і буде створений виконуваний файл з ім'ям а.OUT. Прогон його по команді

    A. OUT призведе до висновку HELLO, WORLD На інших системах ці правила будуть іншими; проконсула-тіруйтесь з місцевим авторитетом.

    Вправа 1-1.

    Пропустіть цю програму на вашій системі. Спробуйте не включати різні частини програми і подивіться які повідомлення про помилки ви при цьому отримаєте.

    Тепер деякі пояснення до самій програмі. Будь-яка "C"-програма, яким би не був її розмір, складається з однієї або більше "функцій", що вказують фактичні операції комп'ютера, які повинні бути виконані. Функції в мові "C" подібні до функцій і підпрограм Фортрану та процедур PL/1, Паскаль і т.д. У нашому прикладі такою функцією є MAIN. Зазвичай ви можете давати функцій будь-які імена на ваш розсуд, але MAIN - це особливе ім'я; виконання вашої програми починається спочатку з функції MAIN. Це означає, що кожна програма повинна в якомусь місці містити функцію з ім'ям MAIN. Для виконання певних дій функція MAIN зазвичай звертається до інших функцій, частина з яких знаходиться в тій же самій програмі, а частина - в бібліотеках, що містять раніше написані функції.

    Одним способом обміну даними між функціями є передача за допомогою аргументів. Круглі дужки, наступні за ім'ям функції, містять в собі список аргументів; тут маIN - функція без аргументів, що вказується як (). Оператори, що становлять функцію, полягають у фігурні дужки (і), які аналогічні DO-END в PL/1 або BEGIN-END в Алгол, Паскаль і т.д. Звернення до функції здійснюється зазначенням її імені, за яким слідує ув'язнений в круглі дужки список аргументів. тут немає ніяких операторів CALL, як у фортране або PL/1. Круглі дужки повинні бути присутнім і в тому випадку, коли функція не має аргументів.

    Рядок

    PRINTF ( "HELLO, WORLDN");

    є зверненням до функції, яка викликає функцію з ім'ям PRINTF і аргуметом "HELLO, WORLDN". Функція PRINTF є бібліотечної функцією, яка видає вихідні дані на термінал (якщо тільки не вказано якесь інше місце призначення). У даному випадку друкується рядок символів, що є аргументом функції.

    Послідовність з будь-якої кількості символів, укладених у подвоєні лапки "...", називається 'символьної рядком' або 'рядкової константою'. Поки ми будемо використовувати символьні рядки тільки в якості аргументів для PRINTF та інших функцій.

    Послідовність N у наведеній рядку є позначенням на мові "C" для 'символу нового рядка', який служить вказівкою для переходу на терміналі до лівого краю наступного рядка. Якщо ви не включите N (корисний експеримент), то виявите, що ваша видача не закінчиться переходом терміналу на новий рядок. Використання послідовності N - єдиний спосіб введення символу нового рядка в аргумент функції PRINTF; якщо ви спробуєте щось на зразок

    PRINTF ( "HELLO, WORLD

    ");

    то "C"-компілятор буде друкувати злорадні діагностичні повідомлення про відсутніх лапках.

    Функція PRINTF не забезпечує автоматичного переходу на новий рядок, так що багаторазове звернення до неї можна використовувати для поетапної зборки вихідний рядка. Наша перша програма, що друкує ідентичну видачу, з точно таким же успіхом могла б бути написана у вигляді

    MAIN ()

    (PRINTF ( "HELLO,");

    PRINTF ( "WORLD");

    PRINTF ( "N");

    )

    Підкреслимо, що N представляє тільки один символ. Умовні 'послідовності', подібні N, дають загальний і допускає розширення механізм для представлення важких для друку або невидимих символів. Серед інших символів в мові "C" передбачені наступні: т - для табуляції, B - для повернення на одну позицію, "- для подвійної лапки і для самої зворотного косою риси.

    Вправа 1-2.

    Проведіть експерименти для того, щоб дізнатися що відбудеться, якщо в рядку, що є аргументом функції PRINTF міститиметься X, де X - деякий символ, що не входить у вищенаведений список.

    1.2. Змінні і арифметика.

    Наступна програма друкує наведену нижче таблицю температур за Фаренгейтом та їх еквівалентів за стоградусной шкалою Цельсія, використовуючи для перекладу формулу

    C = (5/9) * (F-32).

    0 -17.8

    20 -6.7

    40 4.4

    60 15.6

    ... ...

    260 126.7

    280 137.8

    300 140.9

    Тепер сама програма:/* PRINT FAHRENHEIT-CELSIUS TABLE FOR F = 0, 20, ..., 300 */MAIN ()

    (INT LOWER, UPPER, STEP;

    FLOAT FAHR, CELSIUS;

    LOWER = 0;/* LOWER LIMIT OF TEMPERATURE TABLE */UPPER = 300;/* UPPER LIMIT */STEP = 20;/* STEP SIZE */FAHR = LOWER;

    WHILE (FAHR MAX) (MAX = LEN;

    COPY ();

    ) IF (MAX> 0)/* THERE WAS A LINE */PRINTF ( "% S", SAVE);

    )

    GETLINE ()/* SPECIALIZED VERSION * /

    (INT C, I;

    EXTERN CHAR LINE [];

    FOR (I = 0; I & & (C = GETCHAR ())! = EOF & & C! = 'N'; + + I) LINE [I] = C;

    + + I;

    ) LINE [I] = '? ак символьні константи за допомогою умовних послідовностей, як, наприклад, N (новий рядок), T (табуляція),

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

     

     

     

     

     

     

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