Зав. Кафедрой эи бгуир, канд. Техн. Наук В. И. Комличенко 


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



ЗНАЕТЕ ЛИ ВЫ?

Зав. Кафедрой эи бгуир, канд. Техн. Наук В. И. Комличенко



Авторы:

А.Г.Корбит, Т.М.Кривоносова

 

Л 12     Методическое пособие по программированию для слушателей курсов по переподготовке и получению высшего образования. «Основы программирования на алгоритмическом языке Си». / А.Г.Корбит, Т.М.Кривоносова. - Мн.: БГУИР, 2004. -    c.48.

ISBN                            

 

 

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

Предназначен практикум для слушателей курсов по переподготовке и студентов, получающих высшее образование.

 

 

УДК 681.3.06 (075)

ББК 32.973 я 73

 

Ó ИИТ БГУИР, 2004

СОДЕРЖАНИЕ

 

 

ЗАДАНИЕ 1. Линейные вычислительные процессы............  
ЗАДАНИЕ 2. Разветвляющиеся вычислительные процессы....  
ЗАДАНИЕ 3. Циклические вычислительные процессы.........  
ЗАДАНИЕ 4. Функции пользователя..........................   
ЗАДАНИЕ 5. Циклические процессы с использованием одномерных массивов......................................  
ЗАДАНИЕ 6. Циклические процессы с использованием многомерных массивов.....................................  
ЗАДАНИЕ 7. Строки и массивы указателей...................  
ЗАДАНИЕ 8. Структуры и файлы............................  
ЛИТЕРАТУРА.............................................  
ПРИЛОЖЕНИЕ............................................  

 

 


З А Д А Н И Е 1. Линейные вычислительные процессы

 

Цель работы: изучить правила составления программ на языке Си: базовые типы данных, ввод-вывод данных, основные математические функции. Научиться программировать линейные алгоритмы.

Алфавит языка Си

В языке Си используются наборы символов:

1) прописные и строчные буквы латинского алфавита;

2) арабские цифры;

3) специальные символы:

+ (плюс), - (минус), * (звездочка), / (дробная черта), = (равно), > (больше), < (меньше),; (точка с запятой), & (амперсант), [ ] (квадратные скобки), { } (фигурные скобки), () (круглые скобки), _ (знак подчеркивания), (пробел),. (точка),, (запятая),: (двоеточие), # (номер), % (процент), ~ (поразрядное отрицание),? (знак вопроса),! (восклицательный знак), \ (обратный слеш).

 

Классификация данных

В языке Cи применяются данные двух категорий: простые (скалярные) и сложные (составные) типы данных. К основным (базовым) типам данных относятся целый, вещественный и символьный типы. В свою очередь, данные целого типа могут быть короткими - short, длинными - long и беззнаковыми - unsigned. Приведем размеры и возможные диапазоны базовых типов данных:

Таблица 1

Наименование типа Тип данных К-во байт Диапазон значений
Символьный char 1 -128... 127 (0... 255)
Целый int 2 -32768... 32767
Короткий short 2(1) -32768... 32767 (-128...127)
Длинный long 4 -2147483648...2147483647
Беззнаковый целый unsigned int 2 0... 65535
Беззнаковый long unsigned long 4 0... 424967295
Вещественный float 4 3,14*10-38  ... 3,14*1038
Вещественный с двойной точностью double 8 1,7 *10-308 ...  1,7 *10308

 

Декларирование объектов

Объекты в программе необходимо декларировать. При декларировании объекты можно инициализировать (задавать начальные значения).

Например:               int  j=10, m=3, n;

                             float c=-1.3, l=-10.23, n;

При декларировании объектов используются их идентификаторы (ID), которые могут включать цифры, латинские прописные и строчные буквы, символ подчеркивания. Первый символ идентификатора не может быть цифрой. В языке Си прописные и строчные буквы отличаются, т.е. PI, Pi и pi – различные идентификаторы. Принято использовать в идентификаторах переменных строчные буквы, а в именованных константах – прописные.

Длина ID определяется реализацией транслятора Cи и редактора связей (компоновщика). Современная тенденция - снятие ограничений длины идентификатора.

Разделителями ID объектов являются: пробелы; символы табуляции, перевода строки и страницы; комментарии (играют роль пробелов).

Комментарий - любая последовательность символов, начинающаяся парой символов /* и заканчивающаяся парой символов */ или начинающаяся символами // и до конца текущей строки.

 

Структура программы

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

Общая структура функции:

< класс_памяти > < тип > < имя функции >(объявление параметров)

{                             - начало функции

           < определение локальных объектов >

           < операции и операторы >

}                              - конец функции

Кратко рассмотрим основные части общей структуры программы.

Перед компиляцией программы на языке Си автоматически выполняется предва­ри­те­ль­ная (препроцессорная) обработка текста программы. С помощью директив препро­цес­сора задаются необходимые действия по преобразованию текста программы перед компиляцией.

Директивы записываются по следующим правилам:

- все препроцессорные директивы начинаются с символа #;

- все директивы начинаются с первой позиции;

- сразу за символом # должно следовать наименование директивы, указывающее текущую операцию препроцессора.

Наиболее распространены директивы # include и # define.

Директива # include используется для подключения к программе заголовочных файлов (обычных текстов) с декларацией стандартных библиотечных функций. При заключении имени файла в угловые скобки < > поиск данного файла производится в стандартной директории с этими файлами. Если же имя файла заключено в двойные кавычки ” ”, то поиск данного файла осуществляется в текущем директории.

Например:                  

#include <stdio.h> - подключение файла с объявлением стандартных

функций файлового ввода-вывода;

#include <conio.h> - функции работы с консолью;

#include <graphics.h> - графические функции;

#include <math.h>    - математические функции.

Директива # define (определить) создает макроконстанту и ее действие распро­страняется на весь файл, например:             

# define PI  3.1415927

В ходе препроцессорной обработки программы идентификатор PI заменяется значе­нием 3,1415927.

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

# include < stdio.h >                                 

# include < conio.h >                             // Директивы препроцессора     

# define PI 3.1415927

void main (void)                 // Заголовок главной функции

{                                                  // Начало функции

int num;                                // Декларирование переменной num

num = 13;                              // Операция присваивания

clrscr ();                                 // Очистка экрана

printf (" \n Число pi = %9.7f \n %d - это опасное число \n”, PI, num); 

}                                           // Конец функции

Директивы препроцессора include подключают заголовочные файлы, содержащие декларации функций ввода-вывода (stdio.h - для функции printf) и работы с консолью (conio.h - для функции clrscr); директива define создает макроконстанту PI и по всему тексту программы заменяет ее значением 3,1415927. В главной функции main декларируется переменная целого типа num, которой далее присваивается значение 13. Функция printf выводит на экран информацию:

Число pi = 3.1415927

13 – это опасное число

Как видно, функция main представляет собой набор операций и операторов, каждый из которых оканчивается символом; (точка с запятой). В тексте использованы комментарии после пары символов //.

 



Поделиться:


Последнее изменение этой страницы: 2020-11-28; просмотров: 74; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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