4380

Введение в программирование на С++

Лабораторная работа

Информатика, кибернетика и программирование

Введение в программирование на С++ Цель: получить основы программирования на С++ ознакомится с созданием простейшей программы в консольном режиме понять что такое переменная и её назначение, научится выводить информацию на экран. Теоретический мат...

Русский

2012-11-18

427 KB

9 чел.

Введение в программирование на С++

Цель: получить основы программирования на С++; ознакомится с созданием простейшей программы в консольном режиме; понять что такое переменная и её назначение, научится выводить информацию на экран.

Теоретический материал

Алфавит и лексемы языка С++. В алфавит входят:

1

Прописные и строчные буквы латинского алфавита A-Z, a-z

2

Цифры: 0 1 2 3 4 5 6 7 8 9 0

3

Специальные знаки:

“ { } , | [ ] ( ) + - / % \ ;

‘ : ? < = > _ ! & # ~ ^ . *

Переменная. Переменная — это место в памяти компьютера, где можно размещать хранимое значение, а затем извлекать его. Значение, которое хранится в переменной, можно изменять, перезаписывать.

Синтаксис объявления переменной. Для объявления переменной необходимо соблюдать следующий синтаксис:

Тип_ переменной Имя_Переменной;

Пример:

int x;

double fon;

или

Тип_переменной Имя_Переменной_1, Имя_Переменной_2, Имя_Переменной_3;

Пример:

int z,p,r;

При объявлении переменной можно её инициализировать, то есть записать данные в нашу переменную:

Тип_ переменной Имя_Переменной=значение;

Пример:

double pi=3,14;

или

Тип_переменной Имя_Переменной_1=значение_1,

Имя_Переменной_2=значение_2,

Имя_Переменной_3=значение_3;

Пример:

int A=90,B=-89;C=0;

Правило задания написания имён переменных.

В задании имени переменной можно использовать:

  •  буквы латинского алфавита;
  •  десятичные цифры;
  •  символы подчёркивания.

Примеры правильного задания имен переменных:

Res res array Array

_res _Res _array _Array

_res01 _Res01 _array_119 __Array_029

В задании имени переменной нельзя использовать:

  •  буквы русского языка (кириллицу);
  •  начинать имя с цифры;
  •  использовать пробелы в именах переменных;
  •  следующие знаки (“ { } , | [ ] ( ) + - / % \ ; ‘ : ? < = > _ ! & # ~ ^ . *)

Примеры неправильного задания имен переменных:

23Res re$ int Massиv

_r es double _arr@y переменная

_re$01 include _array  119 _#_Array_029

Замечание 1.1: идентификаторы (имена переменных), включающие два подряд символа подчёркивания (_ _), резервируются для реализаций С++ и стандартных библиотек. А идентификаторы, начинающиеся с символа подчёркивания (_), используются в реализациях языка С. Поэтому начинать выбираемые пользователем идентификаторы (имена переменных) с символа подчёркивания и двойного подчёркивания не рекомендуется, но не запрещается.

Замечание 1.2: переменные, которые имеют одинаковый синтаксис написания, например Res и res, array и Array, array и ARRAY, но различаются лишь верхним и нижним регистром, будут разными переменными, так как С/С++ чувствителен к регистру.

Комментарии. Очень часто программист, написавший программу, открыв код через некоторое время (неделю, месяц, год…) для внесения в него изменений сам не может его понять, узнать и у него может создаться такое впечатление, что этот код писал вовсе не он сам, а другой человек. Для того чтобы этого не происходило необходимо пользоваться комментариями и делать заметки в коде, чтобы код можно было в последствии быстро понять. Кроме того, код, который закомментирован, компилятор пропускает, при компоновке они также не учитываются.

В языке С++ есть два способа задания комментариев: первый способ определяет комментарий как последовательность символов, которые слева ограничены символами — /*, а справа — */. Этот тип комментария можно использовать при комментировании одновременно более одной строки.

/* означают, что это начало комментария);

*/ — конец комментария.

Пример использования многострочного комментария показан на рис.1.1

Рис.1.1: Пример использования многострочного комментария

Второй способ предназначен для комментирования только одной строки. Начало комментария считаются два «слэша» без пробелов — //. Концом комментария будет считаться конец строки.

Пример использования однострочного комментария показан на рис.1.2

Рис.1.2: Пример использования однострочного комментария

Служебные слова. В С++ есть служебные (или ключевые) слова. Это зарезервированные слова в языке С++ для специального использования. Эти слова необходимо запомнить и ни в коем случае нельзя использовать в качестве произвольных имен переменных и функций. Ниже перечислены ключевые слова С++:

asm

double

new

switch

auto

else

operator

template

break

enum

private

this

case

extern

protected

throw

catch

float

public

try

char

for

register

typedef

class

friend

return

typeid

const

goto

short

union

continue

if

signed

unsigned

default

inline

sizeof

virtual

delete

int

static

void

do

long

struct

volatile

while

Замечание 1.3: Перечисленные выше служебные слова нельзя использовать в качестве произвольно выбираемых имен переменных, поэтому важно знать эти слова, чтобы не допускать ошибок.

Главная функция программы. Функция main() — это главная функция программы, присутствие этой функции в программе обязательно. Практически весь основной код программы должен быть описан в этой функции. Функцию нужно писать только малыми латинскими буквами, после слова main обязательно должны присутствовать круглые скобки — (). Основной код программы должен размещаться внутри фигурных скобок {}, которые пишутся сразу после main(). Всё, что находится внутри фигурных скобок называется «телом функции».

Если перед именем главной функции программы будет написано слово int, то это означает, что функция, по завершению работы, должна вернуть целое число, то есть целочисленный результат. Для возврата результата обязательно должно присутствовать зарезервированное слово return, после которого нужно написать переменную типа int или целое число.

Если перед именем главной функции программы будет написано слово void, то это означает, что функция ничего возвращать не будет. На рисунке 1.3 приведены примеры написания главной функции программы.

Рис.1.3: Примеры написания главной функции программы

Однако допускаются следующие записи главной функции (рис.1.4):

Рис.1.4: Примеры написания главной функции программы 2-й вариант

Если при написании функции явно не указывают, что это функция будет возвращать целое число, и при этом написано слово return, то компилятор автоматически определяет эту функцию как int main(), которая возвращает целое число. При этом ни ошибок, ни предупреждений не будет.

Если же слово return не присутствует и тип возвращаемой функции явно не указан, то функция определяется как void main(). При этом ошибок не будет, а будет предупреждение следующего содержания: «warning C4508: 'main' : function should return a value; 'void' return type assumed».

Команды вывода данных на экран.

В теле главной функции написана команда cout<<”This is my first program\n”;, эта команда выполняет вывод строки This is my first program на экран. Чтобы можно было использовать команду cout необходимо с помощью директивы #include подключить заголовочный файл iostream.h, который отвечает за ввод данных и вывод данных на экран. В команде cout<<”This is my first program\n”; при выводе текста встречается символы \n, эти символы не выводятся на экран. Обратный слэш (\) называется знаком перехода или escape-символом, он свидетельствует о том, что должен выводиться «специальный» символ. Когда обратный слэш встречается в цепочке символов, следующий символ комбинируется с обратным слэшем и формирует управляющую последовательность (escape-последовательность). Управляющая последовательность \n означает новую строку. Она вызывает перемещение курсора к началу следующей строки на экране. Некоторые другие управляющие последовательности приведены в таблице 1.1.

Таблица 1.1: Некоторые управляющие последовательности и их описания.

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

Описание

\n

Новая строка. Позиционирование курсора к началу следующей строки.

\t

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

\r

Возврат каретки. Позиционирование курсора к началу текущей строки; запрет перехода к следующей строке.

\a

Сигнал тревоги. Звук системного звонка.

\\

Обратный слэш. Используется для печати символа обратного слэша.

\”

Двойные кавычки. Используют для печати символа двойных кавычек.

Как уже отмечалось, для использования команды вывода cout (а также команды ввода данных), необходимо подключить заголовочный файл с именем iostream.h. В этом файле описаны и реализованы функции, которые отвечают за ввод и вывод данных.

Этот заголовочный файл можно подключить несколькими способами:

1

#include <iostream.h>

Эта запись использовалась в старых компиляторах.

2

#includeiostream.h

Эта запись использовалась в старых компиляторах.

3

#include <ciostream>

Эта запись используется в новых компиляторах.

4

#includeciostream

Эта запись используется в новых компиляторах.

Если вы подключаете заголовочные файлы одним из следующим способом: #include <ciostream> или #includeciostream, то для использования команд ввода и вывода нужно писать std::cout либо std::cin, либо написать строку using namespace std;

Замечание 1.5: При подключении заголовочного файла часто допускают следующую ошибку – ставят точку с запятой в конце строки:

  •  #include <iostream.h>;
  •  #include “iostream.h”;
  •  #include <ciostream>;
  •  #includeciostream;

Замечание 1.6: Точка с запятой при реализации главной функции программы, как показано в следующем примере, запрещена:

int main();

{

return 0;

}

Ход работы

  1.  Запустите программный продукт С++. Появится окно программы, как показано на рис.1.5

Рис.1.5: Главное окно программы С++

  1.  Для создания нового проекта выполните команду меню FileNew или воспользуйтесь горячими клавишами <Ctrl>+<N>. После чего появится диалоговое окно как на рис.1.6

Рис.1.6: Диалоговое окно создания нового проекта (New), файла и др. документов

  1.  В появившемся диалоговом окошке перейдите на вкладку Projects, если она не активна (рис.1.6, номер 1).
  2.  Затем из предложенного списка выберите Win32 Console Application (ри.1.6, номер 2).
  3.  Задайте имя вашему проекту в поле Project name (рис.1.6, номер 3). Имена лучше давать осмысленные. Задайте имя латинскими буквами, при этом могут использоваться буквенные символы a-z, A-Z, цифры 0-9 и знак подчёркивания.
  4.  Выберите директорию, где будут сохраняться ваши проекты (рис.1.6, номер 4). После чего нажмите кнопку OK.
  5.  Далее появится диалоговое окно мастера, которое предложит выбрать тип создаваемого приложения, выберите An empty project, как показано на рис.1.7, после чего нажмите кнопку Finish.

Рис.1.7: Диалоговое окно мастера создания консольного приложения

  1.  По окончании создания проекта буде выведена информация о проекте: какой тип проекта, какие файлы были добавлены, где был сохранён проект и др. (рис.1.8). Прочитав информацию, нажмите на кнопку OK.

Рис.1.8: Информация по только что созданному проекту

  1.  Ваш проект только что был создан, но в нём нет ни одного файла. Чтобы просмотреть какие файлы включены в проект необходимо в вспомогательном окне Workspace перейти на вкладку FileView. Окно Workspace обычно отображается слева в главном окне приложения С++ (рис.1.9), но его также можно и перемещать. Если окно не отображается выполните одно из следующих действий: команда меню ViewWorkspace (<Alt>+<0>), либо на стандартной панели инструментов нажмите на иконку (при наведении на которую появится всплывающая подсказка “Workspace”). Попробуйте скрыть и отобразить окно Workspace.

Рис.1.9: Окно Workspace

  1.  Для добавления файла(ов) выполним второе действие хода лабораторной работы, то есть вызовем диалоговое окно создания проектов, файлов… Переходим на вкладку Files (рис.1.10, номер 1).

Рис.1.10: Диалоговое окно создания файлов на вкладке Files

  1.  Из предложенного списка выбираем C++ Source File (рис.1.10, номер 2).
  2.  Даём имя файлу (рис.1.10, номер 3).
  3.  Если флаг Add to project не выбран, то установите флаг, а из ниспадающего списка выберите тот проект, в который нужно добавить создаваемый файл. После чего нажмите кнопку OK.
  4.  Теперь можно писать код программы. Напишите следующий код без ошибок.

1

#include <iostream.h>

2

3

int main()

4

{

5

cout<<"This is my first program\n";

6

7

.

.

37

38

return 0;

39

}

Объяснение написанного кода:

В первой (1) строке подключаем заголовочный файл iostream.h, в котором находятся функции, отвечающие за ввод данных с клавиатуры и вывод на экран. Все заголовочные файлы подключаются с помощью директивы #include, она должна находиться перед именем заголовочного файла. Заголовочный файл можно писать в угловых скобках <> (например: <iostream.h>) и в двойных кавычках “” (например: iostream.h).

Важно: заголовочные файлы необходимо подключать в самом начале программы.

Во второй (2) строке ничего не написано, обычно строку оставляют пустой для удобочитаемости, чтобы визуально разделить программный код на части.

В третей (3) строке написана главная функция программы main(), слово int, указывает какой будет возвращаемый результат функции (здесь имеется ввиду какого типа будет возвращаемая информация: число, строка, символ, числа с плавающей запятой и т.д. (в нашем случае тип int — это небольшие целые числа [-32768; 32767])), а main это имя функции. Любая функция пишется с круглыми скобками в конце её имени, в скобках могут быть параметры, передаваемые в функцию, в нашем случае никакие параметры не передаются.

В четвёртой (4) и тридцать девятой (39) строках написаны фигурные скобки. Весь код программы должен быть написан между этими фигурными скобками (внутри них).

В пятой (5) строке написана команда cout, которая предназначена для вывода данных на экран. Эта команда имеет следующее правило написания:

cout<<"Текст, выводимый на экран";

cout<<Имя_переменной_содержащей_в_себе_данные;

В конце текста This is my first program после слова program и знаком закрывающей кавычки " стоят символы \n. \n используется для перехода на следующую строку, если бы не было написано \n, то на экране результат выглядел бы следующим образом:

This is my first programPress any key to continue,

а не так как на рис.1.10.

В тридцать восьмой (38) строке написано ключевое слово return, а после него через пробел ноль. Это указывает на то, что функция после успешного выполнения должна вернуть значение равное нулю.

  1.  Теперь одним из предложенных способов компилируем проект:
    1.  выполнением команды меню BuildCompile <имя_компилируемого_файла>;
    2.  горячими клавишами <Ctrl>+<F7>;
    3.  нажатием иконки , находящейся на панели инструментов Build MiniBar.
  2.  После успешной компиляции (если нет ошибок), приступаем к компоновке проекта, для этого выполним одно из действий:
    1.  меню BuildBuild <имя_компилируемого_файла>;
    2.  горячими клавишами <F7>;
    3.  нажатием на иконку , находящейся на панели инструментов Build MiniBar.
  3.  Если компоновка прошла успешно, можно запустить программу, для этого необходимо выполнить одно из предложенных действий:
    1.  меню BuildExecute <имя_компилируемого_файла>;
    2.  горячими клавишами <F5>;
    3.  нажатием на иконку , находящейся на панели инструментов Build MiniBar.
  4.  После запуска программы должно появиться окно консольного приложения, в котором будет выведен текст "This is my first program", а следующей строкой Press any key to continue, как показано на рис.1.11

Рис.1.11: Результат работы нами написанного консольного приложения

  1.  Напишите в коде программы в шестой (6) строке функции main(), команду, которая выведет на экран: «Это моя первая программа». Сделайте так, чтобы после предложения был перенос строки. Сравните вывод строки на экран написанной латинскими буквами и кириллицей. Сделайте выводы по наблюдениям и запишите их в тетради.
  2.  Запишите следующий код программы:

7

// Первый способ вывода предложения на экран

8

cout<<"Choose variable names that suggest the usage.\n";

  1.  Теперь выведем на экран то же самое предложение, но несколькими командами cout:

9

10

// Второй способ вывода предложения на экран

11

cout<<"Choose ";

12

cout<<"variable ";

13

cout<<"names ";

14

cout<<"that ";

15

cout<<"suggest ";

16

cout<<"the ";

17

cout<<"usage.";

18

cout<<"\n";

Сравните результат работы команды вывода одной командой cout (седьмая строка) и несколькими командами cout (восьмая – пятнадцатая строки). Сделайте выводы и запишите их в тетради.

  1.  Запишите снова то же предложение, используя одну команду cout, но несколько потоков направления вывода на экран:

19

20

// Третий способ вывода предложения на экран

21

cout<<"Choose "<<"variable "<<"names "<<"that "<<"suggest "<<"the "<<"usage."<<"\n";

Сделайте сравнение с предыдущими выводами этого же предложения (строки семь - пятнадцать). Сделайте выводы и запишите их в тетрадь.

  1.  Запишите следующий код:

22

23

// Использование табуляторов при выводе данных на экран

24

cout<<"number\t"<<"color\t"<<"code\t"<<"RGB\n";

25

cout<<"1\t"<<"red\t"<<"(1,0,0)\t"<<"RGB\n";

26

cout<<"2\t"<<"green\t"<<"(0,1,0)\t"<<"RGB\n";

27

cout<<"3\t"<<"blue\t"<<"(0,0,1)\t"<<"RGB\n";

  1.  Теперь сделайте вывод данных на экран как показано на рис.1.12

Рис.1.12: Пример вывода данных на экран

  1.  Зная как выводятся в С++ на экран символы \ и ", выведите следующие предложения отдельными строками:

Include files in C++ always have the file name extension ".hh" or ".h".

и

C:\Program Files\Outlook Express\*.*

Результат вывода строк показан на рисунке 1.13.

Рис.1.13: Результат вывода строк с использованием символов \ и "

  1.  Введите следующие строки в редакторе С++:
    cout<<3+90<<"\n";
    cout<<3-90<<"\n";
    cout<<3*90<<"\n";
    cout<<3/90<<"\n";
    cout<<0.3/90<<"\n";
    Скомпилируйте проект, соберите его и выполните. Опишите в своих тетрадях по практике действие каждой строки.
  2.  Почему при выполнении команды «cout<<3/90<<"\n";» на экран выводится ноль, а при выполнении команды «cout<<0.3/90<<"\n";» — 0.00333333 (Первый ответивший студент на этот вопрос повышает оценку на один бал).
  3.  Выполните команду «cout<<(double)3/(double)90<<"\n";», попробуйте объяснить, почему при выполнении команды «cout<<3/90<<"\n";» на экран выводится ноль, а при выполнении команды «cout<<(double)3/(double)90<<"\n";» выводится 0.0333333? (Первый ответивший студент на этот вопрос повышает оценку на один бал).

Контрольные вопросы

Что такое переменная? Правило задания имен переменных. Правило объявления переменных (объявления с инициализацией). Привести примеры.

Содержание отчёта

В рабочей тетради оформление темы и номера лабораторной работы.

Цель работы.

Задача.

Код программы написанный от руки или распечатанную на листах, вклеенных в тетрадь.

Код программы обязательно должен содержать комментарии и условие задачи.

Предоставить исходный код программы со всем проектом в целом в электронном виде.

Ответить на контрольные вопросы.

Выводы по проделанной лабораторной работы.


 

А также другие работы, которые могут Вас заинтересовать

27058. Анализ обеспеченности учреждения трудовыми ресурсами 13.33 KB
  Анализ обеспеченности учреждения трудовыми ресурсами К трудовым ресурсам относится та часть населения которая обладает необходимыми физическими данными знаниями и навыками труда в соответствующей отрасли. В частности от обеспеченности учреждения трудовыми ресурсами и эффективности их использования зависят объем и своевременность выполнения всех работ эффективность использования оборудования. Общую картину состояния и тенденции развития трудовых ресурсов учреждения дает анализ изменения среднесписочной численности работников...
27059. Нормативное регулирование бухгалтерского учета в РФ 14.67 KB
  Нормативное регулирование бухгалтерского учета в РФ Нормативное регулирование бухгалтерского учета включает: 1 нормативное правовое регулирование осуществляется нормами права содержащимися в соответствующих нормативных правовых актах; 2 методическое нормативнотехническое регулирование осуществляется методическими техническими нормами содержащимися в соответствующих актах методического нормативнотехнического характера. Первый уровень – законы Российской Федерации и указы президента РФ устанавливающие единые правовые и...
27060. Ревизия расчетов с поставщиками и подрядчиками 12.31 KB
  Ревизия расчетов с поставщиками и подрядчиками Цель установление правомерности и эффективности использования средств бюджетов при осуществлении рассветных операции с поставщиками и подрядчиками.02 N2П О безналичных расчетах в РФ Источники ревизии: 1Первичка 2регистры аналитического и синтетического учета 3отчетность учреждении 4Государственные контракты в рамках N94ФЗ О государственных закупках 5СчетФактуранакладная 6акт приема передачи выполненных работоказанных услуг 7доверенность 8денежные документы 9журнал операции с...
27061. Состав бухгалтерской отчетности НКО 14.62 KB
  Состав бухгалтерской отчетности НКО Некоммерческие организации составляют и представляют отчетность установленную законодательными и нормативными актами для юридических лиц.14 Закона о бухгалтерском учете бухгалтерская отчетность организаций за исключением отчетности бюджетных организаций а также общественных организаций объединений и их структурных подразделений не осуществляющих предпринимательской деятельности и не имеющих кроме выбывшего имущества оборотов по реализации товаров работ услуг включает: Бухгалтерский баланс; ...
27062. Учет кассовых операций 14.76 KB
  Учет кассовых операций Порядок хранения расходования и учета денежных средств в кассе установлен Инструкцией Центрального банка РФ и Инструкцией по бюджетному учету № 174н. Для учета движения наличных денежных средств в валюте Российской Федерации и в иностранной валюте в кассе учреждения используют счет 020134000 Касса . Прием в кассу наличных денежных средств от физических лиц производится по бланкам строгой отчетности утвержденным в порядке предусмотренном законодательством Российской Федерации и Приходным кассовым ордерам ф. В случае...
27063. Учет расчетов с подотчетными лицами 14.33 KB
  Учет расчетов с подотчетными лицами Подотчетными суммами называются денежные авансы выдаваемые работникам учреждения из кассы на мелкие хозяйственные расходы и на расходы по командировкам. Аналитический учет расчетов с подотчетными лицами ведется в разрезе подотчетных лиц видов выплат и видов расчетов расчеты по выданным денежным средствам расчеты по полученным денежным документам в Карточке учета средств и расчетов либо в Журнале по расчетам с подотчетными лицами. Для учета расчетов с подотчетными лицами по суммам денежных средства и...
27064. Учет расчетов по недостачам 15.83 KB
  Учет расчетов по суммам выявленных недостач и хищений денежных средств и ценностей сумм потерь от порчи материальных ценностей и других сумм подлежащих удержанию и списанию в установленном порядке осуществляют на счете 020900000 Расчеты по недостачам . Учет расчетов по недостачам хищениям ведется в соответствии с КОСГУ на следующих счетах: 020971000 Расчеты по ущербу основным средствам ; 020972000 Расчеты по ущербу нематериальным активам ; 020973000 Расчеты по ущербу непроизведенным активам ; 020974000 Расчеты по ущербу материальных...
27065. Учет удержаний из заработной платы 16.39 KB
  Учет удержаний из заработной платы Счет 30403 Расчеты по удержаниям из выплат по оплате труда Счет предназначен для учета расчетов по удержаниям из заработной платы и денежного довольствия стипендий; безналичным перечислениям на счета во вклады сотрудников учреждения; взносам по договорам добровольного страхования; взносам на пенсионное страхование; суммам членских профсоюзных взносов; исполнительным листам и другим документам. Удержания производятся на основании соответствующих документов: письменных заявлений работников договоров...
27066. Учет расчетов с поставщиками и подрядчиками 12.95 KB
  Учет расчетов с поставщиками и подрядчиками Учет расчетов учреждения с поставщиками за поставленные материальные ценности и оказанные услуги с подрядчиками за выполненные работы осуществляют на счете 030200000 Расчеты с поставщиками и подрядчиками . Аналитический учет расчетов с поставщиками за поставленные материальные ценности оказанные услуги выполненные работы ведется в Карточке учета средств и расчетов либо в Журнале операций по расчетам с поставщиками и подрядчиками в разрезе кредиторов поставщиков продавцов подрядчиков...