Записывается следующим образом

a=выражение;

Здесь а переменная

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

При преобразовании соблюдаются следующие приоритеты

Double → float→long→int→short

Допускаются следующие упрощенные варианты

X+=p // x=x+p

x-=p // x=x-p

c*=p // c=c*p

c/=p // c=c/p

c%=p // c=c%p

value1=value2=value3=9;

value1=8*(value2=5);

25 вопрос ** Ввод данных с помощью функции scanf

В языке С для ввода данных используется функция

scanf(s1, s2);

Здесь s1 – список форматов; s2 – список переменных

. Все переменные должны начинаться с символа & и отделяться друг от друга запятой.

Форматы служат для перевода данных из внешнего представления во внутренее при вводе и в обратном направлении при выводе !!!!

Форматы должны заключаться в двойные кавычки “ ”

Форматы записываются в виде %kod

Типы переменных и форматы должны быть согласованы.

Часто используемые форматы приведены ниже

КОД ТИП перменной

%c char

%d int

%ld long int

%e float

%f float

%lf double

%g f,e общий

%o 8 –ичная система

%s строка

%u insigned int

%x 16 –ичная система

Пример

scanf (“%f %f %f”,&a,&b,&c);// здесь вводятся 3 действительные перем.

26 вопрос ** Вывод данных в помощью функции printf

В языке С для вывода данных используется функция

printf(s1, s2);

Здесь s1 – список форматов, s2 – список переменных.

Общие правила использования аналогичны scanf

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

Общая структура формата имеет следующий вид. %[флаг][En][.точность][модификатор]тип

Ниже приводятся форматы для вывода

Параметр Назначение
Флаг
- Смещение влево , справа заполняется пробелами, по стандарту смещение вправо.
+ Вывод знака «+» или «-»
Пробел Перед положит. Числом пробел, перед отрицательным – «-»
# Код системы счисления : 0 – восьмерич , 0х (0Х) 16-ти ричная
En
n Длина поля вывода. Если недостаточно то автоматически увеличивается, пустые позиции заполняются пробелами.
0n Аналогично но пустые позиции заполняются 0.
Точность
  Стандартная точность
n e, E, f количество знаков после запятой
Moдификатор
h Для d, i, o, u, x, X short int
l Для d, i, o, u, x, X long int
Тип
с char, при выводе один байт.
d Signed int
i В десятичной системе signed int
o В восьмеричной системе int unsigned
u В десятичной системе unsigned int
x, X В 16 системе int unsigned, если х тогда a-f istifadə, если Х тогда– A-F.
f Следующий формат [-]dddd.dddd
e Следующий формат [-]d.dddde[+|-]ddd
E Следующий формат [-]d.ddddE[+|-]ddd
g e или f в зависимости от значения и точности
G Е или F в зависимости от значения и точности
s Для строк

В функции Printf используется ряд специальных символов.



Simvol Funksiya
\b Смещение влево
\n Переход на новую строку
\r Переход к началу строки
\t Горизонтальная строка
\’ Aпостроф
\’’ Кавычки
\? Символ ?

Упрощенное представление форматных кодов для вывода

Код ТИП

%c Символ

%Md int

%Mld long int

%M.Ne float

%M.Nf float

%M.Nlf double

%M.Ng f,e общий

%Mo 8 –ная система

%s Строка

%Mu insigned int

%Mx 16 –ая система

Здесь М общая длина поля N количество знаков после запятой. Если м недостаточна то происходит округление, если N не указывается то 6 знаков.

Примеры вывода

Записывается следующим образом - student2.ru

Примеры

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

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

printf("a=");

scanf("%f",&a);

27 вопрос * Ввод с помощью CIN и вывод с помощью COUT

Функции Scanf () и printf() используются в C и C++ . Дополнительно в C++ введены классы cin (ввод) и cout (вывод)

Для их использования в директиве include необходимо добавить библиотеку <iostream.h>

Пример

cin>>x>>y>>a>>b;

Здесь вводятся 4 переменные ;

Cout<<a<<b<<c;

Здесь выводятся 3 переменные;

Пример

Вместо Scanf(“%f”,&n);

Можно использовать cin>>n;

Вместо Scanf(“%d%f%i”,&a,&b,&c);

Cin>>a>>b>>c;

Вместо Printf(“%d”,n); можно Cout<<n;

Вместо printf(“%d%f%c”,a,b,t); можно Cout<<a<<b<<t;

