Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Включение файлов в текст программы

Файл – любая совокупность данных, имеющая отдельную спецификацию и включенная в каталог (папку) операционной системы. Формат спецификации: <имя>.<тип (расширение)>

Принятые по умолчанию типы файлов для языков C и C++:

.c - исходный текст на языке C,

.cpp - исходный текст на языке C++,

.obj - объектный (оттранслированный) модуль,

.exe - загрузочный (выполняемый) модуль,

.h - заголовочный (header) файл.

Включение файла в текст программы выполняется с помощью директивы вида:

# include {"<спецификация_файла>"| < <спецификация_файла> > }

Пример.

# include <stdio.h>

# include "my.h"

Обычно в текст программы включают другие программные файлы (.c или .cpp) или заголовочные (.h) файлы. В заголовочные файлы принято включать общие для различных процедур символические константы, прототипы функций, другие описания и определения. Очень много .h файлов входят в состав транслятора, например, stdio.h описывает стандартный пакет библиотечных функций ввода-вывода, в частности функции scanf и printf, math.h содержит прототипы всех библиотечных математических функций.

В директиве заключение спецификации файла в "..." предписывает искать включаемый файл в папке, где находится вызов программы, а в случае его ненахождения там в определенных в среде разработки папках. Применение для этой цели <... > выполняет поиск файла в папках, определенных в среде разработки.

Теперь приведем в качестве примера законченную работоспособную программу.

#include <stdio.h>

#define SIZE 4

/*******************************************************/

/* ВЫЧИСЛЕНИЕ КВАДРАТИЧНОЙ ФОРМЫ */

/******************************************************/

void main( void ){

float u[SIZE], /* Входной вектор */

b[SIZE][SIZE], /* Входная матрица */

v[SIZE], /* Вектор b*u */

z, /* Результат */

scalar( float [ ], float [ ]); /* Скалярное произведение векторов */

int i, j;

void matrix(float [ ][SIZE], float [ ], float [ ]);

printf("Исходный вектор:\n");

for (i=0; i<SIZE; i++){

scanf("%f", & u[ i ]);

}

printf("Исходная матрица:\n");

for (i=0; i<SIZE; i++){

for (j=0; j<SIZE; j++){

scanf("%f", & b[ i ][ j ]);

}

}

matrix(b, u, v);

z=scalar(v, u);

printf("\n\n\nКвадратичная форма равна %.5g\n", z);

}/* End main */


/* Умножение матрицы на вектор */

void matrix(float a[ ][SIZE], float x[ ], float y[ ]){

int i, j;

for (i=0; i<SIZE; i++){

for (y[ i ]=j=0; j<SIZE; j++){

y[ i ]+=a[ i ][ j ]*x[ j ];

}

}

}/* End matrix */

/* Скалярное произведение векторов */

float scalar( float x[ ], float y[ ]){

int i;

for (z=i=0; i<SIZE; i++){

z+=x[ i ]*y[ i ];

}

return z;

}/* End scalar */

1. С какой позиции записываются директивы препроцессора?

2. Какова область действия директивы?

3. Можно ли обойтись без директивы #include в языке C?

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

1. Что такое препроцессор?

2. В чем выгода применения директивы #define?

3. В каких заголовочных файлах находятся прототипы математических функций и функций ввода-вывода?

 




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 309; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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