Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфрм отв.rtf
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
11 Мб
Скачать
☆

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

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

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

  • идентификатор не должен совпадать с ключевыми словами и именами используемых стандартных объектов языка;

  • не рекомендуется начинать идентификаторы с символа подчеркивания;

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

22) В С можно присваивать целочисленные значения в десятичной, восьмеричной и шестнадцатеричной системах счисления. Для того, чтобы присвоить переменной число в восьмеричной системе счисления, перед ним надо написать 0 (ноль), в шестнадцатеричной — 0x (ноль и икс), например:

int a, b;

a = 077; // записано восьмеричное число

b = 0x1F; // присвоено шестнадцатеричное число

Любые целые числа можно выводить на экран в десятичном, восьмеричном и шестнадцатеричном представлении. Пример кода для вывода определенных ранее двух переменных в различных системаъ счисления:

printf("%d %o %x %X\n", a,a,a,a);

printf("%d %o %x %X\n", b,b,b,b);

В результате на экране вы увидите:

63 77 3f 3F

31 37 1f 1F

23,24) значенийРазмер (байт)

bool true и false 1

signed char -128 … 127 1

unsigned char 0 … 255 1

signed short int -32 768 … 32 767 2

unsigned short int0 … 65 535 2

signed int-2 147 483 648 … 2 147 483 647 4

unsigned int0 … 4 294 967 295 4

signed long int-2 147 483 648 … 2 147 483 647 4

unsigned long int0 … 4 294 967 295 4

float3.4e-38 … 3.4e+38 4

double1.7e-308 … 1.7e+308 8

long double 3.4e-4932 … 3.4e+493210932 10

Объявление переменных:

{int a,b,c;

double d;

double e=2,7;}

Объявления переменных

Объявление переменной может содержать помимо самого объявления также инициализацию переменной, то есть указание первоначального значения переменной.

Объявления указываются:

  • вне функции, класса, метода для глобальных переменных;

  • в начале блока инструкций { } для локальных переменных;

  • как выражение в последующих частях блока инструкций {} для локальных переменных (не для языка Си).

int global_var;

main()

{

int y;

...

{

int z=1;

getch();

int x=5; /*не работает для языка Си*/

...

}

...

}

25) В языке С к арифметическим операциям относятся следующие операции:

  • - вычитание или унарный минус;

  • + сложение;

  • * умножение;

  • / деление;

  • % деление по модулю;

  • ++ увеличение на единицу;

  • -- уменьшение на единицу;

Операции присваивания

=     Присваивает значение, указанное справа, переменной, стоящей слева Каждая из приводимых ниже операции изменяет переменную, стоящую слева, на величину, находящуюся справа. Мы используем следующие обозначения: П для правой части и Л для левой. + = прибавляет величину П к переменной Л 

-=

вычитает величину П из переменной Л

*=

умножает переменную Л на величину П

/=

делит переменную Л на величину П

%=

выдает остаток от деления переменной Л на величину П

Пример: rabbits *= 1.6; то же самое, что rabbits = rabbits * 1.6; 

Математические функции

abs - абсолютное значение (модуль) acos, acosl - арккосинус asin, asinl - арксинус atan, atanl - арктангенс atan2, atan2l - арктангенс2 cabs, cabsl - абсолютное значение комплексного числа ceil, ceill - округление вверх, наименьшее целое, не меньшее х cos, cosl - косинус cosh, coshl - косинус гиперболический exp, expl - экспонента fabs, fabs - абсолютный модуль дроби floor, floorl - округление вниз, наибольшее целое, не большее х fmod, fmodl - остаток от деления, аналог операции % frexp, frexpl - разделяет число на мантиссу и экспоненту hypot, hypotl - гипотенуза labs - модуль длинного целого ldexp, ldexpl - произведение числа на два в степени exp log, logl - логарифм натуральный log10, log101 - логарифм лесятичный modf, modfl - разделяет на целую и на дробную часть poly, polyl - полином pow, powl - степень pow10, pow10l - степень десяти sin, sinl - синус sinh, sinhl - синус гиперболический sqrt, sqrtl - квадратный корень tan, tanl - тангенс tanh, tanhl - тангенс гиперболический

26,27) В то время как функция printf() осуществляет форматированный вывод данных, функция scanf() осуществляет их форматированный ввод. Это значит, что поступающие на ввод данные преобразуются соответственно указанному формату(ам) и записываются по адресу(ам) указанной(ых) переменной(ых):

scanf(строка_формата, адреса_переменных);

Причина, по которой в scanf() передаются адреса, а не значения переменных, очевидна. Функция scanf() должна изменять значения переменных тех функций, из которых вызывается. Единственный способ — это получить адреса областей памяти.

Спецификации формата данных, допустимые в строке формата, для scanf()почти идентичны тем, что были описаны для функции printf(). На этом уроке мы подробно не рассмотрим все возможности форматированного ввода с помощью scanf(), зато разберем ряд конкретных примеров.