Cin и cout используют свободный формат и выбирают формат в соответствии типом переменных.

28 вопрос * Форматный вывод в Cout

Для вывода по формату в Cout можно использовать специальные функции setw(n), setprecision(m). Первая задает ширину поля вторая число знаков после запятой.В конце нужно указывать специальную функцию endl для перевода на новую строку. Для их использования должна быть подключена библиотека <iomanip.h>

Пример

Float f;

f=478.5765;

Cout<<setw(12)<<setprecision(4)<<f<<endl

#include <math.h>

#include <iostream.h>

#include <iomanip.h>

main ()

{

double auto jaf;

cout<<"vvedite chislo "<<endl<<"jaf=";

cin>>jaf;

cout<<setw(4)<<setprecision(3)<<jaf;

cin>>jaf;

}

#include <stdio.h>

#include <math.h>

#include <iostream.h>

Main ()

{

cout<<56.73<<"\n"<<78.2<<45<<" Jafar";

}

#include <stdio.h>

#include <math.h>

#include <iostream.h>

#include <iomanip.h>

main ()

{

double auto jaf;

register unsigned long int jafar12=45;

cout<<"vvedite chislo "<<endl<<"jaf=";

cin>>jaf;

cout<<setw(4)<<setprecision(3)<<jaf<<jafar12;

}

Пример линейной программы

#include <stdio.h>

#include <math.h>

main()

{

/*qrup 646.6*/

float x,t,z,y,w;

scanf("%f%f%f", &x, &t, &z);

y=(2*cos(x))/(1/2+pow(sin(t), 2));

w=y+(z*z)/(3+(z*z)/5);

printf("%8f %8f\n", y, w);

}

29 вопрос ** Оператор İf и goto

Оператор İf может быть использован для создания разветвляющихся и циклических программ. Существует несколько вариантов этого оператора.

a) Простой İf

if ( условие)

Выражение;

Если условие удоволетворяется то вычисляется выражение, в противном случае ничего не вычисляется.

Пример

#include <stdio.h>

#include <math.h>

main ()

{

int a,x,y;

scanf ("%d %d",&a,&x);

if (a>2)

{

y=x*x;

printf("%10d",y);

}

}

Если используется несколько выражений то необходимо использовать блок.

if (условие)

{

Выражение 1;

……

Выражение ;

}

b)Оператор if/else

if (условие)

Выражение 1;

else

Выражение 2;

Если условие верно то выполняется выражение 1 в противном случае выражение 2.

Если несколькр операторов (выражений) то необходтмо использовать блок {}

if (условие)

{

}

else

{

}

Внутри одного оператора İf могут размещаться другие операторы İf

#include <stdio.h>

#include <math.h>

main()

{

int a, x, y;

scanf ("%d %d",&a, &x);

if (a<3)

y=pow(x,2);

else

if (a>5)

{

y=pow(x,3);

}

else

y=pow(x,4);

printf("%d",y);

}

c) оператор if/else if

if (условие1)

выражение1;

else if (условие2)

выражение2;

else if (условие3)

выражение3;

Если истинно условие1, то выполняется выражение1, если выполняется условие2 то выражени2, если условие 3 то выражение

Оператор безусловного перехода goto m; Здесь m метка на которую выполняется переход.

Пример помеченного оператора

farida: y=5; // здесь farida метка оператора

Метка может быть присвоена только испонимым операторам.

Организация цикла с помощью goto (фрагмент программы)

farida: scanf(“%d”,x);

if (x==7777) goto nazir1;

y=x*x;

printf("%18ld\n",y);

goto farida;

nazir1:printf("конец программы");

}

30 вопрос ** Оператор Switch/case

Switch (n)

{

Case 1 константа1 :

выражение1;

break;

Case 2 константа2 :

выражение2;

break;

Case N константаN :

выражениеN;

break;

[ default: стандартное выражение ]

}

Здесь n называется селектором, переменная целого типа, значение которой определяет номер ветки на которую выполняется переход

Последний случай описывает ситуацию исключения..

Пример. Калькулятор

#include <stdio.h>

main ()

{

float a,b;

char c;

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

printf("%12.2f%c%12.2f=",a,c,b);

switch (c)

{

case '+' :

printf("%12.2f",a+b);

break;

case '-' :

printf("%12.2f",a-b);

break;

case '*' :

printf("%12.2f",a*b);

break;

case '/' :

printf("%f12.2",a/b);

break;

default :printf("такой операции нет");

}

}

Наши рекомендации