Преобразование переменных типа String и массивов char друг в друга и в другие типы.



Переменной типа String можно присваивать и значение большинства других типов:символьных (char, массив char), числовых (int, double и т.д.), при этом они автоматически преобразуются к типу String. Аналогично, если в бинарной операции первый операнд имеет тип String, второй также преобразуется к типу String.

А) Преобразование из массива char в String и наоборот.

Для преобразования массива char к типу String достаточно просто присвоить его переменной типа String.

Обратное же преобразование автоматически не делается. Для его осуществления используется метод c_str() типа String. Он создает временный массив char, который создается только на время выполненияоператора, содержащего этот метод:

Если же нужно использовать полученный массив char в последующей программе, его надо скопировать в "постоянный" (объявленный) массив char :

Для ввода массивов char в оконных приложениях необходимо использовать функцию strcpy и метод c_str() :

Б) Преобразование из String в простую переменную типа char.

При таком присваивании нужно указать номер символа в строке, который будет присвоен:

в) Преобразование String и числовых типов.

Функции преобразования были описаны выше в теме "Функции ввода-вывода, Ввод-вывод в оконных приложениях":

 

                   String IntToStr(int x);                             - int à String

                   int StrToInt(String S);                             - String à int

                   double StrToFloat(String S);                  - String à double

                   String FloatToStr(double x);                  - double à String

                   String FloatToStrF(double x, Format, int p, int d);

                   double à String с указанием формата и точности.

 

33. Краткая характеристика файлов *.h. Стандартные библиотечные функции. Стандартные арифметические функции.

В любой программе кроме операторов и операций используются средства библиотек, входящих в среду программирования. Часть библиотек стандартизована и поставляется с компилятором. Функции, входящие в библиотеку языка Си, намного облегчают создание программ.

В стандартную библиотеку входят также прототипы функций, макросы, глобальные константы.Это заголовочные файлы с расширением *.h, которые хранятся в папке include и подключаются на этапе предпроцессорной обработки исходного текста программ.

 

Стандартные математические функции

Математические функции языка Си декларированы в файлах math.h и stdlib.h.

В приведенных здесь функциях аргументы и возвращаемый результат имеют тип double. Аргументы тригонометрических функций должны быть заданы в радианах (2π радиан = 360°).

 

 

34. Функции пользователя - способы описания, операция вызова функции.

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

"Основная часть" программы в языке Си также считается функцией - функцией main (основная, главная).

Каждая функция в программе должна быть определена (только один раз). Определение функции – это код функции, включающий ее заголовок и полный текст функции. Оно имеет следующий вид:

Тип_результата имя_функции ( список параметров )

{

код функции

return выражение;

}

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

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

имя_функции (список аргументов);

где в качестве аргументов можно использовать константы, переменные, выражения. Аргументы при вызове функции будут подставляться на место параметров функции.

Список параметров состоит из перечня типов и идентификаторов параметров, разделенных запятыми. Список параметров определяет объекты, которые требуется передать в функцию при ее вызове.

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

параметром нужно непосредственно указывать его тип - нельзя, например, писать (double x, y), а нужно писать (double x, double y).

Функция может не иметь параметров, но круглые скобки необходимы в любом случае (и в определении, и в вызове).

Тип результата определяет тип выражения, значение которого возвращается в точку вызова функции при помощи оператора возврата return выражение; Выражение, указанное в операторе return, преобразуется к типу_результата, указанному в заголовке функции, и передается в точку вызова. Из функции, которая не объявлена как void, необходимо возвращать значение, используя оператор return. Если тип функции не указан, то по умолчанию устанавливается тип int.

В функции может быть несколько операторов return (например, в разных ветвях оператора if): выполнение любого из них завершает работу функции и передает управление обратно в точку ее вызова. После выполнения последнего оператора кода функции также происходит возврат в точку вызова.

При вызове функции параметрам присваиваются значения аргументов. Обратного же присваивания при возврате из функции не происходит, поэтому изменение обычных параметров внутри функции не окажет влияние на значения аргументов. Передавать результаты работы из функции вовне надо либо с помощью оператора return, либо другими способами, описанными ниже (глобальные переменные; параметры-указатели).

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

Описание функции заключается в приведении в начале программного файла ее прототипа (заголовка). Прототип функции сообщает компилятору о том, что далее в тексте программы будет приведено ее полное определение.

Прототип функции имеет вид:

тип_результата имя_функции (список) ;

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

 


Дата добавления: 2018-08-06; просмотров: 516; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!