Понятие, объявление и определение. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Понятие, объявление и определение.



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

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

extern int iNumber;
float var2;
//объявление + определение
double var3 = 3.14159,
Один тип объявляется через ‘, ’:
char var1, var2,var3, var4 = ’ y ’;

 

Ключевое слово typedef.

typedef тип синоним типа,

typedef unsigned char BYTE;
BYTE var8;
#if defined(_win32)
typedef int int32;
#else
typedef long int 32;
#endif
int32 i=1 - 32 разряда памяти

Нельзя комбинировать имена, созданные с помощью typedef.

//typedef long int 32 MY; - НЕЛЬЗЯ
for (int index…)
{
index
}

Виды компоновки программ:

1) Внешняя
external
(все переменные определены вне {} без спецификатора static)
int var1,
int main
{}

 

2) Внутренняя
internal
(объявление вне {}, но с ключевым словом static)

 

3) Без компоновки
no linkage
(
не подлежат компоновке )
{int var1;
}

file.cpp
int z;
static int y;
void f1()
{
int x;
static int;
}
void f2()
{
использование y
}
void f3()
{
использование y, z
}

  

 

file2.cpp
extern int z;
void f4();
{
использование z;
}

 

Автоматическая память – все переменные, которые были определены внутри блока, или параметры функции.

 

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

{

int i;
}
//i=1

File scope – область видимости для переменной не {} будет видна только в этом файле

#include…
int z;
void main()
{
z=10;       

}


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

--- namespace;
---function scope;
---void f1(void)
{
label1:
}
void f2(void)
{
label1:
}
---class scope
---область видимости имён параметров прототипа функции.

 

Скрытие имени переменной.

int ix; //глобальная

void Func ()

{

int ix; //локальная

ix=2;

{

    int ix; //локальная

    ix=3;

}

}


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

К скрытому глобальному имени можно обратиться    с помощью оператора разрешения области видимости “:: ”

 

int ix; // глобальная

void Func ()

{

ix=1;

int ix;

:: ix=50;

обращение к глобальной переменной

ix=4;

}

Void F1 ()

{

ix=20;

}

Пространство имён – namespace.

namespace one { int version=1;}

namespace two { int version=2;}

int main ()

{

int n=one::version; //1

int n1=two:: version; //2

}

Инструкции.

Инструкции – идут по порядку, содержат имена, разделители.

   инструкция

                         имя               оператор       разделители    

                                                                     (частей инструкции)

                                                                                TAB     пробел

 

Типы инстр.

 Для чего она

Примечание

составная инструкция

группа интср. 

{} может не содержать ни

 

(заключ. В {})

одной инструкции

инструкция объявления

имя переменной

Вводит новое имя в новые

 

(нового типа)

области видимости

 

Последова-тельность операторов,

может содержать арифм.

инструкция выражения

операндов, действ. 

выражения, логич. выраж.,

 

над ними

вызов ф-ии

пустая инструкция

;

 

инструкция выбора

if, else, switch

 

инструкция цикла

do, while, for

while (усл.) инструкция

инструкция безусловного

continue, go to, return,

 

перехода

break

 


Инструкции условий.

If, if – else

if (условие) {true инструкция}

[ else {false инструкция}] – не обязательно

If (x!=0) … if (x)

Переключатель switch

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

{

case конст. _1:

…//

break;

case конст. _2:

…//

break;

default:

}

 Существенно:

1) В скобках switch находится выражение, которое в итоге сводится к целому типу (switch переводит к целому типу).

2) Точки, куда передаётся управление, помечены ключевым словом case. Каждой такой метке сопоставляется константа (типа int) для сравнения со значением, вычисленным в скобках.

3) Обычно использование case предполагает, что будет выполняться вся ветвь программы, следующая за операндом. Для прекращения обработки case выражений, используется функция break, которая передаёт управление на закрывшуюся скобку.

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

{

case 5;

cout<<5;

case 4;

cout <<4;

}

 Выражение default будет выполняться, если не совпало ни одно условие.

switch (выр-е)

{

case 5;

{

    int iX;

}

break;

}

Инструкции цикла.

While.

 Обычно используется для нерегулярных циклов (количество повторений заранее неизвестно).

while (условие продолжения цикла) {операторы}

Замечание: С помощью while очень легко создать бесконечный цикл.

while (int i=1) {}

break – выход из бесконечных цикла

if(getch()=’_’) break;}

do… while

 do тело цикла while (условие продолжения)

 

For

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

for ([инициализирующая инструкция];[выражение 1, условие]; [выражение 2])

{ тело цикла;}

for (index=0, index <10, index ++)

 Условие продолжения цикла с оператором for вычисляется на каждой итерации, поэтому не стоит компилировать вычисление сложения выражения.

 Лучше выражение вычислять один раз до начала цикла.

for (…; r<x*y*z; r++) => for (…,r<R; r++)

{}

 В любой части цикла могут быть несколько выражений, они должны быть разделены “,”, а не “;”.

for (i=0, j=0; i<100; i++, j++)

Тело цикла может быть пустым.

 



Поделиться:


Читайте также:




Последнее изменение этой страницы: 2021-12-15; просмотров: 45; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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