Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программировании на Си.doc
Скачиваний:
3
Добавлен:
08.09.2019
Размер:
301.57 Кб
Скачать

53

СОДЕРЖАНИЕ

Общие сведения о программировании на языках С и С++. Типичная структура программы. 5

Директива препроцессора #include 5

Составной оператор или блок { } 5

Пустой оператор или разделитель ; 5

Комментарии /* */ или // 5

Идентификаторы 6

Форматный ввод/вывод данных. 6

1.Форматный вывод 6

2.Форматный ввод . 8

Операции языка С. 9

Лабораторная работа №1 Данные. Типы данных. Приведение типов. Циклы 12

Теоретическая часть 12

Типы данных 12

Тип void 14

Оператор sizeof 14

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

Примеры программ 15

Задание на лабораторную работу № 1 16

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

Лабораторная работа №2 Циклы. Операторы организации условных и безусловных переходов. 18

Теоретическая часть 18

Операторы организации циклов. 18

Операторы организации условных и безусловных переходов. 20

Примеры программ 22

Задание на лабораторную работу № 2 23

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

Лабораторная работа №3 Указатели. Структурированные типы данных 25

Теоретическая часть 25

Указатели и операции с ними. 25

Массивы. 26

Строки символов. 29

Структуры. 30

Оператор typedef. 32

Битовые поля. 33

Смеси (объединения). 34

Перечисляемый тип данных. 34

Примеры программ 35

Задание на лабораторную работу № 3 36

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

Лабораторная работа №4 Файлы и файловые операции 38

Теоретическая часть 38

Файлы. 38

Примеры программ 42

Задание на лабораторную работу № 4 43

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

Лабораторная работа № 5 Функции 45

Теоретическая часть 45

Общие сведения. 45

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

Указатели на функции. 48

Рекурсия. 49

Перегрузка функций в файле (только С++) 49

Примеры программ 50

Задание на лабораторную работу № 5 52

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

РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 53

Общие сведения о программировании на языках С и С++. Типичная структура программы.

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

Простейшая программа (“Hello, world!!!”):

#include<stdio.h>

void main(void)

{

printf(“Hello, world!!!”);

}

Директива препроцессора #include

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

Составной оператор или блок { }

В приведенном выше примере после имени main() вы видите открывающуюся фигурную скобку «{», а в конце программы — закрывающуюся фигурную скобку «}». Эти скобки объединяют группу операторов, которая называется блоком операторов. Блоки операторов могут представлять собой совокупность простых операторов, а могут включать, например функции, операторы циклов, условные операторы.

Пустой оператор или разделитель ;

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

Комментарии /* */ или //

Начало текста комментария /* конец — */

Для С++ комментарий в одну строку — //.

Идентификаторы

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

1. Они должны начинаться с буквы латинского алфавита (a,..., z, A,..,Z) или с символа подчеркивания (_).

2. В них могут использоваться буквы латинского алфавита, символ подчеркивания и цифры (0,.....9). Использование других символов в идентификаторах запрещено.

3. В языках С и С++ буквы нижнего регистра (a,..„z), применяемые в идентификаторах, отличаются от букв верхнего регистра (A,.....,Z). Это означает, что следующие идентификаторы считаются разными: name, NaMe, NAME и т. п.

4. Идентификаторы могут иметь любую длину, но воспринимаются и используются для различения объектов (функций, переменных, констант и т. п.) только определенные символы. Их число меняется для разных систем программирования (в Borland C++ оно может устанавливаться при настройке среды и имеет максимальное значение - 32). Предположим, что это число установлено равным 5. Тогда идентификаторы count и counter будут идентичны, поскольку у них первые пять символов совпадают.

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

Форматный ввод/вывод данных.

1.Форматный вывод

Функция printf обеспечивает форматный вывод. Ее можно записать в следующем формальном виде:

printf («управляющая строка», аргумент _1, аргумент _2,...);

Управляющая строка содержит компоненты трех типов:

обычные символы, которые просто копируются в стандартный входной поток (выводятся на экран дисплея);

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

с - значением аргумента является символ;

d или i - значением аргумента является десятичное целое число;

е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида l.23e+2;

Е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида l.23E+2;

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

q (или G) - используется, как е или f, и исключает вывод незначащих нулей;

о - значением аргумента является восьмеричное целое число;

s - значением аргумента является строка символов (символы строки выводятся до тех пор, пока не встретится символ конца строки или же не будет выведено число символов, заданное точностью);

u - значением аргумента является беззнаковое целое число;

х - значением аргумента является шестнадцатеричное целое число с цифрами 0,..., 9, а, b, с, d, е, f;

X - значением аргумента является шестнадцатеричное целое число с цифрами 0,...,9, А. В, С, D. Е, F;

р - значением аргумента является указатель;

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

управляющие символьные константы:

\а - для кратковременной подачи звукового сигнала;

\b-для перевода курсора влево на одну позицию;

\f-для подачи формата;

\n-для перехода на новую строку;

\r-для возврата каретки;

\t - горизонтальная табуляция;

\v - вертикальная табуляция;

\\ - вывод символа \;

\' - вывод символа ';

\" - вывод символа ";

\? - вывод символа ?.

2.Форматный ввод .

Функция scanf обеспечивает форматный ввод. Ее можно записать в следующем формальном виде:

scanf («управляющая строка», аргумент _1, аргумент _2,....);

Аргументы scanf должны быть указателями на соответствующие значения. Для этого перед именем переменной записывается символ &. Назначение указателей будет подробно рассмотрено далее.

Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. В нее могут включаться:

пробелы, символы табуляции и перехода на новую строку (все они игнорируются);

спецификации преобразования, совпадающие с аналогичными у функции printf

обычные символы, кроме % (считается, что они должны совпадать с очередными неизвестными символами во входном потоке).

Программа вычисляющая экспоненту введенного числа:

#include<stdio.h> //для printf() и scanf()

#include<math.h> //для exp()

void main(void)

{

float num,result;

printf("Enter a number = ");

scanf("%f",&num);

result=exp(num);

printf("Exponent of %f is %f\n",num,result);

getchar();

getchar();

}