ТОП 10:

Состав проекта приложения. Понятие рабочей области.



Состав проекта приложения. Понятие рабочей области.

Проект состоит из:

Рабочей области(Workspace), Консольного приложения(Win32 console application) и нашего файла текста программы(C++ Source File).

Рабочее пространство создаётся следующим образом:

FileàNewàWorkspace.

Рабочая область или рабочее пространство-это место на жёстком диске, которое мы отводим под проект!

Создаём приложение:

FileàNewàProjectàWin32 Console Application

Создаём текстовый файл для кода проги:

FileàNewàFilesàC++ Source file

Также в ходе работы к проекту могут добавлятся ещё текстовые файлы программ а также файлы компиляции *.obj и результат компановки --- наши программы *.exe

Компиляция и Компановка

О компиляторе. Разрабатывая программу, программист ориентируется на ту или иную среду разработки, компилятор. Программировать на С можно как в среде Windows, так и DOS, причем для каждой из операционных систем существует довольно большое количество средств разработки: от компилятора, работающего в режиме командной строки DOS, до мощной интегрированной интерактивной среды разработки. При разработке программ под Windows – среды разработки Microsoft Visual C++ и Borland C++Builder.

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

Идентификатор – это имя, которым обозначается некоторый объект (данное) в программе. Для записи идентификаторов используются буквы латинского алфавита, цифры, а также, знак подчеркивания ( _ ).

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

Ключевые слова:

auto, break, case, char, const, continue, default, do и т.д.

Множество символов языка С++ можно разделить на 4 группы.

В первую группу входят буквы латинского алфавита и символ подчеркивания. Одинаковые строчные и прописные буквы (а и А) имеют различные коды и при записи имен переменных различаются. Строчные буквы используются для написания ключевых слов языка. Буквы русского алфавита используются в текстах и комментариях.

Вторую группу составляют цифры (0,1,2,…,9).

В третью группу входят специальные символы:

 

. точка / вертикальн. черта {} фигурные скобки
, запятая \ обратная черта < меньше
; точка с запятой ~ тильда > больше
: двоеточие - минус = равно
? вопросит. знак + плюс ^ исключающее или
! восклиц. знак * звездочка %
‘ апостроф () круглые скобки # номер
| вертикальная черта [] квадратные скобки “ кавычки

 

Четвертую группу символов составляют управляющие последовательности, используемые при вводе/ выводе информации.

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

Консольные приложения обычно создаются без графического интерфейса пользователя и компилируются в автономный исполняемый файл. Консольное приложение запускается из командной строки; во время его работы происходит обмен входными и выходными данными между командной строкой и выполняемым приложением. Так как данные могут записываться и считываться через окно консоли, с помощью консольного приложения удобно осваивать новые методы программирования, не отвлекаясь на разработку интерфейса пользователя.

Шаблон автоматически добавляет наиболее важные ссылки и файлы проекта, используемые в качестве отправной точки при создании приложения.

Ссылки на следующие пространства имен .NET Framework:

Пространство имен System содержит фундаментальные и базовые классы, определяющие часто используемые типы значений, ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения.

mscorlib — сборка DLL, предоставляющая поддержку .NET Framework.

Исходные файлы:

Консоль (CPP-файл) — главный исходный файл и точка входа в приложение, созданное Visual Studio. Идентифицирует DLL-файл и пространство имен проекта. Поместите свой код в этот файл.

AssemblyInfo.cpp — файл с информацией (атрибутами, файлами, ресурсами, типами, сведениями о версиях, подписях и т. д.), предназначенной для изменения метаданных сборок проекта для Windows.

Stdafx.cpp — используется для построения файла предкомпилированного заголовка с именем Win32.pch и файла предкомпилированных типов с именем StdAfx.obj.

Файлы заголовков:

Stdafx.h — используется для построения файла предкомпилированного заголовка с именем Win32.pch и файла предкомпилированных типов с именем StdAfx.obj.

