C++ за 21 день седьмое издание



Download 1,38 Mb.
bet425/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   421   422   423   424   425   426   427   428   ...   437
Bog'liq
word1

False


Final


Float


For


Friend


goto


if


inline


int


long


long long int


mutable


namespace


new


operator


override


private


protected


public


register


reinterpret_cast


return


short


signed


sizeof


static


staticassert


static_cast


struct


switch


template


this


throw


true


try


typedef


typeid


typename


union


unsigned


using


virtual


void


volatile


wchar_t


while

следующие ключевые слова также зарезервированы:




compl or_eq


not xor


not_eq xor_eq


or

ПРИЛОЖЕНИЕ В
Приоритет
операторов
Хорошей практикой программирования является использо­ вание круглых скобок, которые явно разграничиваю т операции.

  1. отсутствие круглых скобок компилятор прибегает к предопреде­ ленному порядку очередности, в котором использую тся операторы. Это приоритет операторов, приведенный в табл. В.1, которого при­ держивается компилятор C++ во избежание двусмысленности.

    1. ПРИЛОЖЕНИЕ В. Приоритет операторов




  1. А Б Л И Ц А В.1 . Приоритет операторов




  1. Название




  1. Область видимости




  1. Прямое и косвенное обращение к члену класса, вызов функции, постфиксный инкремент и декремент




  1. Префиксный инкремент и декремент, инверсия и не унарные минус и плюс, получение адреса и ссылки, а также операторы new, new [ ] ,delete, delete [ ] ,cast­ ing, sizeof ()

  2. Обращение к элементу по указателю




  1. Умножение, деление, деление по модулю




  1. Сложение, вычитание




  1. Сдвиг влево, сдвиг вправо




  1. Меньше, меньш е или равно, больше, больше или равно




  1. Равно, не равно




  1. Побитовое AND




  1. Побитовое исключающее OR




  1. Побитовое OR




  1. Логическое AND




  1. Логическое OR




  1. Троичный условный оператор




  1. Операторы присвоения




  1. Запятая

Оператор


. -> () ++


++ — А ! - + & * ()

_★





  1. / %



+ -


« »



VVIIААи



== !=

&


А


1


&&



    1. 1




  1. :




II

*II

II



+II

1II

ААII

VVII

г






















ПРИЛОЖЕНИЕ Г
Ответы
644 ПРИЛОЖЕНИЕ Г. Ответы


Ответы к занятию 1


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



    1. Интерпретатор — это инструмент, который интерпретирует исходный код (или промежуточный бинарный код) и выполняет определенные действия. Компилятор получает на входе исходный код и создает объектный файл. В языке C++ после ком­ пиляции и компоновки получается исполняемый файл, который может выполняться процессором непосредственно, без необходимости в дальнейшей интерпретации.




    1. Компилятор получает на входе файл исходного кода C++ и создает объектный файл на машинном языке. Зачастую у вашего кода есть зависимости от библиотек и функций в других файлах кода. Создание этих связей и получение исполняемого файла, который интегрирует все явные и неявные зависимости, является задачей компоновщика.




  1. Код. Компиляция для создания объектного файла. Компоновка для создания испол­ няемого файла. Выполнение для проверки. Отладка. Устранение ошибок в коде и повторение предыдущих этапов. В большинстве случаев компиляция и компонов­ ка — это один этап.




  1. Стандарт С++11 поддерживает переносимую потоковую модель, позволяющую раз­ работчику создавать многопоточные приложения, используя стандартные поточные функции C++. Таким образом, он позволяет многоядерному процессору работать оптимально при одновременном выполнении различных потоков в приложении на его нескольких ядрах.

Упражнения



  1. Отображает результат вычитания у из х, а также их умножения и сложения.




  1. Результат: 2 48 14




  1. Инструкция препроцессора io s tre a m , находящаяся в строке 1, должна начаться с #.




  1. Отображает строку H ello Buggy World



Ответы к занятию 2


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



  1. Код языка C++ чувствителен к регистру. I n t не является для компилятора указа­ нием целочисленного типа i n t .




  1. Да.



/* если вы пишете комментарий, используя такой синтаксис в стиле С, то можете расположить его в нескольких строках */

Ответы к занятию 3

645



