17095

Функції введення/виведення printf(), scanf().Лінійні обчислювальні процеси

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

Информатика, кибернетика и программирование

Лабораторна робота № 7 Тема: Функції введення/виведення printf scanf.Лінійні обчислювальні процеси Ціль роботи: Вивчити формати оголошень і роботу основних функцій уведення/виведення інформації. Навчитися складати прості програми з лінійним обчислювальним процесом. О...

Украинкский

2013-06-29

99.5 KB

3 чел.


Лабораторна робота № 7

Тема: Функції введення/виведення printf(), scanf().Лінійні обчислювальні процеси

Ціль роботи: Вивчити формати оголошень і роботу основних функцій уведення/виведення інформації. Навчитися складати прості програми з лінійним обчислювальним процесом.

Обладнання: ПК,ПО Borland C++

Теоретичні відомості

Однієї з основних задач при програмуванні  є введення і виведення даних. У С для цього застосовують ряд функцій printf(), scanf(), cprintf(), ecvt(), fprintf(), fread(), fscanf(), hutc(), puts(), putw(), sprintf(), vprintf(). Функція printf() здійснює форматированє виведення у потік stdout. Оголошення функції знаходиться в заголовному файлі <stdio.h>.

Синтаксис оголошення функції

printf() #includ <stdio.h> printf (const char* format [,argument,…]);

У дужках [ ] зазначені необов'язкові елементи специфікації.

Специфікація формату, що визначає виведення аргументів, має вид:

 %[flags] [width] [.precision] [F/N/h/l/L] type

Функція scanf() - Здійснює форматированє уведення з потоку stdin

Синтаксис #include <stdio.h>

int scanf(const char *format[,adress, ...]);

Невідображуваними символами є пробіл ( ), символ табуляції (\t), символ переходу на новий рядок (\n) і інші керуючі послідовності. Якщо функція scanf() зустрічає невідображуваний символ у форматному рядку, він буде зчитувати, але не зберігати всю послідовність символів аж до наступного відображуваного символу у вхідному потоці.

Відображуваними символами є всі інші символи коду ASCII, за винятком символу відсотка (%). Якщо функція scanf() зустрічає в рядку формату відображуваний символ, то вона прочитає, і збереже відповідний йому символ.

Специфікації формату наказують функціям scanf() здійснити читання і перетворення символів із вхідного полючи в значення  визначеного типу, потім запам'ятати їх у пам'ять за адресою, зазначеному відповідним адресним аргументом. Завершальний (останній) невідображуваний символ не читається (включаючи символ переходу на новий рядок), якщо тільки він не описаний явно у форматному рядку.

Специфікація формату функції …scanf() має наступний вид

% [*] [widht] [F|N] [h|l|L] <type>

Специфікація формату починається із символу відсотка (%). Після цього символу випливають символи специфікації. Нижче представлене загальний опис рядка формату scanf(), що керує формуванням потоку даних.

Чи символ специфікатор

Чим чи керує що визначає

*- придушення призначення

width – ширина полючи

Size

-

Скасовує присвоювання наступного полючи введення

Максимальне число символів, що зчитуються

Змінює розмір за замовчуванням адресного аргументу

Символи типу

Символ

Очікується на вході  

Тип аргументу

d

D

o

O

i

I

u

U

x

X

e, E

f

g, G

s

c

Десяткове ціле

Десяткове ціле

Восьмеричне ціле

Восьмеричне ціле

Десяткове ціле

Десяткове ціле

Десяткове ціле без знака

Десяткове ціле без знака

Шестнадцатеричне ціле

Шестнадцатеричне ціле

Число з комою, що плаває

Число з комою, що плаває

Число з комою, що плаває

Рядок символів

Символ

Покажчик на int (int *arg)

Покажчик на long (long *arg)

Покажчик на int (int *arg)

Покажчик на long (long *arg)

Покажчик на int (int *arg)

Покажчик на long (long *arg)

Покажчик на unsigned int (unsigned int *arg)

Покажчик на unsigned long (unsigned long *arg)

Покажчик на int (int *arg)

Покажчик на long (long *arg)

Покажчик на float (float *arg)

Покажчик на float (float *arg)

Покажчик на float (float *arg)

Покажчик на масив символів (char arg[ ])

Покажчик на символ (char *arg)

Приклад

/*    ЗАНЯТТЯ N 2

  Розробив Сидоров К.В.  */

#include <stdio.h> //Директива препроцесора (#include) включає

#include <conio.h> //Заголовні файли з розширенням (.h)

#include <string.h>

  int a;       //Оголошення глобальної перемінної типу int

int main(void)  //Головна функція

 {//Початок складеного оператора (блоку, тіла функції)

  char c,buf[20];       //Оголошення локальних перемінних

  char *pst="\"slovo\"";//Оголошення локальної перемінний c

  float f=26.6;         //ініціалізацією

  double d;

  clrscr();             //Функція очищення екрана

  printf(" Уведення перемінної типу char:   "); //Функція виведення на екран

  fflush(stdin);        //Функція очищення буфера клавіатури

  scanf("%c",&c);       //Функція введення даних,

   // & - операція узяття адреси

  printf("виведення перемінної типу char:  ");

  printf("%c\n",c);

  printf("\n Уведення перемінної типу int:  ");

  scanf("%d",&a);

  printf(" \t виведення перемінної типу int\n");

  printf(" Формат виведення (int): +6d     #6o     #8x\n");

  printf("\t\t     |%+6d|%#6o|%#8x|\n ",a,a,a);

  printf("\n Уведення перемінної типу int:  ");

  scanf("%d",&a);

  printf("\t виведення перемінної типу int\n");

  printf(" Формат виведення (int): -6d     +6d     #8d\n");

  printf("\t\t     |%-6d|%+6d|%#6d|\n",a,a,a);

  printf("\n виведення вихідного рядка:  %s\n\n",pst);

  printf(" Уведення рядка в масив:    ");

  scanf("%s",buf);

  printf("виведення рядка з масиву: %s\n\n",buf);

  printf(" Уведення перемінних типу float and double (через пробіл):\n");

  printf("\t\t      ");

  scanf("%f %lf",&f,&d);

  printf("\t виведення перемінних типу float and double\n");

  printf(" Формат виведення (float):  10.6f       10.6e       +10.6g\n");

  printf("\t\t     |%10.6f|%10.6e|%+10.6g|\n",f,f,f);

  printf(" Формат виведення (double): 10.8lf      10.8e        10.8g\n");

  printf("\t\t     |%10.8lf|%10.8e|%+10.8g|\n ",d,d,d);

  getche(); //Функція введення символу з клавіатури

  return 0; //Оператор повернення значення з функції (0)

}           //Кінець складеного оператора (блоку, тіла функції)

/*  Результат виконання програми

Уведення перемінної типу char:   u

виведення перемінної типу char:  u

Уведення перемінної типу int:    78

 виведення перемінної типу int

Формат виведення (int):      +6d     #6o     #8x

    |   +78|  0116|    0x4e|

Уведення перемінної типу int:    90

виведення к перемінної типу int

Формат виведення (int):      -6d     +6d    #8d

    |90    |   +90|    90|

виведення вихідного рядка:  "slovo"

Уведення рядка в масив:    символи 45!"#:$.;? %;?

виведення рядка з масиву: символи 45!"#:$.;? %;?

Уведення перемінних типу float and double (через пробіл):

  78.89  6778.0

  виведення перемінних типу float and double

Формат виведення (float):   10.6f       10.6e        +10.6g

       | 78.889999|7.889000e+01|    +78.89|

Формат виведення (double):  10.8lf      10.8e         10.8g

      |6778.00000000|6.77800000e+03|     +6778|  */

Приклад програми на С++

Скласти програму,що буде виводити будь-який текст на екран.

#include<iostream.h>

void main()

{cout<<" Я люблю математику\n";}

Хід роботи

  1.  Вивчити теоретичні відомості.
  2.  Виконати завантаження інтегрованого середовища розробки С++ (IDE) для
    Borland C, розташованої в каталозі N:\APL\BC\BIN\BC.EXE, з активної директорії.
  3.  Ознайомитися з форматом функцій printf() і scanf().
  4.  Скопіювати приклади для функцій printf, scanf з убудованої допомоги в активне вікно і вивчити їхню роботу. Вивчити синтаксичні конструкції, приведені в убудованій допомозі.
  5.  Виконати завантаження програм-прикладів (N:\APL\TC\LAB\*.CPP), їхнє коректування з використанням різних можливостей функцій printf (), scanf (), збереження файлів і компіляцію.
  6.  Написати звіт і зробити Захист роботи по роботі.
  7.  Підготуватися до захисту лабораторної роботи, вивчивши питання по даній темі, вивчивши контрольні питання по темі.

Індивідуальне завдання до лабораторної роботи №2

Скласти програму для форматованого введення і виведення даних заданого типу відповідно до індивідуального завдання приведеному в таблиці 2.1.

Таблиця 2.1 - Індивідуальне завдання

варіант

перший тип

другий тип

третій тип

четвертий тип

вирівнювання по краю

Точність речовинних типів

  1.  

unsigned int

long int

float

double

лівий

14.5

  1.  

signed int

long double

char

short int

правий

12.8

  1.  

unsigned int

unsigned long int

short int

float

правий

10.3

  1.  

long int

Char

double

float

лівий

11.2

  1.  

unsigned long int

float

int

long double

правий

7.3

  1.  

signed long int

long double

unsigned int

float

правий

16.5

  1.  

short int

long double

float

unsigned int

лівий

11.5

  1.  

unsigned long int

float

long int

char

правий

20.9

  1.  

float

signed int

long double

char

лівий

13.6

  1.  

long int

float

double

char

лівий

14.3

  1.  

char

signed long int

long double

float

правий

9.6

  1.  

float

int

long double

unsigned long int

лівий

8.2

  1.  

char

unsigned long int

float

long int

лівий

12.4

  1.  

float

signed long int

long double

signed long int

правий

15.7

  1.  

long double

short int

float

unsigned long int

правий

17.5

  1.  

long double

unsigned long int

int

char

лівий

14.2

  1.  

float

short int

char

long double

правий

10.5

  1.  

unsigned long int

short int

long int

char

лівий

11.7

  1.  

char

double

long double

unsigned int

лівий

16.12

  1.  

float

int

double

char

лівий

10.3

  1.  

long double

unsigned int

double

float

правий

9.5

  1.  

long double

float

long double

unsigned long int

лівий

13.6

  1.  

float

long int

long double

unsigned long int

лівий

12.4

  1.  

float

long int

char

unsigned long int

правий

13.8

  1.  

signed int

long double

float

unsigned short long

правий

10.6

  1.  

float

double

char

long int

лівий

12.5

  1.  

signed long int

long double

float

char

правий

11.4

  1.  

int

long double

unsigned long int

float

лівий

10.3

  1.  

unsigned long int

float

long int

char

лівий

15.6

  1.  

signed char

long double

unsigned char

short int

лівий

18.10

Вимоги до змісту звіту приведені в лабораторній   роботі   №1.

Контрольні запитання

  1.  Як здійснюється виведення і введення інформації в мові? Чи існують убудовані оператори введення/ виведення?
  2.  Для чого використовується форматованє уведення/ виведення?
  3.  З якого символу починається форматний рядок?
  4.  Для чого встановлюються прапори?
  5.  Які символи перетворення використовуються й у яких випадках?
  6.  Які елементи формату є обов'язковими елементами?
  7.  У якому заголовному файлі приведені оголошення (прототипи) цих функцій?
  8.   Чи відрізняються символи типу <type>, застосовувані для функцій prinf() і scanf()?
  9.   Чи відрізняються типи аргументів функцій? Якщо відрізняються, то в чому розходження і чим воно викликано?
  10.  Про що свідчить модифікатор const?
  11.  Назвіть функції для введення/ виведення інформації.


 

А также другие работы, которые могут Вас заинтересовать

26280. Обеспечение сохранности документов 48 KB
  Обеспечение сохранности документов до середины 30х гг. понималось в комплексе с другими направлениями сбор концентрация в архивах использование документов когда комплектование и использование документов оформляются как самостоятельное направление проблема обеспечения сохранности включала учет и организацию хранения документов. она связывалась с эвакуацией и реставрацией документов.
26281. Система НСА к архивным документам 19.24 KB
  Назначение СНСА. Понятие первичная информация вторичная информация СНСА архива СНСА АФ РФ Архивный справочник отражение вопросов связанных с НСА в законодательных и нормативнометодических актах РФ в 1990е 2000е годы. Требования предъявляемые к СНСА к документам государственных муниципальных архивов. СНСА это комплекс взаимосвязанных и взаимодополняемых архивных справочников о составе и содержании архивных документов создаваемых на единой методической основе для поиска архивных документов и архивной информации в целях...
26282. Организация документов АФ РФ и других архивных документов в архиве 62 KB
  Организация документов АФ РФ и других архивных документов в архиве Архивы в зависимости от их функций и подчиненности можно разделить на две группы: государственные и ведомственные. Государственные архивы учреждения которые осуществляют собирание хранение и организацию архивных документов в целях их всестороннего использования. Наиболее ценная часть документов архива по истечении срока хранения в ведомстве передается на постоянное хранение в государственный архив. Архивный фонд Российской Федерации это исторически сложившаяся и...
26283. Документационное обеспечение управления как отрасль деятельности 16.88 KB
  Документационное обеспечение управления как отрасль деятельности ДОУ отрасль деятельности занимающаяся организацией работы с документами начиная с их создания либо получения в организации до их исполненения либо отправления. Наряду с термином делопроизводство в последнее время употребляется и синонимичный ему термин документационное обеспечение управления ДОУ. ДОУ включает в себя две составные части: 1 документирование обеспечение своевременного и грамотного создания документов; 2 организация работы с документами организация...
26284. Правовое и нормативно-методическое регулирование доу в РФ в 1990-2000 гг 131 KB
  Подобные правила закрепляются в актах 4 уровней: федеральный уровень уровень органов государственной власти субъектов Российской Федерации уровень органов местного управления уровень органов управления организаций и их объединениями. Например: по положению в системе нормативных актов по уровню управления: закон распоряжение и т. В соответствии с уровнями управления источниками норм и правил делопроизводства являются: законодательство РФ законодательство субъектов РФ нормативные акты органов местного самоуправления...
26285. ДОКУМЕНТ: ПОНЯТИЕ, ФУНКЦИИ, СВОЙСТВА 20.56 KB
  здесь нашла отражение прежде всего информационная сущность документа. Этот же ГОСТ определяет реквизит как обязательный элемент оформления официального документа. Добавлении в определение функции документа. Управление документами.
26286. Документирование управленческой деятельности 105.5 KB
  Сила свойство официального документа сообщаемое ему действующим законодательством компетенцией издавшего его органа и установленным порядком документирования.302003 Унифицированные системы документации. Унифицированная система организационнораспорядительной документации. Распространяется на организационнораспорядительные документы относящиеся к Унифицированной системе организационнораспорядительной документации УСОРД постановления распоряжения приказы решения протоколы акты письма и др.
26287. Системы документации 34.5 KB
  Системы документации. ОРД сисма плановой документации первичноучётная документация отчётностатистическая докия трудовая бухгалтерская финансоворасчётная внешнеторговая Ещё есть корпоративные системы документации совокупность доков которые предназначены для реализации управленческих функций в определённой сфере деятельности или корпорации. На первых порах существовала единая система документации которая по мере развития специализации систем управления утратила свою целостность т. Система коммерческой документации бухучёта...