resource.h — автоматически созданный файл заголовка для app.rc.

Файлы ресурсов:

app.rc — файл сценария ресурсов программы.

app.ico — файл значка программы.

ReadMe.txt — файл с описанием каждого файла проекта; в нем используются созданные шаблоном фактические имена файлов.

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

к данным целого типа относятся следующие типы:

char, int, long int (2 байта), short int (4 байта). Модификаторы signed и unsigned могут предшествовать любому целому типу, но они не обязательны. Они указывают, как интерпретируется старший бит переменной. По умолчанию все переменные целого типа считаются signed, т.е. левый бит интерпретируется как знак.

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

К плавающим типам относятся три типа, представленные следующими именами типов, модификаторов и их сочетаний:

float
double
long double

Тип данных Байты Биты Min Max
float 3.4E-38 3.4E+38
double 1.7E-308 1.7E+308
long double 3.4E-4932 3.4E+4932

Для хранения вещественных чисел применяются типы данных float и

double. Смысл знаков "+" и "-" для вещественных типов совпадает с целыми. По-

следние незначащие нули справа от десятичной точки игнорируются. Поэтому вари-

анты записи "+523.5", "523.5" и "523.500" представляют одно и то же значение. В

Си++ также допускается запись в формате с плавающей запятой (в экспоненциальном

формате) в виде мантиссы и порядка. Например, 523.5 можно записать в виде

"5.235e+02" (т.е. 5.235*10*10), а -0.0034 в виде "-3.4e-03".

В большинстве случаев используется тип double, он обеспечивает более высо-

кую точность, чем float. Максимальную точность и наибольший диапазон чисел

достигается с помощью типа long double, но он требует больше памяти (в

Visual C++ 10 байт на число), чем double (8 байт).

Тип данных bool.

Переменные этого типа могут принимать значение true & false. Они используются для проверки логических выражений.

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

Модификатор типа signed указывает, что переменная может принимать как положительные, так и отрицательные значения. Возможно, что при этом самый левый бит области памяти, выделяемой для хранения значения, используется для представления знака. Если этот бит установлен в 0, то значение переменной считается положительным. Если бит установлен в 1, то значение переменной считается отрицательным.

Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения. При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения.

Кроме того имеется ряд квалификаторов, которые можно ис-пользовать с типом INT: SHORT (короткое), LONG (длинное) иUNSIGNED (без знака). Квалификаторы SHORT и LONG указывают

на различные размеры целых.

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

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

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

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

Оператор – законченная инструкция языка. На языке С каждый оператор заканчивается «;».

Пустой оператор.

;

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

Оператор-выражение.

i++; x=y; 2+3x=y; x+2; т.е. любое выражение.

Блок операторов.

{…………}Используется, Когда по синтаксису языка требуется 1 оператор, А по логике – несколько.

Оператор объявления.

Int x=8; double y=7.2; Может ставиться в любом месте программы.

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

Оператор if имеет следующую общую форму записи:

if (условие) оператор1;

[else оператор2;]

При выполнении оператора if сначала вычисляется условие. Если результат истина (или любое отличное от 0 значение), то выполняется оператор1. Если результат анализа условия ложь (равно 0), то выполняется оператор2.

19.Оператор выбора switch.

В программировании часто встречается задача выбора одного варианта решения задачи из многих возможных. Это можно сделать при помощи конструкции else-if. Однако более удобный способ – использование оператора switch.

 

switch (выражение)

{ case const1: оператор1; break;

case const2: оператор2; break;

default: опретор3; break;

}

 

Свойства:

· Выражение должно иметь целочисленный тип (допустимо использование перечислений или вызов функции, возвращающей целочисленное значение). Значение выражения сопоставляется с константами const1-constN, стоящими после case.

· Оператор после case выполняется, если значение выражения равно соответствующей константе. Если совпадений нет, то управление передается стоящему после default оператору (не обязательно).

