Главная страница
Навигация по странице:

  • Список использованной литературы и материалов

  • Ключевое понятие в языке C++ – класс.

  • 1.Основные понятия языков C и C++. Типы данных 1.1Типы данных языка C и C++

  • 1.4 Структура программы на языке C

  • 1.5. Управляющие последовательности

  • методичка. Языки C, C++ (1). Методическое пособие для учащихся Москва 2017 Оглавление 2 удк ббк хлебников А. А


    Скачать 2.43 Mb.
    НазваниеМетодическое пособие для учащихся Москва 2017 Оглавление 2 удк ббк хлебников А. А
    Анкорметодичка
    Дата18.09.2022
    Размер2.43 Mb.
    Формат файлаpdf
    Имя файлаЯзыки C, C++ (1).pdf
    ТипМетодическое пособие
    #683739
    страница1 из 6
      1   2   3   4   5   6

    Оглавление
    1
    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ
    ФЕДЕРАЦИИ
    МОСКОВСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
    Хлебников А.А., Каширская Е.Н., Набатов С.И.,
    Розов Н.О.
    Язык C/C++
    Методическое пособие для учащихся
    Москва — 2017

    Оглавление
    2
    УДК ___
    ББК ___
    _ ___
    Хлебников А.А. Язык C/C++ [Электронный ресурс]:
    Методическое пособие/ Хлебников А.А., Каширская Е.Н., Набатов
    С.И., Розов Н.О.
    Аннотация. (указывается вид учебно-научного материала) …


    Указывается предназначение учебно-научного материала (определяется место в учебно-научном процессе в МИРЭА)


    (Указывается вид учебно-научного материала) издается в авторской редакции.
    Авторский коллектив: Хлебников Андрей Александрович, Каширская Елизавета
    Натановна, Набатов Сергей Игоревич, Розов Никита Олегович.
    Рецензенты:
    Фамилия Имя Отчество, ученая степень, ученое звание, занимаемая должность, структурное подразделение, название организации
    Фамилия Имя Отчество, ученая степень, ученое звание, занимаемая должность, структурное подразделение, название организации
    Минимальный системные требования:
    Поддерживаемые ОС: Windows 2000 и выше.
    Память: ОЗУ 128МБ.
    Жесткий диск: 20 Мб.
    Устройства ввода: клавиатура, мышь.
    Дополнительные программные средства: Программа Adobe Reader.
    Подписано к использованию по решению Редакционно-издательского совета Московского технологического университета от (дата в формате ДД.ММ.ГГГГ)
    Объем: __ Мб
    Тираж: 1
    ISBN _____________________
    ©
    А.А. Хлебников, Е.Н. Каширская, С.И. Набатов , Н.О. Розов, 2017
    ©
    Московский технологический университет, 2017

    Оглавление
    3
    Оглавление
    Список литературы ............................................................................................. 4
    Сведения об авторах ........................................................................................... 5
    Введение ............................................................................................................... 6 1.Основные понятия языков C и C++. Типы данных ...................................... 8 2.Циклы и ветвления ......................................................................................... 15
    Практическая работа №1 .................................................................................. 21 3. Функции ......................................................................................................... 23 4. Структуры: ..................................................................................................... 28 5. Перечисления ................................................................................................. 32
    Практическая работа №2 .................................................................................. 33 6. Указатели ....................................................................................................... 35 7. Массивы и строки .......................................................................................... 44
    Практическая работа №3: ................................................................................. 49 8. Работа с файлами в C .................................................................................... 55 9. Препроцессор ................................................................................................. 65 10. Аргументы командной строки ................................................................... 80 11. Введение в объектно-ориентированное программирование .................. 81 12. Классы .......................................................................................................... 85 13. Конструкторы и деструкторы .................................................................... 87 14. Наследование ............................................................................................... 89 15. Явное и неявное преобразование типов в C++ ........................................ 91 16. Перегрузка операций .................................................................................. 92 17. Перегрузка функций ................................................................................... 94 18. Потоки ввода и вывода ............................................................................... 95 19.Шаблоны ..................................................................................................... 103
    Приложение ..................................................................................................... 108
    Лабораторные работы ..................................................................................... 113

    Оглавление
    4
    Список использованной литературы и материалов
    1.
    Р. Лафоре «Объектно-ориентированное программирование в
    С++», 4-е издание, изд. «Питер»
    2. http://netlib.narod.ru/library/book0003/ch04_11. htm
    3. http://natalia.appmat.ru/c&c++/compito1. html.

    Оглавление
    5
    Сведения об авторах
    Фамилия_1 Имя Отчество, ученая степень, ученое звание, занимаемая должность, структурное подразделение
    (возможны дополнительные сведения, включая фотографию)
    Фамилия_2 Имя Отчество, ученая степень, ученое звание, занимаемая должность, структурное подразделение
    (возможны дополнительные сведения, включая фотографию)
    Фамилия_3 Имя Отчество, ученая степень, ученое звание, занимаемая должность, структурное подразделение
    (возможны дополнительные сведения, включая фотографию)

    Оглавление
    6
    Введение
    Среди современных языков программирования язык C является одним из наиболее распространенных. Язык C универсален, однако наиболее эффективно его применение в задачах системного программирования – разработке трансляторов, операционных систем, инструментальных средств. Язык C хорошо зарекомендовал себя эффективностью, лаконичностью записи алгоритмов, логической стройностью программ. Во многих случаях программы, написанные на языке C, сравнимы по скорости с программами, написанными на
    Ассемблере, при этом они более наглядны и просты в сопровождении.
    Язык C имеет ряд существенных особенностей, которые выделяют его среди других языков программирования. В значительной степени на формирование идеологии языка повлияла цель, которую ставили перед собой его создатели – обеспечение системного программиста удобным инструментальным языком, который мог бы заменить Ассемблер. В результате появился язык программирования высокого уровня, обеспечивающий необычайно легкий доступ к аппаратным средствам компьютера. С одной стороны, как и другие современные языки высокого уровня, язык C поддерживает полный набор конструкций структурного программирования, модульность, блочную структуру программы. С другой стороны, язык C имеет ряд низкоуровневых черт.
    Перечислим некоторые особенности языка C.
    В языке C реализован ряд операций низкого уровня. Некоторые из таких операций напрямую соответствуют машинным командам, например, поразрядные операции или операции ++ и −−. Базовые типы данных языка
    C отражают те же объекты, с которыми приходится иметь дело в программе на Ассемблере – байты, машинные слова и т.д. Несмотря на наличие в языке C развитых средств построения составных объектов
    (массивов и структур), в нем практически отсутствуют средства для работы с ними как с единым целым. Язык C поддерживает механизм указателей на переменные и функции. Указатель – это переменная, предназначенная для хранения машинного адреса некоторой переменной или функции. Поддерживается арифметика указателей, что позволяет осуществлять непосредственный доступ и работу с адресами памяти практически так же легко, как на Ассемблере. Использование указателей позволяет создавать высокоэффективные программы, однако требует от

    Оглавление
    7 программиста особой осторожности. Как никакой другой язык программирования высокого уровня, язык C «доверяет» программисту.
    Даже в таком существенном вопросе, как преобразование типов данных, налагаются лишь незначительные ограничения. Однако это также требует от программиста осторожности и самоконтроля. Несмотря на эффективность и мощность конструкция языка C, он относительно мал по объему. В нем отсутствуют встроенные операторы ввода/вывода, динамического распределения памяти, управления процессами и т.п., однако в системное окружение языка C входит библиотека стандартных функций, в которой реализованы подобные действия. Язык C++ – это язык программирования общего назначения, цель которого – сделать работу серьёзных программистов более приятным занятием. За исключением несущественных деталей, язык C++ является надмножеством языка С.
    Помимо возможностей, предоставляемых языком С, язык C++ обеспечивает гибкие и эффективные средства определения новых типов.
    Язык программирования служит двум взаимосвязанным целям: он предоставляет программисту инструмент для описания подлежащих выполнению действий и набор концепций, которыми оперирует программист, обдумывая, что можно сделать. Первая цель в идеале требует языка, близкого к компьютеру, чтобы все важные элементы компьютера управлялись просто и эффективно способом, достаточно очевидным для программиста. Язык С создавался на основе именно от этой идеи. Вторая цель в идеале требует языка, близкого к решаемой задаче, чтобы концепции решения могли быть выражены понятно и непосредственно.
    Эта идея привела к пополнению языка С свойствами, превратившими его в язык C++.
    Ключевое понятие в языке C++ – класс. Классы обеспечивают сокрытие информации, гарантированную инициализацию данных, неявное преобразование определяемых пользователем типов, динамическое определение типа, контроль пользователя над управлением памятью и механизм перегрузки операторов. Язык C++ предоставляет гораздо лучшие, чем язык С, средства для проверки типов и поддержки модульного программирования. Кроме того, язык содержит усовершенствования, непосредственно не связанные с классами, такие как: символические константы, встраивание функций в место вызова, параметры функций по умолчанию, перегруженные имена функций, операторы управления свободной памятью и ссылки. Язык C++ сохраняет способность языка С эффективно работать с аппаратной частью на уровне битов, байтов, слов,

    Оглавление
    8 адресов и т.д. Это позволяет реализовывать пользовательские типы с достаточной степенью эффективности.
    1.Основные понятия языков C и C++. Типы данных
    1.1Типы данных языка C и C++
    Имя
    Размер
    Представляемые
    Значения
    Диапазон bool
    1 байт
    Логические
    False,true char
    1 байт
    Символ ASCII
    От 0 до 255 wchar_t
    2 байта
    Символы Unicode
    От 0 до 65535 short int
    2 байта
    Целые числа
    От -32768 до
    32767 int
    4 байта
    Целые числа
    От –
    2147483648 до
    2147483647 long int
    4 байта
    Целые числа
    От –
    2147483648 до
    2147483647 unsigned char
    1 байт
    Символы и целые числа
    От 0 до 255 unsigned short int
    2 байта
    Целые числа
    От 0 до 65535 unsigned int
    4 байта
    Целые числа
    От 0 до
    4294967295 unsigned long int
    4 байта
    Целые числа
    От 0 до
    4294967295 float
    4 байта
    Вещественные числа
    Oт 3.4e–38 до
    3.4e+38. double
    8 байт
    Вещественные числа
    От 2.2е-308 до
    1.8е+308

    Оглавление
    9
    1.2 Комментарии
    Комментарий – это последовательность символов, которая игнорируется компилятором языка C/C++.
    В C и C++ есть два вида комментариев: первый – построчный, второй многострочный.
    Для объявления построчного комментария нужно написать последовательность символов «//». Закрывать ее не требуется.
    Для создания многострочного комментария нужно объявить такую последовательность символов - /* */. Первая группа символов открывает многострочный комментарий, вторая – закрывает.
    Комментарии не могут быть вложенными!

    Оглавление
    10
    1.3.Операторы
    Арифметические операторы:
    Операция (выражение)
    Оператор
    Синтаксис выражения
    Присваивание
    = a=b
    Сложение
    + a+b
    Вычитание
    - a-b
    Умножение
    * a*b
    Деление
    / a/b
    Остаток от деления целых чисел
    % a%b
    Инкремент
    Префиксная
    ++
    ++a
    Постфиксная a++
    Декремент
    Префиксная
    --
    --a
    Постфиксная a--
    Все вышеописанные операции вам знакомы, есть смысл пояснить лишь, как работает префиксная и постфиксная форма записи инкремента и декремента.
    Префиксная форма записи означает, что инкремент (декремент) будет выполнен первым. Постфиксная форма записи, в свою очередь, означает, что инкремент (декремент) будет выполнен последним.
    Пример: a= b* ++c - в данном случае инкрементирование выполнится перед умножением.
    Операторы сравнения:
    Операция (выражение)
    Оператор
    Синтаксис выражения

    Оглавление
    11
    Равенство
    == a==b
    Неравенство
    != a!=b
    Больше
    > a>b
    Меньше
    < aБольше или равно
    >= a>=b
    Меньше или равно
    <= a<=b
    Логические операторы:
    Операция (выражение)
    Оператор
    Синтаксис выражения
    Логическое НЕ
    !
    !a
    Логическое И
    && a&&b
    Логическое ИЛИ
    || a||b
    Перед приоритетом операций есть смысл поговорить о составном присваивании. В языке C/C++ есть одна удобная вещь. Часто приходится увеличивать некую переменную и присваивать новое значение переменной a. Это неудобно. Потому было создано составное присваивание.
    Пример: a+=b - Это означает, что к старому значению aприбавили b, а после - присвоили a.
    Приоритет операций:
    Тип операций
    Операции
    Приоритет
    Унарные
    !, ++, --, +, -
    Высший
    Арифметические
    Мультипликативные: *, /, %
    Аддитивные: +, -
    Отношения
    Неравенства: <, >, <=, >=
    Равенства: ==, !=
    Логические
    &&, ||
    Присваивания
    =, +=, -=, *=, /=, %=
    Низший

    Оглавление
    12

    Оглавление
    13
    1.4 Структура программы на языке C:
    Функция main():
    Первым исполненным оператором становится первый оператор функции main(). При запуске программы управление всегда передается функции main(). При попытке запустить программу без данной функции, компилятор выдаст сообщение об ошибке.
    Директивы:
    Первая строка, с которой начинается верхний код, является директивами. Эта строка – директива препроцессора.
    #include является директивой препроцессора, и в отличие от оператора, который дает компьютеру указание что-либо сделать, директива указывает компилятору.
    Файл, включаемый с помощью директивы #include –заголовочный файл.
    Функции ввода и вывода:
    В языке C используются функции printf() и scanf() для вывода и ввода соответственно. Для того, чтобы эти функции работали, надо подключить библиотеку .

    Оглавление
    14
    1.5. Управляющие последовательности
    Управляющая последовательность означает, что символ \
    «управляет» интерпретацией следующих за ним символов последовательности.
    Управляющая последовательность
    Символ
    \a
    Звонок
    \b
    Возврат на шаг
    \t
    Горизонтальная табуляция
    \n
    Переход на новую строку
    \v
    Вертикальная табуляция
    \r
    Возврат каретки
    \f
    Перевод формата
    \”
    Кавычки
    \’
    Апостроф
    \0
    Ноль-символ
    \\
    Обратная дробная черта
    \ddd
    Восьмеричный код символа
    \xddd
    Шестнадцатеричный код символа

    Оглавление
    15
    2.Циклы и ветвления
    Важным элементом любого языка программирования являются циклы. Допустим, вам нужно выполнить некоторый участок код n-ное число раз, было бы довольно неудобно писать его n раз(а если учесть, что иногда требуется повторы в десятки тысяч раз и более, то вообще невозможно). Поэтому язык С предоставляет возможность использования циклов.
    2.1 Цикл For
    Давайте взглянем на следующую программу:
    При запуске она выдает: 1 2 3 4 5 6 7 8 9 10. Что же происходит?
    После ключевого слова for открываются скобки, и до 1 точки с запятой располагается определение переменной счетчика – int i = 1 –это инициализирующее выражение. Далее ставится условие проверки – i<=10, логично, что как только i станет равно 11 цикл прекратиться. Изменением i занимается инкрементирующее выражение – i++. Чтобы это было легче понять, взглянем на блок-схему:

    Оглавление
    16
    Как видно из примера данный цикл чаще всего используется, когда количество повторений уже известно.
    Так же следует добавить, что не всегда цикл for имеет инкрементирующее выражение, условие проверки или инициализирующее выражение. Иногда одно, два или даже все три части могут пропускаться, при этом точки с запятой всегда должны быть на своих местах!

    Оглавление
    17
    2.2 Цикл while
    Следующим на очереди является цикл с предусловием - while. Далее код:
    Данный цикл, выглядит как упрощение for, так как имеет лишь условие проверки.
    В данном случае программа просит пользователя ввести ряд целых чисел, а когда он будет завершен ввести 0. И выводит на экран сумму, что посчитал.

    Оглавление
    18
    2.3 Цикл do
    Последний из циклов- do. Этот цикл с постусловием часто применяется, когда участок кода должен быть выполнен как минимум 1 раз. В остальном же сильно походит на while.
    Пример кода:
    Обратите внимание на точку с запятой, которая в данном цикле является необходимой.
    Данный код делает то же, что и предыдущий.

    Оглавление
    19
    2.4 Оператор if.. else
    Еще одним базовым аспектом любого языка программирования являются ветвления. Они помогают программе выбрать путь исполнения, основываясь на имеющихся у нее данных. Самым простым оператором ветвления является if, он просто проверяет, выполняется ли условие, и если да –то исполняет свой блок.
    Пример:
    Этот код проверяет больше ли число, которое ввел пользователь, цифры 5.
    Логично, что если есть реакция на ввод числа больше 5, то должна быть и на меньшее число, здесь поможет добавление else:
    Этот код проверяет больше или меньше число, которое ввел пользователь, цифры 5.

    Оглавление
    20
      1   2   3   4   5   6


    написать администратору сайта