МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Функции распознавания вида символа





Строго говоря, это не функции, а макроопределения, описанные в заголовочном файле <ctype.h>:

 

isalnum(c) истина если c буква или цифра;

isalpha(c) истина если c буква;

isdigit(c) истина если c цифра;

iscntrl(c) истина если c символ удаления или обычный уп-

равляющий символ;

isprint(c) истина если c печатный символ;

islower(c) истина если c буква нижнего регистра;

isupper(c) истина если c буква верхнего регистра;

ispunct(c) истина если c знак пунктуации;

isspace(c) истина если c пробел, знак табуляции, возврат

каретки, символ перевода строки, вертикальной

табуляции, перевода страницы;

isxdigit(c) истина если c шестнадцатеричная цифра;

_toupper(c) преобразует c из диапазона [a-z] к символам

[A-Z];

_tolower(c) преобразует c из диапазона [A-Z] к символам

[a-z];

_toascii(c) преобразует c больший, чем 127 к диапазону

0-127 путем очистки всех битов, кроме 7 млад-

ших.

Функции преобразования данных

Прототипы функций преобразования данных находятся в файле <stdlib.h>.

Преобразование строки символов в целое число:

 

int atoi(const char *s);

long atol(const char *s);

 

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль.

 

Преобразование строки символов в вещественное число:

 

double atof(const char *s);

 

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль.

 

Преобразование строки символов в длинное целое число с указанием системы счисления:

 

long strtol(const char *s, char **endptr, int radix);

unsigned long strtoul(const char *s, char **endptr,

int radix);

 

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль. Указатель *endptr устанавливается на первый символ строки не отвечающий синтаксису целого числа языка СИ.

Преобразование строки символов в вещественное число:

 

double strtod(const char *s, char **endptr);

 

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль. Указатель *endptr устанавливается на первый символ строки не отвечающий синтаксису вещественного числа языка СИ.

 

Преобразование целого числа в строку символов с указанием системы счисления:

 

char *ltoa(long value, char *string, int radix);

char *itoa(int value, char *string, int radix);

char *ultoa(unsigned long value, char *string,

int radix);

 

Возвращает указатель на выходную строку.

Преобразование вещественного числа в строку символов:

 

char *ectv(double value, int ndig, int *dec, int *sign);

char *fctv(double value, int ndig, int *dec, int *sign);

 

Функции возвращают указатель на статический буфер памяти с выходной строкой, содержащей только цифры числа. Буфер обновляется при каждом вызове функции. Для функции ectv() ndig является числом цифр в выходной строке, для fctv() - числом цифр в выходной строке после десятичной точки. Параметр dec показывает положение десятичной точки в выходной строке, которая явно не присутствует. Параметр sign принимает отличное от нуля значение для отрицательных чисел.

Преобразование вещественного числа в строку:

 

char *gctv(double value, int ndec, char *buf);

 

Функции возвращают указатель на буфер buf памяти с выходной строкой, содержащей готовое к печати символьное представление числа из ndec цифр в формате F Фортрана, если возможно. В противном случае число будет представлено в формате e функции printf().

Структуры языка C.

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

Отличие от массивов - элементы структуры разного типа.

Необходимость: часто реальный объект характеризуется величинами разного типа.

Пример: товар на складе

название char name[21];

цена float price;

количество int number;

Все три переменных неразрывно связаны с каким-то товаром.

Описание структуры

Способ

struct { char name[21];

float price;

int number;} goods;

Выделяется 27 байт для переменной goods;

Способ

struct _GOODS { char name[21];

float price;

int number;};

Оператор не выделяет память, а устанавливает тип структуры. Для выделения памяти надо выдать оператор:

struct _GOODS goods1, goods2;

Выделяет память для goods1 и goods2, каждой по 27 байт.

Можно смепшать два способа:

struct _GOODS { char name[21];

float price;

int number;} goods;

Устанавливает тип структуры и выделяет память для goods.

3 способ. Используется оператор описания типа typedef:

typedef double real;

 

обычное описание

Если при описании имени стоит слово typedef, то описание не выделяет память, а создает новый тип данных - real, который можно применять также как и любое другое описание типа:

real a, b;

Еще пример:

typedef char string[40];

 

новый тип string

string a, b, c; - описание трех переменных, каждая из

которых является массивом из 40 символов.

В случае структуры имеем:

typedef struct { char name[21];

float price;

int number;} GOODS;

Описание типа

GOODS goods1, goods2; - выделение памяти для переменных

goods1 и goods2.





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.