5 (1108004)
Текст из файла
Курс «Алгоритмы и алгоритмические языки»1 семестр 2015/2016Лекция 51Введение в язык программирования СиСхема простейшего компьютераПроцессорАЛУРегистрыШинаОсновнаяпамятьВнешниеустройства2Си-машинаПроцессорРегистрыАЛУОсновная памятьШинаПрограмма истатические данныеВнешниеустройстваКучаСтек3Си-машинаКлассы памятиРегистровые переменныеАвтоматические переменныеСтатические переменныеДинамическая память(рассмотрим позже)ПроцессорРегистрыАЛУОсновная памятьШинаПрограмма истатические данныеВнешниеустройстваКучаСтек4Типы данныхБазовые типы данных: char (символьный),int (целый), float (с плавающей точкой),double (двойной точности),_Complex (C99, комплексный)Тип void (без значения)Модификаторы базовых типов: signed, unsigned,long, short, long long (C99)к типу int применимы все модификаторык типу char – только signed и unsignedк типу double – только long (C99)5Типы данныхПредставление целых чисел: позиционнаядвоичная системаБайты в представлении числа идут подрядПорядок байт не гарантируется, то естьзависит от аппаратуры (big/little endian)Порядок бит в байте также не гарантируется(и его может быть невозможно узнать)Отрицательные числа часто представляютсяв дополнительном коде (n бит):- самый значащий бит (n-1) является знаковым- биты от 0 до n-2 – значения- положительные значения – как обычно- отрицательные значения: 2n - |x|6Типы данных≤ ≤ ≤ ≤sizeof – размер типа (любого объекта типа)int x -> sizeof(x) == sizeof(int)Файл limits.h задает минимальные имаксимальные значения целых типовsizeof(char) == 1sizeof(short)≥ 2sizeof(int) ≥ 2sizeof(long) ≥ 4sizeof(long long)≥ 8Файл inttypes.h задает знаковые ибеззнаковые целые типы фиксированныхразмеров (8, 16, 32, 64 бита)7Типы данныхТип _Bool (C99, значения 0/1, целый беззнаковый)Необходимо включить stdbool.h для объявленийbool, true, falseТип _Complex (C99, float/double/long double)Необходимо включить complex.h для объявленийcomplex, I и т.п.Тип _Imaginary (C99) является необязательным8ПеременныеПеременная = тип + имя + значениеКаждая переменная является объектом программыКлючевые слова (C89 – 32, C99 – C89 + 5) не могутбыть именами переменныхОбъявление переменной:тип список_переменныхМожно задать класс памяти и начальное значениепеременной9Область действия переменнойПеременная может быть объявлена:(1)(2)(3)внутри функции или блока (локальная);в объявлении функции (параметр функции);вне всех функций (глобальная).Область действия (видимости)локальной переменной – блок, в котором она объявлена(C99 – начиная со строки объявления)глобальной переменной – программный файл, начинаясо строки объявленияВ одной области действия нельзя объявлять болееодной переменной с одним и тем же именем10Область действия переменной и классы памяти#include <stdio.h>int count;/* глобальная переменная */void func (void){int count;/* автоматическая переменная */count = count - 2;}static int mult = 0;/* статическая переменная */int sum (int x, int y){count++;return (x + y) * (++mult);}int main (void){register int s = 0;/* регистровая переменная */count = 0;s += sum (5, 7);s += sum (9, 4);func ();printf ("Сумма равна %d, вызвали функцию %d раз\n", s, count);return 0;}11.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.