Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Имя_типа список_идентификаторов;




Программу сохранить под своей фамилией сбросить на флешку преподавателю.

Структура программы на языке С++

Программа на языке С++ есть последовательность директив препроцессора, объявлений глобальных констант, типов данных, переменных, функций (вспомогательных алгоритмов) и операторов.

В каждой программе должна быть объявлена функция с именем main, именно с неё начинается выполнение программ на языке С++.

Объявление функции может иметь следующий вид:

Тип_результата имя_функции (список_аргументов)

{ тело функции, которое может состоять из:

· объявлений локальных констант, типов данных, переменных,

· операторов и операций.

}

Объявлять внутри функции другие функции ЗАПРЕЩАЕТСЯ.

Размер букв в тексте программ важен, например, Var и var – два разных идентификатора[1].

Запись оператора завершается символом "; ", который считается составной частью оператора.

Однострочечные комментарии начинаются с символа //, а многострочечные заключается между символами /* и */.

Пример программы на языке C++

#include <iostream.h> // директива препроцессора

#include <conio.h>

void main() { // объявление функции

cout << ”\nHellow, World! \n”; // тело функции

Getch ();

}

Схема подготовки исполняемой программы (exe-файла)

 

Примечание. В дальнейшем примеры программ будут приводиться для системы программирования на языке C++ фирмы Borland для операционной системы Windows ( сокращённо BCW).

Основные стандартные простые типы данных языка С++

Простым типом данных называется тройка (M, O, R), где M есть конечное множество констант, O – множество операций, R – множество отношений, определённых на множестве M.

имя типа размер констант в байтах множество констант Примечания
unsigned char   [0; 255] Ç Z коды символов
char   [-128; 127] Ç Z коды символов
unsigned int   [0; 65535] Ç Z  
int   [-32768; 32767] Ç Z  
unsigned long   [0; ~ 4 млрд.] Ç Z "~" означает примерно
long   [~ - 2 млрд.; ~ 2 млрд.] Ç Z  
float   [3,4*10-38; 3,4*1038] Ç Ç Q по абсолютной величине, 7 значащих цифр.
double   [1,7*10-308; 1,7*10308] Ç Ç Q по абсолютной величине, 15 значащих цифр.
long double   [3,4*10-4932; 3,4*104932] Ç Ç Q по абсолютной величине, 19 значащих цифр.

Примечания.

· Z означает множество целых чисел, Q – рациональных чисел.

· Символы заключаются в апострофы.

· Целые константы можно записывать в 16 СС и в 8 СС, предваряя их запись Æx и Æ соответственно, например, ÆxaAbB, Æ12345.

Объявление постоянных

Переменная, значение которой не может меняться, называется постоянной.

Постоянные объявляются следующим образом:

const имя_типа идентификатор = выражение;

Пример.

const float pi = 3.14;

Объявление переменных

имя_типа список_идентификаторов;

Примечания.

· При объявлении переменных допускается их инициализация.

· Объявлять переменные можно в любом месте блока до первого их использования.

· Блоком является вся программа, тело функции, либо операторы и операции, заключенные в { }.

Пример объявления переменных простых типов:

int a, b = 17, B = 21; // переменные в списке разделяются запятыми

char d = ‘s’, ch = Æx31;


Приоритеты операций

Ранг Операции Комментарии
  () [ ] ->::.  
  ! ~ + - ++ -- & * (имя_типа) sizeof new delete унарные операции
  .* ->*  
  * / % бинарные операции: умножить, разделить, частное от деления
  + - бинарные операции
  << >> сдвиги влево/вправо
  < <= >= > отношения
  ==!= равно/неравно
  & поразрядное «и»
  ^ поразрядное «исключающее или»
  | поразрядное «или»
  && конъюнкция
  || дизъюнкция
  ?: условная операция
  = += /= %= += -= &= ^= |= <<= >>= операции присваивания
  , операция запятая

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

Обратите внимание на то, что в С++ присваивания являются операциями, выполняющимися справа налево, а не операторами, как во многих других языках программирования.