· Константы сравниваются с выражением в той последовательности, в которой они перечисляются в программе.

· Символьные константы в switch автоматически преобразуются в целочисленные.

· Break передает управление за пределы оператора switch.

· Если после оператора отсутствует break, то константа в последующем case считается подходящей условию, и соответствующие операторы выполняются.

· Не может быть двух констант в одном switch, имеющих одинаковые значения.

· switch отличается от if тем, что он может выполнять только операции строгого равенства, в то время как if может вычислять логические выражения и отношения.

20. while, do … while.

while организует повторное выполнение одного оператора или нескольких до тех пор, пока логическое выражение ‘условие’ не примет значение ложь (0). Оператор while называется оператором цикла с предусловием, т.к. выражение ‘условие’ проверяется перед входом в цикл. При построении цикла while необходимо включить в него какие-то конструкции, изменяющие величину проверяемого выражения так, чтобы оно стало ложным.

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

do оператор while (условие);

Здесь сначала выполняется оператор или группа операторов, а затем проверяется значение выражения ‘условие’. Повторение тела цикла происходит до тех пор, пока ‘условие’ не примет значение ложь.

Оператор цикла for. Варианты выражений. Тело цикла. Пустой оператор for. Оператор без тела цикла.

for (инициализация; условие изменение; параметров)

{оператор1; оператор2; оператор3;}

1. Инициализация служит для присваивания начальных значений переменным.

2. Проверяется значение ‘условия’, если ложь, то завершается выполнение цикла.

3. Выполняется тело цикла.

4. Выполняется поле ‘изменение параметров’. Служит для изменения значения переменных, управляющих циклом.

Любое поле может отсутствовать, но знак ; ставится независимо от присутствия любого поля.

Операция запятая позволяет включить в оператор for несколько инициализирующих или корректирующих выражений. Операторы записываются через запятую и рассматриваются как один составной оператор.

for (i=1, j=0;i<10;i++, j++);

Пример: Вычислить сумму элементов натурального ряда чисел от 1 до 10 включительно.

 

#include <iostream.h>

void main()

{

int res=0, i;

for(i=0;i<10;i++)

res+=i;

cout<<”res=”<<res;

}

Операторы goto, break, continue, return. Варианты использования.

Оператор break, стоящий в теле цикла, немедленно прекращает выполнение цикла и передает управление на уровень выше, т.е. на следующий оператор, стоящий после данного цикла. Для прекращения многоуровневого цикла приходится использовать не один, а несколько операторов break.

Оператор continue приводит не к завершению работы цикла, а к пропуску оставшейся части цикла и переходу к началу следующей итерации.

Оператор goto передает управление оператору, имеющему соответствующую метку, которая должна находиться в пределах той же функции. Идентификатор метки служит указателем точки, в которую передается управление оператором goto. Метки имеют собственное пространство имен и область действия.

goto lable;

…………

lable: операторы;

Пример: Вывести на экран числа кратные десяти, но меньшие 100.

#include <iostream.h>

void main()

{

int a=1;

while(a++,a<100)

{if(a%10)

continue

cout<<a;}

}

Пример: Написать программу, которая будет прерывать выполнение цикла при обнаружении числа

#include<stdio.h>

main()

{ int x;

for(x=1;x<=10;x++)

{ if(x==5) break;

printf(“%d”,x);}

return 0;

}

23. Массивы.

Массив – это группа расположенных друг за другом в памяти элементов одного типа и имеющих одно общее имя. Определение массива должно включать его имя и содержать информацию о типе и количестве составных элементов. Доступ к элементам массива осуществляется по имени массива и индексу элемента. Индекс – это порядковый номер элемента в массиве. Индекс первого элемента всегда ноль, далее следуют целые положительные числа (1,2,3). char array [5]={‘A’,’B’,’C’,’D’,’E’};

Здесь объявлен массив из 5 элементов.

