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 |
#include “iostream.h” |
Эта запись использовалась в старых компиляторах. |
3 |
#include <ciostream> |
Эта запись используется в новых компиляторах. |
4 |
#include “ciostream” |
Эта запись используется в новых компиляторах. |
Если вы подключаете заголовочные файлы одним из следующим способом: #include <ciostream> или #include “ciostream”, то для использования команд ввода и вывода нужно писать std::cout либо std::cin, либо написать строку using namespace std;
Замечание 1.5: При подключении заголовочного файла часто допускают следующую ошибку ставят точку с запятой в конце строки:
Замечание 1.6: Точка с запятой при реализации главной функции программы, как показано в следующем примере, запрещена:
int main();
{
return 0;
}
Ход работы
Рис.1.5: Главное окно программы С++
Рис.1.6: Диалоговое окно создания нового проекта (New), файла и др. документов
Рис.1.7: Диалоговое окно мастера создания консольного приложения
Рис.1.8: Информация по только что созданному проекту
Рис.1.9: Окно Workspace
Рис.1.10: Диалоговое окно создания файлов на вкладке Files
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.11: Результат работы нами написанного консольного приложения
7 |
// Первый способ вывода предложения на экран |
8 |
cout<<"Choose variable names that suggest the usage.\n"; |
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 (восьмая пятнадцатая строки). Сделайте выводы и запишите их в тетради.
19 |
|
20 |
// Третий способ вывода предложения на экран |
21 |
cout<<"Choose "<<"variable "<<"names "<<"that "<<"suggest "<<"the "<<"usage."<<"\n"; |
Сделайте сравнение с предыдущими выводами этого же предложения (строки семь - пятнадцать). Сделайте выводы и запишите их в тетрадь.
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.12: Пример вывода данных на экран
Include files in C++ always have the file name extension ".hh" or ".h".
и
C:\Program Files\Outlook Express\*.*
Результат вывода строк показан на рисунке 1.13.
Рис.1.13: Результат вывода строк с использованием символов \ и "
Контрольные вопросы
Что такое переменная? Правило задания имен переменных. Правило объявления переменных (объявления с инициализацией). Привести примеры.
Содержание отчёта
В рабочей тетради оформление темы и номера лабораторной работы.
Цель работы.
Задача.
Код программы написанный от руки или распечатанную на листах, вклеенных в тетрадь.
Код программы обязательно должен содержать комментарии и условие задачи.
Предоставить исходный код программы со всем проектом в целом в электронном виде.
Ответить на контрольные вопросы.
Выводы по проделанной лабораторной работы.
А также другие работы, которые могут Вас заинтересовать | |||
72501. | ЛОГИСТИЧЕСКИЙ КОНТРОЛЛИНГ В СИСТЕМЕ УПРАВЛЕНИЯ ЗАТРАТАМИ | 479 KB | |
В рыночных условиях объемы продаж и цены подвержены колебаниям поэтому уровень покрытия затрат доходами получается Разным и по видам продукции покупателям и по группам расходов и по отчетным периодам. Сложность контроллинга связана с классификацией затрат. | |||
72502. | ФИНАНСОВЫЕ РЕСУРСЫ ЛОГИСТИЧЕСКИХ СИСТЕМ И УПРАВЛЕНИЕ ИМИ | 594.5 KB | |
Собственные финансовые ресурсы организации выступают в виде прибыли амортизационных отчислений накоплений и сбережений физических и юридических лиц. Для стран с развитой рыночной экономикой уровень самофинансирования на фирмах считается достаточно высоким если удельный вес собственных... | |||
72503. | УПРАВЛЕНИЕ ЗАТРАТАМИ НА ОСНОВЕ ФУНКЦИОНАЛЬНО-СТОИМОСТНОГО АНАЛИЗА | 241.5 KB | |
Цель функционально-стоимостного анализа ФСА состоит в поиске возможностей реализации функций в данном случае ЛС при оптимальных затратах и обеспечении высоких требований к качеству безопасности и рыночной привлекательности товаров и услуг. | |||
72504. | АНАЛИЗ ЛОГИСТИЧЕСКИХ ИЗДЕРЖЕК И СЕБЕСТОИМОСТИ ТОВАРА | 1.01 MB | |
Основной задачей анализа логистических затрат является изыскание путей их снижения. Для определения влияния статей затрат на их общее значение нужна группировка затрат. В ходе анализа выявляются конкретные причины изменения затрат, связь с себестоимостью и другими экономическими... | |||
72505. | ПУТИ ОПТИМИЗАЦИИ ЛОГИСТИЧЕСКИХ ИЗДЕРЖЕК В ЦЕПОЧКАХ ЦЕННОСТИ | 1.57 MB | |
В рамках фирмы обычно реализуется только часть этапов в системе формирования ценностей. Цепочка ценностей стоимостей для каждой фирмы уникальна. Организации связанные одной и той же цепочкой ценностей постоянно взаимодействуют между собой. | |||
72506. | УЧЕТ ЛОГИСТИЧЕСКИХ ИЗДЕРЖЕК | 1.17 MB | |
Вопросы учета и анализа логистических издержек с целью их минимизации представляют наибольшую сложность по сравнению с другими видами затрат. Взаимосвязь цен объема продаж и рентабельности Управление затратами служит средством достижения предприятием высоких экономических результатов... | |||
72507. | ТРАНСАКЦИОННЫЕ ИЗДЕРЖКИ В ЛС | 431 KB | |
В ЛС Процесс производства всегда требует определенных затрат но в ЛС где действуют несколько организаций-участников помимо внутренних издержек возникают и трансакционные издержки к которым относятся все затраты на взаимосвязи в цепи поставок помимо собственных издержек производства торговли и сферы услуг. | |||
72508. | Логистические затраты | 238.5 KB | |
Для управления конкретными логистическими процессами в том числе транспортировкой закупкой запасами необходимо знать факторы учитываемые при оптимизации определенных решений. Например: при расчете оптимального объема поставляемой партии необходимо знать: затраты на формирование запасов и или затраты на заказ... | |||
72509. | ВИДЫ И ИСТОЧНИКИ ВОЗНИКНОВЕНИЯ ЛОГИСТИЧЕСКИХ ИЗДЕРЖЕК | 99 KB | |
Логистические процессы охватывающие как материальные и информационные процессы так и отдельные элементы финансовых процессов приводят к возникновению определенных затрат которые в хозяйственной практике не всегда отождествляются с затратами в строгом понимании этого термина. | |||