Преобразование типов

Если это необходимо и возможно, то тип результата выражения можно явно преобразовать следующим образом:

(имя_типа) выражение

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

Основные конструкции языка С++

Функции в языке С++

Каждая используемая в программе функция[2] должна быть объявлена в любом месте программы до первого к ней обращения.

Объявление функции имеет вид:

заголовок_функции {тело_функции}

Правила языка С++ позволяют до обращения к функции объявить её прототип:

Заголовок_функции;

а после обращения привести “полное” объявление функции.

Такое "двухэтапное" объявление функций позволяет выделить основной алгоритм, который выполняет функция main().

Чаще всего заголовок функции имеет вид:

ëклассû тип_значения_функции имя_функции (список_аргументов);

где

· класс::= extern | static

extern означает, что функция будет доступной из других программ,

static означает, что локальные параметры функции сохраняют свои значения между вызовами функции,

· тип значения функции может быть любым кроме типов массив или функция,

· список аргументов содержит задания типов и имён для каждого аргумента функции.

Если функция не возвращает значение, то тип её результата void.

Если тип результата функции не void, то в её теле должен выполняться оператор return выражение; Выполнение этого оператора прекращает выполнение операторов в теле функции, а значение выражения заменяет вызов (обращение к) функции.

Пример определения функции.

Без прототипа функции С прототипом функции
int sum(int a, int b) // заголовок; {return a + b;} // тело; void main(void) { int A = 2, B = 3; C = sum(A, B); } int sum(int a, int b); // прототип   void main(void) { int A = 2, B = 3; C = sum(A, B); } // объявление функции: int sum(int a, int b) {return a + b;}

Примечание. Если требуется запретить изменение аргумента в теле функции, то его задание в списке аргументов должно начинаться с модификатора const, например, прототип int f(const int a, int b); объявляет, что у функции f от двух аргументов попытка изменения в теле функции аргумента a, должна рассматриваться компилятором как ошибка.

Язык С++ разрешает объявлять функции со значением аргументов по умолчанию, например,

int f(int x, int y = 1, int z = 2) {…}

Если при вызове таких функций значения аргументов не указываются, то им присваиваются значения объявленные в заголовке функции.

Примеры вызовов.

int k = f(5, 6, 7); // все аргументы получают указанные значения,

k = f(10, 4); // z получает значение по умолчанию 2,

k = f(0); // аргументы y и z получают значения по умолчанию.

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

Операции присваивания

В общем случае операция присваивания имеет вид[3]:

ëимя_типаû идентификатор знак_операции ë(имя_типа)û выражение;

Выполнение операции:

· вычисляется значение выражения,

· полученная константа приводится к указанному типу,

· над содержимым области памяти, поименованной идентификатором, и константой выполняется операция, знак которой находится до “ = ”,

· результат помещается в область памяти, поименованной идентификатором.

Примеры.

· int a = 7; // объявляется переменная a и a ← 7 [4]

· a += (int) 8/3; // a ← 7 + 2

· int b = a = 9; // объявляется переменная b и a ← 9, b ← 9

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

Так как операция присваивания выполняется справа налево, то в ней может объявляться только одна переменная.

Особо следует отметить две операции присваивания: инкремент ++ и декремент --, каждая из которых бывает двух видов: префиксной и постфиксной, например,

++ c; // префиксный инкремент,

b --; // постфиксный декремент,

Префиксная форма ++ (--) увеличивает (уменьшает) операнд на единицу ДО его использования. Постфиксная форма ++ (--) увеличивает (уменьшает) операнд на единицу ПОСЛЕ его использования.

Пример.

int a, b = 5;

a = ++b; // b ← b + 1, a ← b; итог: a ← 6, b ← 6

a += b--; // a ← a + b, b ← b – 1; итог: a ← 12, b ← 5





Поделиться с друзьями:


Дата добавления: 2017-02-25; Мы поможем в написании ваших работ!; просмотров: 330 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2221 - | 2091 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.