24. Многомерные массивы. Многомерный массив – это массив массивов, т.е. массив элементами которого являются массивы. Размерность массива – это количество индексов, используемых для ссылки на конкретный элемент массива. При объявлении массива после имени массива ставится более одной пары квадратных скобок.

Определение двумерного массива с 10 строками и 30 столбцами:

 

int mas[10][30];

 

Фактически двумерный массив представляется, как одномерный, элементы которого тоже массивы.

Константное выражение, определяющее одну из размерностей массива, не может принимать нулевое значение:

 

int mas[0][30]; ошибка

 

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

Инициализация двумерного массива с четырьмя элементами:

 

int mas[2][2]={23,54,16,43};

 

Проинициализированный массив будет выглядеть так:

 

[0][0]==23;

[0][1]==54;

[1][0]==16;

[1][1]==43;

 

Строки.

Разновидностью массива является так называемый строковый литерал (строка). В С++ отсутствует специальный строковый тип. Вместо этого строки представляются, как массив элементов типа char, в конце которого помещен нуль символ ‘\0’. Такой массив называется ASCIIZ-строкой.

При объявлении массива под строку необходимо предусмотреть место для нуль символа:

char string[5]={‘Б’’Н’’Т’’У’’\0’}; пять символов

Функции. Передача массивов.

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

С автоматически передает массив в функцию путем передачи параметров по ссылке – при этом вызываемые функции могут изменять значения элементов в исходных массивах вызывающих функций.

Передача массивов посредством передачи по ссылке имеет смысл по соображениям эффективности. Если бы массивы передавались по значению, передавалась бы копия каждого элемента. Для больших, часто передаваемых массивов это было бы расточительно по времени и приводило бы к расходу значительного объема памяти для хранения их копий.

Можно использовать три варианта описания массива, поступающего в функцию, в качестве параметра:

1. Параметр в функции может быть объявлен как массив соответствующего типа с указанием его размера.

Пример: в функции вычислить сумму элементов каждой строки матрицы и сумму вывести на экран.

Возможные варианты объявления функции:

 

int sum(int x[]);

int sum(int*);

int sum(int[]);

 

#include<iostream.h>

int sum(int x[5]) // определение функции, размер указан.

{ int res=0;

for(int i=0;i<5;i++)

res+=x[i];

return res;

}

void main()

{int i, mas[3][5]={1,1,1,1,1,2,2,2,2,2,3,3,3,3,3} ;

for(i=0;i<3;i++)

cout<<"res="<<sum(mas[i]);

}

res=5 res=10 res=15

В этом случае С автоматически преобразует mas[i] к указателю на целый тип и в функцию передается адрес первого элемента каждой строки матрицы, т.е. адрес элемента mas[i][0].

2. Массив в качестве параметра в функции может быть объявлен без указания его размера. Т.к. сам массив в стек не копируется, то размер массива в общем случае компилятору не требуется. Контроль правильности использования индекса возлагается на программиста. В этом случае также используется указатель на первый элемент массива.

 

 

int sum(int x[]) // определение функции, размер не указан.

{ int res=0;

for(int i=0;i<5;i++) // i<5 известно программисту

res+=x[i];

return res;

}

 

3. Этот способ используется при написании профессиональных программ – объявление параметра массива указателем на соответствующий тип данных.

 

int sum(int *x) // определение функции.

{ int res=0;

for(int i=0;i<5;i++)

res+=x[i]; // можно res+=*x++

return res;

}

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

Если используя имя, можно получить доступ к элементу, с которым это имя сопоставлено, то говорят,что имя находится в ОБЛАСТИ ВИДИМОСТИ

Область существования всегда шире области видимости!!!!!!!

Классы памяти.

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

С поддерживает четыре класса памяти, обозначаемые спецификаторами класса памяти:

· auto – автоматический, локальный.

· register – регистровый.

· extern – глобальный, внешний.

· static – статический.

Четыре спецификатора класса памяти могут быть разбиты на два типа по периоду хранения: автоматический период хранения и статический период хранения. Для объявления переменных с автоматическим периодом хранения служат ключевые слова auto и register. Ключевые слова extern и static используются для объявления переменных и функций со статическим периодом хранения.

Объединения.

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

Итак, ссылаться в данный момент времени можно только на один элемент и, соответственно, только на один тип данных. Задача программиста – обеспечить, чтобы на данные, хранящиеся в объединении, ссылались, как на данные соответствующего типа.

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

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

Перечисление — это набор именованных целых констант. Перечисления довольно часто встречаются в повседневной жизни. Вот, например, перечисление, в котором приведены названия монет, используемых в Соединенных Штатах:

penny (пенни, монета в один цент), nickel (никель, монета в пять центов), dime (монета в 10 центов), quarter (25 центов, четверть доллара), half-dollar (полдоллара), dollar (доллар)

Перечисления определяются во многом так же, как и структуры; началом объявления перечислимого типа служит ключевое слово enum. Перечисление в общем виде выглядит так:

enum тег {список перечисления} список переменных;

Здесь тег и список переменных не являются обязательными. (Но хотя бы что-то одно из них должно присутствовать.) Следующий фрагмент кода определяет перечисление с именем coin (монета):

enum coin { penny, nickel, dime, quarter, half_dollar, dollar};

Тег перечисления можно использовать для объявления переменных данного перечислимого типа. Вот код, в котором money (деньги) объявляется в качестве переменной типа coin:

enum coin money;

С учетом этих объявлений совершенно верными являются следующие операторы:

money = dime;if(money==quarter) printf("Денег всего четверть доллара.\n");

Главное, что нужно знать для понимания перечислений — каждый их элемент представляет целое число. В таком виде элементы перечислений можно применять везде, где используются целые числа. Каждому элементу дается значение, на единицу большее, чем у его предшественника. Первый элемент перечисления имеет значение 0. Поэтому, при выполнении кода

printf("%d %d", penny, dime);

на экран будет выведено 0 2.

Файл.

Файл – это именованная совокупность данных , хранящаяся на каком-либо носителе (дискета, винчестер, CD), и имеющая определённые атрибуты.

1) Текстовые файлы.

2) Бинарные файлы.

Т.ф. рассматриваются как строки, состоящие из непробельных символов, разделённых пробельными символами. Каждая строка заканчивается символом конца строки.

Пробельные символы:

- пробел

\n

\t

\v

\f

\r

Потоки

Абстрактный канал связи, который создаётся в программе для обмена данными с реальными физическим устройством(файлом).

Поток создаётся в момент открытия файла.

Некоторые потоки создаются автоматически.

По направлению передачи, потоки бывают

1)входной(input)

2)выходной(output)

3) двунаправленный(i/o)

По способу создания:

1) Автоматически создаваемые потоки, которые связаны со стандартными системными устройствами в\в.

Stdin, stdout, stderr, printf, scanf

2) явно создаваемые потоки (для обмена данными с файлом)

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

Буфер

При работе с потоками различают буферизированный и небуферизированный в/в.

Buffer – область оперативной памяти, которую используют средства в/в для промежуточного хранения данных, передаваемых между программой и устройством. Системный и программный буфер.

Библиотека stdio. Связь с файлами. Открытие и закрытие файла.

Перед работой с файлом его необходимо открыть. Для этого используется функция fopen(), которая при успешном открытии возвращает указатель на структуру типа FILE, называемый указателем на файл. Как было сказано ранее, эта структура связана с физическим файлом и содержит всю необходимую информацию для работы с файлом.

Возвращаемое функцией значение нужно сохранить и использовать для ссылки на открытый файл. Если произошла ошибка при открытии файла, то возвращается NULL.

Функция открытия файла fopen() содержит два параметра, оба являются строковыми литералами:

FILE * fopen(char *filename, char *mode);

Первый задает физическое местонахождение (путь) и имя открываемого файла, а второй – тип доступа к файлу (режим открытия файла), который может принимать следующие значения:

 

“r” Открыть файл для чтения.
“w” Открыть файл для записи. Если файл существует, то его содержимое теряется.
“a” Открыть файл для записи в конец файла. Если файл не существует, то он создается.
“r+” Открыть файл для чтения и записи. Файл должен существовать.
“w+” Открыть файл для чтения и записи. Если файл существует, то его содержимое теряется.
“a+” Открыть файл для чтения и записи в конец файла. Если файл не существует, то он создается.

 

К комбинациям вышеперечисленным литералов могут быть добавлены также “t” и “b”.

“t” – открыть файл в текстовом режиме.

“b” – открыть файл в бинарном (двоичном) режиме.

Функция fseek()

Каждый открытый файл имеет так называемый указатель на текущую позицию. Все операции над файлами (чтение и запись) работают с данными с этой позиции. При каждом выполнении функции чтения или записи указатель смещается на количество прочитанных или записанных байт. В этом случае, как говорилось ранее, осуществляется последовательный доступ к данным. Но иногда необходимо читать и писать данные в произвольном порядке, что достигается путем установки указателя на некоторую заданную позицию в файле функцией fseek().

int fseek(FILE *f, long int offset, int whence);

Параметр offset задает количество байт, на которое необходимо сместить указатель соответственно параметру whence, в файле на который указывает f. Параметр whence может принимать следующие значения, указывающих место в файле, с которого начинается поиск:

SEEK_SET – смещение (поиск) выполняется от начала файла.

SEEK_CUR – смещение выполняется от текущей позиции указателя.

SEEK_END – смещение выполняется от конца файла.

Эти символические константы (макроопределения) определены как целочисленные значения. Константе SEEK_SET соответствует 0, SEEK_CUR – 1, SEEK_END -2.

Величина смещения может быть как положительной, так и отрицательной, но нельзя сместиться за пределы файла.

Состав проекта приложения. Понятие рабочей области.

Проект состоит из:

Рабочей области(Workspace), Консольного приложения(Win32 console application) и нашего файла текста программы(C++ Source File).

Рабочее пространство создаётся следующим образом:

FileàNewàWorkspace.

Рабочая область или рабочее пространство-это место на жёстком диске, которое мы отводим под проект!

Создаём приложение:

FileàNewàProjectàWin32 Console Application

Создаём текстовый файл для кода проги:

FileàNewàFilesàC++ Source file

Также в ходе работы к проекту могут добавлятся ещё текстовые файлы программ а также файлы компиляции *.obj и результат компановки --- наши программы *.exe

Компиляция и Компановка

О компиляторе. Разрабатывая программу, программист ориентируется на ту или иную среду разработки, компилятор. Программировать на С можно как в среде Windows, так и DOS, причем для каждой из операционных систем существует довольно большое количество средств разработки: от компилятора, работающего в режиме командной строки DOS, до мощной интегрированной интерактивной среды разработки. При разработке программ под Windows – среды разработки Microsoft Visual C++ и Borland C++Builder.

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

Идентификатор – это имя, которым обозначается некоторый объект (данное) в программе. Для записи идентификаторов используются буквы латинского алфавита, цифры, а также, знак подчеркивания ( _ ).

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

Ключевые слова:

auto, break, case, char, const, continue, default, do и т.д.

Множество символов языка С++ можно разделить на 4 группы.

В первую группу входят буквы латинского алфавита и символ подчеркивания. Одинаковые строчные и прописные буквы (а и А) имеют различные коды и при записи имен переменных различаются. Строчные буквы используются для написания ключевых слов языка. Буквы русского алфавита используются в текстах и комментариях.

Вторую группу составляют цифры (0,1,2,…,9).

В третью группу входят специальные символы:

 

