русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-04-05; просмотров: 721; Нарушение авторских прав



Факториал без рекурсии:


int n=5;
int res=1;
for(int i=n; i>1; i--)
res *=i;
int F(int n)
{
if (n<=1)
return 1;
else
{
int x=F(n-1);
return n*x;
}
}

Структуры Си.

В большом количестве случаев удобно обращаться к совокупности переменных Структура языка Си – средство для укрупнения данных.

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

struct имя
{
список полей структуры
}
struct student
{
char name[30]
unsigned int cource,
bool sex;
int age;

}


Создание объектов структуры.

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

student vasya;

Си: struct student vasya;

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

vasya. age=20;
vasya. sex=1;
vasya. cource=1;
strcpy(vasya. name, “Vasiliy”);

[struct] student g_182_4[20];
g_182.4[0]. age=18;

Создание структур – типов данных.

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

typedef struct
{
char name[30]
...
int age;
}
student;
student pety;

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

[struct] student Ira ={“Irina”, 2, 0, 19, …};

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

Инициализация массивов структур похожа на инициализацию многомерных массивов.

{
“Masha”, 1, 0, 18…
}

Действия со структурами.

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

[struct] student Balabanov1={“Anton”, 2, 0, 19, …};
[struct] student Balabanov2=Balabanov1;
strcpy(Balabanov2. Name, “Vladimir”);
Balabanov2=Balabanov1;

Указатели и структуры.

[struct] student *man1=new[struct] student;

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



->(минус больше)

strcpy(man1->name, “Yan”);
man1->sex=1;
man1->age=25;
man1->course=1;

Оператор sizeof. Размерность объекта.

struct A
{int ma;;}
size_n n=sizeof(A); //4
struct AA
{int ma; char m_c;};
size_n n=sizeof(AA); //8
struct AAA {int;char;double;};
size_t n=sizeof (AAA); //16

 

Структуры и функции.

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

Делает программу нечитаемой;

Увеличивает время на формирование параметров (создания копий в стеке);

Занимает место в стеке.

Так как структура может передаваться и по значению, и по адресу, значительно эффективнее передать адрес одного объекта типа структура.

 



<== предыдущая лекция | следующая лекция ==>
Указатель на динамически созданный объект. | Нарисуйте блок-схему персонального компьютера и дайте характеристику основных его блоков.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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