Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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




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

 

Контрольные вопросы

Как задаются параметры в командной строке DOS?

2. Как должна быть описана функция main() для приема параметров?

3. Для чего в программу часто передается одним из параметров имя файла?

 


Лабораторная работа №27

 

Использование функций преобразования символов

 

Цель работы: научиться использовать функции преобразования символов.

 


Теоретические сведения

К функциям преобразования символов относятся следующие функции:

atoi – преобразование строки в целое число;

atof – преобразование строки в число с плавающей точкой;

atol – преобразование строки в длинное целое;

gcvt – преобразование значения с плавающей точкой в строку.

Все эти функции описаны в файле stdlib.h.

1. int atoi(char *str);

Получает ASCII строку и преобразует ее в значение типа int.

2. long atol(char *str);

Получает ASCII строку и преобразует ее в значение типа float.

3. float atol(char *str);

Получает ASCII строку и преобразует ее в значение типа long.

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

#include <stdio.h>

Int main(void)

{

int n;

float f;

char *str = "12345.67";

n = atoi(str);

f = atof(str);

printf("string = %s integer = %d float = %f\n", str, n,f);

return 0;

}

На экране будет такая строка:

string = 12345.67 integer = 12345 float = 12345.67

Обратное преобразование производится с помощью функций gcvt и ecvt;

4. char *ecvt (double value, int ndig, int *dec, int *sign);

value – число которое необходимо преобразовать в строку.

ndig – максимальное число знаков в результирующей строке.

dec – указатель на переменную типа int, в которую нужно произвести запись количества цифр слева от запятой.

sign – указатель на переменную типа int, в которую функцией производится запись 1, если value < 0, и 0, если value > 0

5. char *gcvt (double value, int ndec, char *buf);

Эта функция проще, чем ecvt. Она производит запись в память, начиная с адреса, сохраненного в указателе buf, числа value, переведенного в строку, ndec – максимальная длина строки.

В приведенном ниже примере программа осуществляет перевод заданного в программе числа с плавающей точкой в строку символов.

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

Int main(void)

{

char *string;

double value;

int dec, sign;

int ndig = 10;

char str[25];

double num;

int sig = 5;

value = -98.76;

string = ecvt(value, ndig, &dec, &sign);

clrscr();

printf("string = %s dec = %d sign = %d\n", string, dec, sign);

num = -9.876;

gcvt(num, sig, str);

printf("string = %s\n", str);

}

 

На экране будет:

string = 9876 dec = 2 sign = 1

string = -9.876

 

Задание:

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

2. Написать программу, которая бы вводила две строки, содержащие числа, и складывала их. Учесть возможный ввод нецифровых символов.

 

Контрольные вопросы

1. Какие существуют функции преобразования строки в число?

2. Какие существуют функции преобразования числа в строку?

 



СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ

 

 

1. Болски И. Язык програмування С. -М: Радио и связь, 1988. - 96 с.

2. Иванов А.Н. Язык программирования С : Предварительное описание / Прикладная информатика. - 1985. - Вып 1.-С.68. - 113.

3. Керниган Б., Ритчи Д. Язык программирования С. - М.: Финансы и статистика, 1992. -271 с.

4. Керниган Б., Ритчи Д., Фьюэр А. Язык программирования С. Задания по языку С. - М.: Финансы и статистика, 1985. -279с.

5. Кнут Д. Искусство программирования: в 3 т. - М., 1976. Т1. - 735с; 1978. Т3. 844с.

6. Г.П.Котлинская, О.И.Галиновский Программирование на языке. - Минск: «Вишейшая школа», 1991г. -156с.

7. Проценко В.С. та ін. Техніка програмування мовою Сі: Навч.посібник. - К.: Либідь, 1993. - 224с.

8. Трой Д. Программирование на языке С для персонального компьютера IBM РС. - М.: Радио и связь, 1991. -432 з.

9. Уинер Р. Язык Турбо С : Пер. з англ. -М.:: Мир, 1991. - 384с.

10. Уэйт М., Прата С., Мартин Д. Язык С. Руководство для начинающих. - М.: Мир, 1988. -512 з.

11. Дейтел Х., Дейтел П. Как программировать на С: Третье издание. - М.: Бином-Пресс, 2002г. - 1168с.

12. Сэмюел П. Харбисон III, Гай Л. Стил мл. Язык программирования С. - М.: ТОВ «Бином-Пресс», 2004г. - 528с.

13. Демидович Е.М. Основи алгоритмизации и программирования. Язык С. - СПб.: БХВ-Петербург, 2006г. - 440с.

14. Джонс Би., Эйткен П. Освой самостоятельно С за 21 день. - М.: Издательский дом «Вильямс», 2005. - 800с.

 


 

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 273.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...