2 (1109531)
Текст из файла
Семинар 2 (1 курс, С)Альтернатива программе №1 (вычисление площади круга):#include <stdio.h>main(){printf("\nПлощадь круга = %f", 3.1415*3.0*3.0);}#include <stdio.h>double area (double);void main(){операторы (объявления, выражения, и.т.п.);}double area (double f){операторы;}Важность определения типа переменной. Память ЭВМ - последовательность ячеек, вкоторых могут находиться нули или единицы (биты):010111011010001001011101Максимальное целое число,представимое одним байтом?Десятичная система 9310 = 93 =3·100 + 9·10110100010байт - на многих машинах это минимальная единицаинформации, которая может быть адресованаДвоичная система 010111012 = 1·20 +0·21 + 1·22 +1·23 +1·24 + 0·25 + 1·26 + 0·27 =9310Максимальное целое число, представимое одним байтом = 11111111 = 28-1 = 25510.Диапазон 0 ÷ 255.Знак кодируется старшим битом.
Отрицательное число хранится в двоично-дополнительномвиде: пример -2: 210 = 0000 00102: инвертируем: 1111 1101: +1 : 1111 1110.Диапазон: -128 ÷ 127.В Си данные целого типа могут занимать различное количество байт. В Visual C++ короткоецелое (short) занимает 2 байта (диапазон -215 ÷ 215-1 для чисел со знаком и 0 ÷ 216-1 ≡ 6553510для чисел без знака (unsigned short), длинное целое (long) занимает 4 байта (диапазон-231 ÷ 231-1).Наряду с целыми числами необходимо хранить и вещественные числа, которые имеютмантиссу и порядок: 0.13·108. В машине вещественное число типа float кодируется так же,как и длинное целое - четырьмя байтами.
Однако смысл их другой: 23 бита отводится намантиссу, 8 бит на порядок и один на знак. Следовательно, та же операция сложения длявещественных чисел выполняется не так, как для целых чисел! => Транслятору языка типпеременной важен как с точки зрения количества байтов, отводимых под переменную, так иих интерпретации.Семинар 2 (1 курс, С)2Основные типы данных в Сицелые, длина в VCПримечаниеint4 байтаДлина зависит от системы, но short<=int<=longshort2 байтаlong4 байтаБеззнаковые целые типы образуются из знаковых + unsigned:unsigned int, unsigned short, unsigned long, unsigned charchar1 байтОперация sizeof(тип) возвращает число байт для данноготипа. Например, sizeof(int).С плавающей точкойfloat4 байтаdouble8 байтЗапись констант целого типа:ОбычнаяСи138138-367-367138LОбычная, по основанию 8 и 16Си118 = 9100111116 = 17100x11Запись вещественных констант:ОбычнаяСиОбычная с порядком1,3451.345-0,15-0.15Си-3-.15178 10178.e-30,367 1050.367e5Константы типа char: 'A' , '\64', 'b', специальные символы: '\07' - звонок.Объявление переменной (в начале функции):int a;float b;int c,d,e; //несколько переменных сразуint g = 5; //объявление с инициализациейПриведение типов.float f ;double df = 1.0;f = df; /*(неявное), (warning) */f = (float) df; /* явное */Основные арифметические операции•Присваивание=int i;i = 10;•Сложение +i = 2+5;i = i+1;printf("%d", 4+20);"Си штучки"i=j=k=l=10;≡l=10; k=10; j=10; i=10;Семинар 2 (1 курс, С)3•Вычитание -i = 5-2;•Умножение *x = 2.4*j;•Деление /x = 4.0/3.0;•Деление по модулю % i = 10%7;•Изменение знакаПример.float x; int i =1, j =2;x = i/j;=>0.0 (!) (тип результата)x = (float)i/j;=>0.5результат 3 (остаток от деления на 7)i = -j;•Старшинство операций: унарный -, *, /, % -> +, Порядок выполнения операций может быть изменен круглыми скобками:i = (j+1)*(j+2)"Си штучки"•Увеличение и уменьшение:i = i + 1;i = i -1;i++;i--;Постфиксная (i++) и префиксная формы (++i), пример:main(){int a = 1, b = 1, ap, pb;ap = a++;pb = ++b;printf("%d %d %d %d", a, ap, b,pb);}•-> 2122Варианты оператора присваивания:i+=5;i*=10;-=,/=,-> i = i + 5;-> i = i*10;%=Спецификации формата%d%6d%f%е%g%6f%6.2f%ld%lf%o%x%с%s%%- вывод значения десятичного целого- в поле из не меньше, чем 6 позиций- печать числа в виде dddd.dddd- печать числа в видеd.dddd e ddd- либо %f, либо %е- в поле из не меньше, чем 6 позиций- с двумя знаками после запятой- вывод длинного целого- вывод значения типа double- восьмеричное целое- шестнадцатиричное целое- литера (символ)- спецификация формата для строки- вывод самого знака процентаПример.char c;c = '\64'printf("%c",c); -> 4printf("%d",c); -> 52printf("%o",c); -> 64Семинар 2 (1 курс, С)4Специальные символы:\n\t\а\"\\- перевод строки и возврат каретки- табуляция- звонок- двойная кавычка- сама обратная черта"Стандартные" математические функцииТребуется включение в программу файла:#include <math.h>double pow(double, double);Пример:x = y3,12->x = pow(y, 3.12);double sin(double);double cos(double);double tan(double);double sqrt(double);double exp(double);double log(double);double log10(double);Пример:x = sin(y)->x = sin(y);- натуральный логарифм- десятичный логарифмdouble fabs(double);- модуль вещественного числаint abs(int);- модуль целого числаdouble cosh(double);- косинус гиперболический:double sinh(double);double tanh(double);e x + e−x2x−xe −e- синус гиперболический: sinh( x) =2xe − e−x- тангес гиперболический: tanh( x) = xe + e−xcosh( x) =double atan2(double, double); - арктангес, первый аргумент ~ sin, второй - cos.Генератор псевдослучайных чиселint rand(void) /* целые числа от 0 до RAND_MAX */void srand(unsigned int); /* смена начальной точки генератора */Пример.#include <stdlib.h>#include <time.h>int i,j;srand( (unsigned)time( NULL ));i = rand();j = rand();Б.
Керниган, Д. Ритчи. Язык программирования Си. §1.1, 1.2, 2.1 – 2.5, 2.7, 2.8, 2.10, 7.2.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.