Лабораторная работа №2 Среда разработки, основы языка и типы данных, ввод- вывод



Pdf көрінісі
бет1/3
Дата30.01.2023
өлшемі337,28 Kb.
#63632
түріЛабораторная работа
  1   2   3


Лабораторная работа № 2
Среда разработки, основы языка и типы данных, ввод- вывод
Программа на Cи состоит из набора процедур (часто называемых функциями, даже
если они не возвращают значений). Эти процедуры содержат объявления, операторы и
другие элементы, которые вместе говорят компьютеру что надо делать. На рисунке A-1
показана небольшая процедура, в которой объявляются три целочисленные переменные и
присваиваются им значения. Имя процедуры — main (главная). Процедура не имеет
формальных параметров, на что указывает отсутствие каких-либо идентификаторов между
скобками за именем процедуры. Тело процедуры заключено в фигурные скобки ( { } ).
Этот пример показывает, что Cи имеет переменные, и что эти переменные должны быть
объявлены до использования. Cи также имеет операторы, в этом примере это операторы
присваивания. Все операторы должны заканчиваться точкой с запятой (в отличие от
Паскаля, который использует двоеточия между операторами, а не после них).
Комментарии начинаются с символов « / *» и заканчивается символами «* /» и
могут занимать несколько строк.
main () /* это комментарий */
{
int i, j, k; 
/* объявление 3 целочисленных переменных */
i = 10; 
/* присвоить i значение 10 (десятичное число) */
j = i + 015; 
/* присвоить j значение i + 015 (восьмеричное число) */
k = j * j + 0xFF; /* установить k в j * j + 0xFF (шестнадцатеричное число) */
}
Рис. A-l. Пример процедуры в Си.
Процедура содержит три константы. Константа 10 в первом присваивании
это обычная десятичная константа. Константа 015 является восьмеричной константой
(равно 13 в десятичной системе счисления). Восьмеричные константы всегда начинаются
с начального нуля. Константа 0xFF является шестнадцатеричной константой (равной 255
десятичной). Шестнадцатеричный константы всегда начинаются с 0x. Все три типа
используются в Cи.
. Основные типы данных
Cи имеет два основных типа данных (переменных): целое и символ, объявляемые как int и
char, соответственно. Нет отдельной булевой переменной. В качестве булевой переменной
используется переменная int. Если эта переменная содержит 0, то это означает ложь/false,
а любое другое значение означает истина/true. Cи также имеет и типы с плавающей
точкой, но MINIX не использует их.
К типу int можно применять «прилагательные» short, long или unsigned, которые
определяют (зависящий от компилятора) диапазон значений. Большинство процессоров
8088 используют 16-битные целые числа для int и short int и 32-битные целые числа для
long int. Целые числа без знака (unsigned int) на процессоре 8088 имеют диапазон от 0 до
65535, а не от -32768 до +32767, как это у обычных целых чисел (int). Символ занимает 8
бит.
Спецификатор register также допускается как для int, так и для char, и является
подсказкой для компилятору, что объявленную переменную стоит поместить в регистр,
чтобы программа работала быстрее.
Некоторые объявления показаны на рис. А — 2.
int i; 
/* одно целое число */
short int z1, z2; 
/ *два коротких целых числа */
char c; 
/* один символ */
unsigned short int k; 
/* одно короткое целое без знака */
long flag_poll;
/* 'int' может быть опущено */
register int r; 
/* переменная регистра */
Рис. А-2. Некоторые объявления
.
Преобразование между типами разрешено. Например, оператор
flag_pole = i;


разрешен, даже если i имеет тип int, а flag_pole — long. Во многих случаяхнеобходимо или
полезно принудительно проводить преобразования между типами данных. Для
принудительного преобразования достаточно поставить целевой тип в скобках перед
выражением для преобразования. Например
:
р ( (
long
) i);
предписывает преобразовать целое число i в long перед передачей его в качестве
параметра в процедуру p, которая ожидает именно параметр long
.
При преобразовании между типами следует обратить внимание на знак.
При преобразовании символа в целое число некоторые компиляторы обрабатывают
символы как знаковые, то есть от — 128 до +127, тогда как другие рассматривают их как
без знака, то есть от 0 до 255. В MINIX часто встречаются такие выражения, как
i = c & 
0377
;
которые преобразует с (символ) в целое число, а затем выполняет логическое И
(амперсанд) с восьмеричной константой 0377. В результате получается, что старшие 8 бит
устанавливаются в ноль, фактически заставляя рассматривать c как 8-битное число без
знака, в диапазоне от 0 до 255.
При запуске программы на Си автоматически открываются пять потоков, основными из
которых являются следующие:
• 
Стандартный поток ввода stdin
• 
Стандартный поток вывода stdout
• 
Стандартный поток вывода сообщений об ошибках stderr
Стандартный поток ввода stdin по умолчанию соответствует клавиатуре, а
потоки stdout и stderr - экрану монитора.
Для управления вводом-выводом с помощью этих потоков используются ряд функций:
• 


Достарыңызбен бөлісу:
  1   2   3




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет