Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вопросы для контроля

 

1. Какие этапы составляют предмашинную подготовку задачи?

2. Что такое алгоритм решения?

3. В каком виде выполняются алгоритмы?

4. Как выполняется схема алгоритма?

5. Что такое программа решения?

 

2.ЯЗЫК ПРОГРАММИРОВАНИЯ С++

2.1 Ключевые слова C++

 

__asm __es __interrupt short
_asm _es _interrupt signed
asm __export interrupt sizeof
auto _export __loadds __ss
break extern _loadds _ss
case __far long static
catch _far __near __stdcall
__cdecl far _near _stdcall
_cdecl __fastcall near struct
cdecl _fastcall new switch
char __finally operator template
class float __pascal this
const for _pascal __thread
continue friend pascal throw
__cs goto private __try
_cs __huge protected try
default _huge public typedef
delete huge register union
do if return unsigned
double __import __rtti virtual
__ds _import __saveregs void
_ds import _saveregs volatile
else inline __seg while
enum int _seg  

 

 

2.2. Расширения C++ по сравнению с Си стандарта ANSI

 

__asm __except __import (2) pascal
_asm __export _import (2) __saveregs (1)
__cdecl __far (1) _interrupt (1) _saveregs (1)
_cdecl _far (1) interrupt (1) __seg (1)
cdecl far (1) __loadds (1) _seg (1)
__cs (1) __fastcall _loadds (1) ___ss (1)
_cs (1) _fastcall __near (1) __ss (1)
__ds (1) __finally _near (1) __rtti
_ds (1) __huge (1) near (1) __thread (2)
__es (1) _huge (1) __pascal __try
_es (1) huge (1) _pascal  


(1) - доступны только для 16-разрядных компиляторов
(2) - доступны только для 32-разрядных компиляторов

 

2.3 Ключевые слова, специфические для C++

 

asm friend protected try
catch inline public virtual
class new template __rtti
delete operator this  
private throw    

 

2.4 Регистровые псевдопеременные Borland C++

 

_AH _CL _EAX (*) _ESP
_AL _CS _EBP (*) _FLAGS
_AX _CX _EBX (*) _FS
_BH _DH _ECX (*) _GS (*)
_BL _DI _EDI (*) _SI
_BP _DL _EDX (*) _SP
_BX _DS _ES _SS
_CH _DX _ESI (*)  

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

 

2.5 Идентификаторы

Характерным для C++ и для других реализаций языка является учет регистра букв в идентификаторах. Последние могут содержать буквы от A до Z и от a до z, символ подчеркивания (_) и цифры от 0 до 9 и должны начинаться с буквы. Константы

Константами называются лексемы, представляющие собой фиксированные числовые или символьные значения. Borland C++ поддерживает четыре класса констант: константы с плавающей точкой, целочисленные константы, константы перечислимого типа и символьные константы (включая строковые).

Целочисленные константы представлены десятичным, восьмиричным и шестнадцатиричным форматом.

Символьные константы записываются одним или более символами, заключенными в одинарные кавычки, например 'F', '=', '\n'.

2.6 Описание операций

Операциями называются лексемы, вызывающие некоторые вычисления с переменными и прочими объектами, указанными в выражении. Borland C++ имеет особенно богатый набор операций, включающий в себя помимо обычных арифметических и логических операций средства манипуляции с данными на битовом уровне, доступа к элементам структур и объединений, а также операции с указателями (ссылка и разыменование).

2.6.1 Унарные операции

Операция Смысл
& Операция адресации
* Операция обращения по ссылке
+ Унарный плюс
- Унарный минус
~ Поразрядное дополнение (дополнение до единицы)
! Логическое отрицание
++ Префикс: прединкрементация; Постфикс: постинкрементация
-- Префикс: преддекрементация; Постфикс: постдекрементация

 

2.6.2 Бинарные операции

 

Операция Смысл
Операции типа сложения + Бинарный плюс (сложение)
- Бинарный минус (вычитание)
Операции типа умножения * Умножение
/ Деление
% Остаток от деления
Операции сдвига << Сдвиг влево
>> Сдвиг вправо
Поразрядные операции & Поразрядное И
^ Поразрядное исключающее ИЛИ
| Поразрядное включающее ИЛИ
Логические операции && Логическое И
|| Логическое ИЛИ
Операции присваивания = Присваивание
*= Присвоить произведение
/= Присвоить частное
%= Присвоить остаток
+= Присвоить сумму
-= Присвоить разность
<<= Присвоить сдвиг влево
>>= Присвоить сдвиг вправо
&= Присвоить поразрядное И
^= Присвоить поразрядное исключающее ИЛИ
|= Присвоить поразрядное ИЛИ
Операции отношения < Меньше
> Больше
<= Меньше или равно
>= Больше или равно
Операции равенства == Равно
!= Не равно
Операции выбора элемента . Непосредственный выбор элемента
-> Косвенный выбор элемента
Операции с элементами класса :: Доступ/определение области действия
.* Обращение через указатель к элементу класса
->* Обращение через указатель к элементу класса
Условные операции a? x: y "Если a, то x, иначе - y"
Операция запятой , Вычислить, например, a, b, c слева - направо

 

2.6.3 Пунктуаторы

 

В C++ пунктуаторы, также называемые разделителями, определяются следующим образом:

пунктуатор: одно из [ ] () { },;:... * = #

 

2.6.4 Ассоциативность и приоритеты операций Borland C++

 

Операции Ассоциативность
() [] ->::.! ~ - ++ -- & * (приведение типа) Слева-направо
sizeof new delete Справа-налево
.* ->* Слева-направо
* / % Слева-направо
+ - Слева-направо
<< >> Слева-направо
< <= > >= Слева-направо
==!= Слева-направо
& Слева-направо
^ Слева-направо
| Слева-направо
&& Слева-направо
|| Слева-направо
?:(условное выражение) Справа-налево
= *= /=:= += -= &= ^= |= <<= >>= Справа-налево
, Слева-направо

 

 

2.6.5 Размер памяти и диапазон значений стандартных типов данных СИ/СИ++

 

№ п/п   Тип переменной Объём памяти Диапазоны представления чисел Спецификатор
бит байт min max
  char     -128   %d %c %s
  unsigned char         %c %s
  short     -32768   %d %o %x
  int[1]     -32768   %d %o %x
  unsigned int         %u
  long     -2147483648   %ld %lo %lx
  unsigned long         %lx %lu
  float     3,4 Е-38 3,4 Е+38 %f %e %g
  double     1,7 Е-308 1,7 Е+308 %le %lf
  long double     3,4 Е-4932 3,4 Е+4932 %lf %le %lg
  указатель         %lu
             
             

 

<== предыдущая лекция | следующая лекция ==>
Обеспечение эффективности разработки программных продуктов | Сложными называются разветвляющиеся процессы с проверкой двух (нескольких) условий
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 197; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.