. точка / вертикальн. черта {} фигурные скобки
, запятая \ обратная черта < меньше
; точка с запятой ~ тильда > больше
: двоеточие - минус = равно
? вопросит. знак + плюс ^ исключающее или
! восклиц. знак * звездочка %
‘ апостроф () круглые скобки # номер
| вертикальная черта [] квадратные скобки “ кавычки

 

Четвертую группу символов составляют управляющие последовательности, используемые при вводе/ выводе информации.

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

Консольные приложения обычно создаются без графического интерфейса пользователя и компилируются в автономный исполняемый файл. Консольное приложение запускается из командной строки; во время его работы происходит обмен входными и выходными данными между командной строкой и выполняемым приложением. Так как данные могут записываться и считываться через окно консоли, с помощью консольного приложения удобно осваивать новые методы программирования, не отвлекаясь на разработку интерфейса пользователя.

Шаблон автоматически добавляет наиболее важные ссылки и файлы проекта, используемые в качестве отправной точки при создании приложения.

Ссылки на следующие пространства имен .NET Framework:

Пространство имен System содержит фундаментальные и базовые классы, определяющие часто используемые типы значений, ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения.

mscorlib — сборка DLL, предоставляющая поддержку .NET Framework.

Исходные файлы:

Консоль (CPP-файл) — главный исходный файл и точка входа в приложение, созданное Visual Studio. Идентифицирует DLL-файл и пространство имен проекта. Поместите свой код в этот файл.

AssemblyInfo.cpp — файл с информацией (атрибутами, файлами, ресурсами, типами, сведениями о версиях, подписях и т. д.), предназначенной для изменения метаданных сборок проекта для Windows.

Stdafx.cpp — используется для построения файла предкомпилированного заголовка с именем Win32.pch и файла предкомпилированных типов с именем StdAfx.obj.

Файлы заголовков:

Stdafx.h — используется для построения файла предкомпилированного заголовка с именем Win32.pch и файла предкомпилированных типов с именем StdAfx.obj.

resource.h — автоматически созданный файл заголовка для app.rc.

Файлы ресурсов:

app.rc — файл сценария ресурсов программы.

app.ico — файл значка программы.

ReadMe.txt — файл с описанием каждого файла проекта; в нем используются созданные шаблоном фактические имена файлов.

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

к данным целого типа относятся следующие типы:

char, int, long int (2 байта), short int (4 байта). Модификаторы signed и unsigned могут предшествовать любому целому типу, но они не обязательны. Они указывают, как интерпретируется старший бит переменной. По умолчанию все переменные целого типа считаются signed, т.е. левый бит интерпретируется как знак.

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

К плавающим типам относятся три типа, представленные следующими именами типов, модификаторов и их сочетаний:

float
double
long double

Тип данных Байты Биты Min Max
float 3.4E-38 3.4E+38
double 1.7E-308 1.7E+308
long double 3.4E-4932 3.4E+4932

Для хранения вещественных чисел применяются типы данных float и

double. Смысл знаков "+" и "-" для вещественных типов совпадает с целыми. По-

следние незначащие нули справа от десятичной точки игнорируются. Поэтому вари-

анты записи "+523.5", "523.5" и "523.500" представляют одно и то же значение. В

Си++ также допускается запись в формате с плавающей запятой (в экспоненциальном

формате) в виде мантиссы и порядка. Например, 523.5 можно записать в виде

"5.235e+02" (т.е. 5.235*10*10), а -0.0034 в виде "-3.4e-03".

В большинстве случаев используется тип double, он обеспечивает более высо-

кую точность, чем float. Максимальную точность и наибольший диапазон чисел

достигается с помощью типа long double, но он требует больше памяти (в

Visual C++ 10 байт на число), чем double (8 байт).

Тип данных bool.

Переменные этого типа могут принимать значение true & false. Они используются для проверки логических выражений.







Последнее изменение этой страницы: 2016-04-08; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.229.118.253 (0.057 с.)