Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
S_otvety_na_ekzamen.doc
Скачиваний:
2
Добавлен:
14.04.2019
Размер:
130.56 Кб
Скачать
  1. С++. История языка. Достоинства и недостатки языка.

История языка С++

1)Algol 60-Предок С++ 1960

2)CPL 1963

3)BCPL 1967

4)B 1970 К.Томпсон

5)С 1972 Д.Ритчи

6)С++ 1997 Бьёрн Страуструп

Достоинства и недостатки языка С++

+ Оптимальный размер программы

+ Быстрое выполнение программы

+Упрощенный контроль за типами данных

+Возможность использования кодов Ассемблера

+Возможность упрощения отдельными видами битами

+Наличие указателей

+Эффективное использование памяти

+Возможность кросс-платформенной переносимости

-Упрощенный контроль за типами данных

-Язык С++ не для любителя

-ограниченные средства управлением

2. MS Visual C++ 6.0. Состав проекта приложения. Понятие рабочей области.

Среда разработки Microsoft Visual C++ 6 состоит из:

редактора исходных текстов

компилятора

компоновщика

отладчика.

Рабочая область – область которая, позволяет работать одновременно с несколькими проектами, легко переключаясь между ними. Рабочая область объединяет проекты, связанные по смыслу . Физически рабочая область - это отдельная папка на диске.

3. С++. Компиляция и компоновка.

Компиляция:

Build-Compile(Ctrl+F7)

Иконка 3 файла и 1 стрелка

Build-Build(F7)

Иконка 3 файла и 2 стрелки

Запуск программы

Build-Execute(Ctrl+F5)

Иконка восклицательного знака

4. Идентификаторы. Ключевые слова. Алфавит языка.

Идентификатор — это имя программного объекта. В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания.

Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены.

asm else new this auto enum operator throw bool explicit private true break export protected try case extern public typedef catch false register typeid char float reinterpret_cast typename class for return union const friend short unsigned const_cast goto signed using continue if sizeof virtual default inline static void delete int static__cast volatile do long struct wchar_t double mutable switch while dynamic_cast namespace template

Алфавит C++ включает:

прописные и строчные латинские буквы и знак подчеркивания;

арабские цифры от 0 до 9;

специальные знаки: ? { } , ¦ [ ] ( ) + – / % * . \ ‘ : ? < = > ! & # ~ – ; ^

пробельные символы: пробел, символы табуляции, символы перехода на новую строку.

5. Этапы получения загрузочного файла. Понятие консольного приложения.

Сначала создается рабочее место:

File-New-Workspace

Далее создается проект:

File-New-Project-Win32ConsoleApplication

И создается файл:

File-New-Files-C++SourceFile

Консольное приложение - командная строка. Работа с консолью заключается во вводе текстовых команд

6.Стандартные типы данных. Типы данных для представления целых чисел.

int

4

Целые числа от -2147483648 до 214748364 в 32 bit

char

1

Текст от -128 до 127

void

Ничего

enum

Перечисления

float

4

Вещественные +/-3.4Е +/-38

double

8

Двойной точности +/-1,8Е +/-308

bool

1

true / false (1/0)

7.Стандартные типы данных. Типы данных для представления чисел с плавающей запятой.

Как и 6

8.Стандартные типы данных. Тип данных bool.

Как и 6

9.Стандартные типы данных. Модификаторы и квалификаторы.

Как и 6

Модификаторы:

1)unsigned-число без знаков (0-255)

2)signed(-127-128)

3)short

4)long

Квалификатор

const-неизменная

10.Стандартные типы данных. Преобразование типов.

Как и 6

Int x=4;

Double y=7.8;

Char c=’z’;

11.Операции языка С++. Понятие операнда и результата операции. Унарные, бинарные и тернарные операции. Операция присваивания. Понятие адресного выражения.

Операнд - объект , над которым производятся операции. Бинарная операция — операция принимающая два аргумента и возвращающая один результат:

x+y

Унарная операция — это операция над одним операндом

Тернарная:

логическое выражение ? выражение 1 : выражение 2

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

x=7

a=b=c=x=0

x=7+(y=8)

Адресное выражение - имя какого либо обьекта.(L-value)

L-имя,Value-значение.

12.Операции языка С++. Арифметические операции. Инкремент и декремент.

+ сложение

- вычитание

* умножение

/ деление

% остаток от целочисленного деления

++-инкремент

-- -декремент

x++

x=x+1

x--

x=x-1

13.Операции языка С++. Операции сравнения. Тернарная операция.

<

>

<=

>=

==равно

!=не равно

логическое выражение ? выражение 1 : выражение 2

истина ложь

y=x>0?7:10

y=7 если x>0

y=10 если x<0

14.Операции языка С++. Логические значения и логические операции.

1-true

2-false

! не (против)

&& и

|| или

15. Операции языка С++. Битовые операции. Операции сдвига.

~ (не) на той позиции, где в двоичном представлении операнда был 0, в результате будет 1, и, наоборот, где была 1, там будет 0.

Например:

10001100

Результат

01110011

&(и) если оба соответствующих бита операндов равны 1, результирующий двоичный разряд равен 1; если же хотя бы один бит из пары равен 0, результирующий двоичный разряд равен 0.

Пример:

10001100

10010110

Результат

10000100

|(или) если оба соответствующих бита операндов равны 0, двоичный разряд результата равен 0; если же хотя бы один бит из пары равен 1, двоичный разряд результата равен 1.

Пример:

10000110

01101100

Результат

11101110

^( Искл. ИЛИ) если соответствующие биты операндов различны, то двоичный разряд результата равен 1; если же биты совпадают, то двоичный разряд результата равен 0.

Пример:

10000110

01101100

Результат

00010101

Операции сдвига

<<

>>

y=x<<1,x=4

x:00000100|4

y:00001000|8

16.Операции языка С++. Приоритет и направление выполнения операций.

Приори-тет

Операция

Примечание

Порядок

выполнения

1

:: .

[ ]

( )

(int)

разрешение контекста, извлечение

индексирование массива

вызов функции

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

слева - направо

2

++ -- ~ !

- +

&

*

new,delete

sizeof

унарный -, унарный +

получение адреса

разрешение указателя

работа с динамической памятью

определение размера

справа - налево

3

*

/

%

умножение

деление

остаток

слева - направо

4

-> * .*

извлечение

слева - направо

5

+

-

бинарное сложение

бинарное вычитание

слева - направо

6

<< >>

сдвиги

слева - направо

7

< <= > =>

сравнение

слева - направо

8

= = !=

равно не равно

слева - направо

9

&

побитовое И

слева - направо

10

^

исключающее ИЛИ)

слева - направо

11

|

побитовое ИЛИ

слева - направо

12

&&

И - логическое

слева - направо

13

||

ИЛИ - логическое

слева - направо

14

?:

тернарная операция

справа - налево

15

= *= /= %= +=

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

справа - налево

16

,

следование

слева - направо

17. Операторы языка С++. Пустой оператор, оператор-выражение, оператор объявления, блок операторов.

Пустой оператор(;) Используется там, где по правилам языка должен находится оператор, а по логике программы там ничего выполнять не надо.

Любое выражение, за которым следует ; является оператором. Такой оператор называется оператор-выражение.

a=b+c;

i++;

x+y;

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

Блок операторов используется для обозначения начала и конца оператора

18.Операторы языка С++. Условный оператор if. Варианты вложения условных операторов.

1) if (выражение) оператор1;

2) if (выражение) оператор1; else оператор2;

Оператор1 выполняется в случае, если выражение принимает ненулевое значение. Если выражение принимает значение 0 ,то выполняется оператор2.

При использовании нескольких if, текущий else всегда относится к последнему if с которым не cопоставлен ни один else.

19.Операторы языка С++. Оператор выбора switch.

switch (селектор)

{

case константа1:

[case константа2: ]

. . .

[оператор;]

. . .

[break;]

[case константа_m:]

. . .

[case константа_n:]

[оператор;]

. . .

[break;]

[default:] [операторы]

}

[ ]-необязательно

… -может повторяться

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]