Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Функції printf() і scanf()



Ці функції здійснюють форматний вивід і ввід даних.

printf("На екран виводиться символ %c \n", ch);

керуюча стрічка

Керуюча стрічка містить два типи даних: символи, які безпосередньо виводяться на екран і специфікатора формату. Специфікатор починається з % за яким слідує код формату.

Специфікатор формату: %с – символ; %d – ціле десяткове число, %e – десяткове число у вигляді x.xхе+xx; %f – число з плаваючою точкою у вигляді xx.xxxx; %s – строка символів. Окрім того можуть застосовуватись модифікатори: %ld – long int, %lf – double.

Між знаком % і форматом команди може знаходитися десяткове число. Воно вказує на найменше поле, яке відводиться для друку. Якщо строка або число більше цього поля, то воно друкується повністю, ігноруючи зазначену ширину поля. Приклад: %5d. Нуль, поставлений перед цілим числом, означає, що необхідно заповнити невикористані місця нулями.

Приклад: printf("%05d",15); Результат – 00015

printf("%5d",15); Результат – _ _ _15

Щоб вказати кількість десяткових знаків для змінної з плаваючою крапкою після цілого числа в коді формату ставиться крапка і ціле число, яке вказує на кількість десяткових знаків. Коли такий формат застосовується до цілого числа, то число після точки означає максимальну ширину поля видачі.

Приклад: printf("%5.5f",2.2); Результат – 2.20000

Вирівнювання виводу відбувається по правому краю, для лівого краю – після % необхідно поставити "–".

Функція scanf() – це основна функція вводу з консолі. Вона призначена для введення даних будь-якого вбудованого типу і автоматично перетворює введене число в заданий формат.

scanf("%f%c%d",&a,&b,&c);

керуюча стрічка

Керуюча стрічка містить три типи символів: специфікатори формату, пробіли і інші символи. Символ пробілу в керуючій стрічці дає команду пропустити один або кілька пробілів в процесі введення (в потоці вводу).

1. Знак * після % означає прочитати дані вказаного типу але не присвоювати цього значення.

scanf("%d%*c%d",&i,&d); Ввведення – 50+20, Результат i=50 d=20

2. Найбільша ширина поля при зчитуванні

scanf("%5s",&str); Ввведення – 1234567, Результат str[]=12345

3. Якщо в керуючій стрічці зустрічаються інші символи то вони будуть пропущені

scanf("%dplus%d",&i,&d); Ввведення – 50 20, Результат i=50 d=20

4. Можливість задання множини пошуку (scanset). Функція scanf() читає символи до того часу поки вони зустрічаються в множині пошуку:

#include<stdio.h>

void main(void)

{

char s[10],t[10];

scanf("%[0123456789]%[a-z]",s,t)

printf("\n %s.......%s",s,t);

}

Пояснення:

Квадратні дужки [] після імені змінної означає, що оголошуються і опрацьовуються масиви даних тобто набір даних одного типу.

Вирази

Вирази у мові Сі – це деяка допустима комбінація змінних констант і операцій. Кожний вираз в мові С приймає певне значення. У виразах мови С є допустимим змішування змінних різного типу. Кінцевий результат приводиться до типу змінної, яка стоїть у лівій частині рівняння, при цьому тип може як підвищуватися, так і зменшуватись.

Операції мови Сі

Знак операції – це символ або комбінація символів, які повідомляють компілятору про необхідність проведення певних арифметичних, логічних та інших дій.

Операції можуть мати один операнд – унарна операція (–x), два операнди – бінарна операція (x+y, x–y, x*y). Кожна бінарна операція має свій порядок виконання: додавання – зліва направо, присвоювання – справа наліво. Кожна операція має свій пріоритет, а саме – множення має вищий пріоритет, ніж додавання, я додавання – вищий, ніж присвоювання.

Арифметичні операції

віднімання або унарний мінус –, додавання +, множення *, ділення /, ділення по модулю %, збільшення на 1 ++, зменшення на 1 – –.

УВАГА! Якщо операнди мають однаковий тип, то результат буде мати такий самий тип.

#include<stdio.h>

void main(void)

{

int x,y;

x=10; y=17;

printf("Ціла частина від ділення х на у %d", x/y);

printf("Залишок від ділення х на у %f", x%y);

}

 

Унарні операції ++ і ––.

Ці операції збільшують або зменшують значення змінної на одиницю. Вони можуть слідувати до операнда і після (префіксна і постфіксна форми).

X= X+1, X++, ++X дають однаковий результат в програмі, однак якщо префіксна або постфіксна форми знаходяться всередині виразу або функції, то у випадку префіксної форми спочатку виконується операція збільшення/зменшення на одиницю, а потім вираз або функція, а у випадку постфіксної форми спочатку виконується вираз або функція, а потім значення змінної змінюється на одиницю.

#include<stdio.h>

void main(void)

{

int x=5; y=60;

x++; ++y

printf("x=%d, y=%d \n",x,y);

printf("x=%d, y=%d \n",x++,++y);

}

Результат x=6, y=61

x=6, y=62




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