Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все вопросы..docx
Скачиваний:
16
Добавлен:
25.09.2019
Размер:
158.31 Кб
Скачать

22.Файлы прямого доступа:

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

Номер последующей компоненты на 1 меньше длины файла.

Seek(f, n) Смещение указателя файла: Процедура смещает указатель файла f на n-ную позицию. Нумерация в файле начинается с 0.

FileSize(f) Определение количества компонент: Функция возвращает количество компонент в файле f.

FilePos(f) Определение позиции указателя: Функция возвращает порядковый номер текущего компонента файла f.

Truncate(f) Отсечение последних компонент файла: процедура отсекает конец файла, начиная с текущей позиции включительно

1.Особенности языка Си. Программа печати текста.

Эффективен, работает быстрее, чем Паскаль.Задачи на Си состоят из функций. Все программы состоят из функций. Они могут лежать в разных файлах, и каждая функция транслируется отдельно. Функция задается именем и аргументами (параметрами). Каждый оператор завершается ;{} - аналог begin и end в паскале. Входная точка в Си именуется main. Запуск программы через exe-файл. Транслятор - tcc. В программе существует всего 1 оператор. Нет оператора ввода/вывода: есть ф-ция преобразования информации, находящейся в файле. В Си апострофы двойные. Все, что заключено в них - строковая константа. \n - управляющий символ, обозначающий строки.

Программа печати

main() {

printf("моя первая программа\n");

}

Есть и такой вариант написания программы

main()

{

printf("моя\n");

printf("первая\n");

prnitf("программа\n");

}

Операции и их приоритеты ( >= , > , <= , < ) – самый высокий уровень приоритета.

Отношения ==(равно), !=(не равно ) , !-нет ,

&& -и ||-или. Чуть меньше приоритет .

2.Программа печати таблицы с циклом «пока».

Main()

{

Int lowf,upf,step;

Float far,cels;

Loaf=0;

Upf=300;

Step=20;

Fahr=lowf;

While (fahr=upf)

{

C=(5.0/9.0)*(fahr-32.0);

Printf(“%4.0f %6.1F\n”,fahr,cels);

/*6.1 значит всего 6 символов и 1 под дробную часть */

Fahr=fahr+step;

} /*конец цикла*/

} /*конец программы*/

3.Программа печати таблицы с арифметическим циклом.

# include <stdio.h>//подключаем стандартную библиотеку ввода-вывода

void main()//тело основной программы невозвратного типа (т.е. ничего не возврашают)

{//начали программку

for (int ft=0; ft<=300; ft+=20)

printf ("%4d %6.1f\n",ft,(5.0/9.0*(ft-32.0)));

}// end

Преимущества- нет лишних переменных ft теперь целого типа ,а Цельсий получаем с помощью выражения.

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

Инициализация - выполняется 1 раз до цикла.

Условие - выполняется каждый раз до входа в цикл.

Реинциализация- после выполнения цикла делается реинициализация и опять проверяется условие.

Программа суммирования 10 цифр.

Main()

{

Int I,sum;

For(i=1;i<=10,i=i+1);

Sum=sum+I;

}

4.Программа печати таблицы с арифметическим циклом при использовании символических констант.

# include <stdio.h>//подключаем стандартную библиотеку ввода-вывода

# define LOWf 0//отныне у нас есть слово LOWf, которое равно 0

# define UPF 300

# define STEP 20

void main()//тело основной программы невозвратного типа (т.е. ничего не возврашают)

{//начали программку

for (int ft=LOWf; ft<=UPF; ft+=STEP)

printf ("%4d %6.1f\n",ft,(5.0/9.0*(ft-32.0)));

}// end