Упражнения



  1. Причина неудачи в чувствительности к регистру у компилятора C++. Ему неизвест­ но, что такое s t d : : C out и почему строка после этого не начинается с кавычки. Кро­

ме того, функция m ain () всегда должна объявляться как возвращающая тип i n t .





  1. Вот исправленная версия:



#include int main()
{
std::cout « "Is there a bug here?"; // теперь без ошибок return 0;
}



  1. Эта программа подобна листингу 2.4 и демонстрирует вычитание и умножение:



##include #using namespace std;



  1. Объявление функции



int DemoConsoleOutput();


int main()

{


  1. Вызов функции DemoConsoleOutput(); return 0;

}



  1. Определение функции int DemoConsoleOutput()

{
cout « "Performing subtraction 10 - 5 = " « 10 - 5 « endl; cout « "Performing multiplication 10 * 5 = " « 10 * 5 « endl;




return 0;
Результат


Performing subtraction 10 - 5 = 5


Performing multiplication 10 * 5 = 50


Ответы к занятию 3


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



  1. В знаковом целом числе самый старш ий разряд означает знак числа (плюс или минус). Знаковое целое число, напротив, используется только для положительных

значений.


2. Д иректива препроцессора # d e f i n e инструктирует компилятор осущ ествить глобальную текстовую замену указанного значения. Однако это не учитывает


646 ПРИЛОЖЕНИЕ Г. Ответы


безопасности типов и является примитивным способом определения констант.


Поэтому его следует избегать.





  1. Для гарантии, что она содержит определенное, а не случайное значение.




  1. 2.




  1. Имя не несет смысловой нагрузки и повторяет название типа. Хотя такой код ком­ пилируется нормально, людям его трудно читать и поддерживать. Такого желатель­ но избегать. Для переменных лучш е использовать описательные имена, которые отражают их цель. Например:



int Age = 0;
Упражнения



  1. Это можно сделать несколькими способами: enum YOURCARDS {АСЕ = 43, JACK, QUEEN, KING};




    1. АСЕ = 43, JACK = 44, QUEEN = 45, KING = 46




    1. Или так..



enum YOURCARDS {ACE, JACK, QUEEN = 45, KING};



      1. ACE = 0, JACK = 1, QUEEN = 45, a KING = 46




  1. П осмотрите код листинга 3.4 и адаптируйте его для получения ответа на этот вопрос.




  1. Вот программа, которая запрашивает радиус круга, а затем вычисляет его площадь




    1. периметр:



#include


using namespace std;


int main()

{
const double Pi = 3.1416;





cout «

"Enter

circle's

radius: ";




double

Radius = 0;







cin »

Radius;










cout «

"Area =

" « Pi

* Radius * Radius «

endl;

cout «

"Circumference = " « 2 * Pi * Radius

« endl;

return

0;










}


Результат


Enter circle's radius: 4


Area = 50.2656


Circumference = 25.1328




  1. Если вы сохраните результат вычисления площади и периметра в целочисленной переменной, то при компиляции получите предупреждение (а не ошибку), и вывод будет выглядеть следующим образом:

Ответы к занятию 4

647



Результат


Enter circle's radius: 4


Area = 50


Circumference = 25



  1. Ключевое слово a u t o требует от компилятора автоматически выбрать тип пере­ менной в зависимости от инициализирующего ее значения. В приведенном коде нет инициализации, и оператор приведет к отказу при компиляции.



Ответы к занятию 4


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



    1. 0 и 4 — это отсчитываемые от нуля индексы первого и последнего элементов мас­ сива с пятью элементами.

    2. Нет, так как известна их небезопасность, особенно при обработке пользовательско­ го ввода, поскольку они позволяют ввести строку длиннее массива.

    3. Один нулевой завершающий символ.




  1. Все зависит от того, как она используется. Если она используется в операторе c o u t, например, то механизм отображения будет читать поеледовательность-символов, пока не найдет заверш ающ ий нулевой символ. При его отсутствии он пересечет границы массива и, возможно, приведет к краху приложения.




  1. Достаточно заменить в объявлении вектора часть i n t на часть c h a r . vector DynArrChars (3);



Упражнения



  1. Вот что получилось. Приложение инициализируется значением ROOK (ладья), но оно достаточно простое, чтобы вы поняли все сами.




Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   421   422   423   424   425   426   427   428   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish