Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы.doc
Скачиваний:
33
Добавлен:
04.03.2016
Размер:
317 Кб
Скачать
☆

Основные библиотечные функции c для работы с символами

Функ­ция

Заголовоч­ный файл

Назначение

Аргу­менты

Резуль­тат

getchar()

stdio.h

Ввод символа с клавиатуры (с эхом)

-

int

getch()

conio.h

Ввод символа с клавиатуры (без эха)

-

int

tolower(ch)

ctype.h

Преобразовать англ. букву в малую

int

int

toupper (ch)

ctype.h

Преобразовать англ. букву в большую

int

int

isdigit(ch)

ctype.h

Определить цифра или нет

int

int

isalpha(ch)

ctype.h

Определить англ. буква или нет

int

int

islower(ch)

ctype.h

Определить малая англ. буква или нет

int

int

isupper(ch)

ctype.h

Определить большая англ. буква или нет

int

int

isalnum(ch)

ctype.h

Определить англ. буква, цифра или нет

int

int

isspace(ch)

ctype.h

Определить пустой ли символ

int

int

Основные библиотечные функции c для работы с символьными массивами

Функ­ция

Заголовоч­ный файл

Назначение

Аргу­менты

Резуль­тат

strlen(s)

string.h

Длина строки

d–destination []

s–source []

n– number

int

strcpy(d,s)

strncpy(d,s,n)

string.h

Копирование(присваивание) строк

strcat(d,s),

strncat(d,s,n)

string.h

Соединение(конкатенация) строк

strcmp(s1,s2)

strncmp(s1,s2,n)

string.h

Сравнение строк

int

<0 – s1<s2

=0 – s1=s2

>0 – s1>s2

Ход работы

  1. Вычислить корни квадратного уравнения видаax2+bx+c=0 по формуле

  1. Вычислить третью сторону треугольника, если известны две другие и угол между ними в градусах по формуле

  2. Напишите программу, запрашивающую у пользователя декартовы координаты двух точек (x1,y1) и (x2,y2)с клавиатуры, вычисляющую и печатающую расстояние между ними по следующей формуле:

  3. Записать на С++ следующие формулы

  4. Напишите программу, определяющую большее из трех случайных чисел.

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

  6. Реализуйте набор личных функций tolowerR(ch),toupperR(ch),isalphaR(ch),islowerR(ch),isupperR(ch),isalnumR(ch) для работы с символами русского алфавита.

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

  8. Напишите прототип функции с именем Perimeter(), которая возвращает беззнаковое длинное целое и принимает два параметра типа int.

  9. Напишите определение функции Perimeter(), вычисляющую периметр прямоугольника.

  10. Что неверно в следующем фрагменте? #include <iostream.h> void myFunc (int x); void main() { int x, y; y = myFunc(int); } void myFunc (int a) { return 4*a; }

  11. Напишите функцию, возвращающую частное от деления двух целых чисел. Если второе число 0, то деление не выполняйте и верните –1.

  12. Напишите драйвер (main- фукцию) для проверки функции п.4.

  13. Напишите и проверьте функцию, возвращающую истину, если с клавиатуры введены символы ‘Y’, ‘y’, ‘д’, ‘Д’ и ложь в противном случае.

  14. Напишите и проверьте inline – функцию, возвращающую числовое значение переданного ей символа.

  15. Напишите и проверьте работу void-функции для удваивания числа, используя механизм передачи параметров по значению. Убедитесь в неправильности ее работы.

  16. Перепишите п.8, применив механизм С++ для передачи параметров по ссылке.

  17. Напишите функцию для сложения двух чисел, имеющую одно значение по умолчанию.

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