1_курс_2012 / Типы_данных_Операции_Операторы / Операторы_С++
.doc
ОПЕРАТОРЫ C++
№ |
Наименование |
Описание работы |
Запись оператора |
Пример применения оператора (x=1 y=2 z=3 a=4) |
1 |
Простые операторы |
|
|
|
1.1 |
Присваивания |
|
метка:имя = выражение; |
k:z = z+y; y = x; x =sin(ln(x)); //ответы – x=0 y=0 z=3; x=x+ ++a; y=y+x; z= z+y+x; //ответы – x=6 y=8 z=17 |
1.2 |
Множественное присваивание |
|
k:v=z=y=x; |
v=z=y=x+19;//ответы – v,z,y = 20 |
1.3 |
Оператор -выражение |
|
e; |
x+a; a++; ++a; a--; --a; // ответы 5, 4, 5, 5, 4 |
1.4 |
Оператор-функция |
|
f(x); f(x,y,z); |
sqrt(a); //ответ 2 |
1.5 |
Оператор последова-тельного вычисления |
|
имя = (оператор, оператор, .. , оператор) |
y = 7;…y = (x = 10, x+1, x+y); //ответ y=18 |
1.6 |
Составные операторы присваивания |
|
y += x; y µ= x; где µ - любой из разрешенных символов операций. (см табл.№ Операции, п.15) |
v |= z /= y -= x >>=1; //ответы – v=21 z=1 y=20 x=0 |
2 |
Операторы передачи управления |
|
|
|
2.1 |
Операторы безусловной передачи управления |
|
p; |
|
2.1.1 |
return |
Возвращение результата выполнения функции |
return e; e - выражение |
return 0; return 1; //сообщает о //верном или ошибочном результате return pow() |
2.1.2 |
goto |
|
k:p1; .. pk; goto k; где к – метка, рі - оператор |
|
2.1.3 |
break |
Прерывание выполнения текущего оператора и переход к следующему оператору |
break; |
|
2.1.4 |
exit |
Нормальное (пользователем) завершение программы |
exit(); |
#include <stdlib.h> exit(EXIT_SUCCESS) //возврат 0 – благополучный исход exit(EXIT_FAILURE) //ненулевое значение – неблагополучный исход Exit(0); //благополучный исход Exit(1); //неблагополучный исход |
2.1.5 |
continue |
Прерывание выполнения оператора цикла и переход к очередной проверке условия продолжения его выполнения |
for(i=0; i<n; i++) { p1; .. if(true) continue; pk; } |
for(i=0; i<n; i++) {
} |
2.2 |
Операторы условной передачи управления |
|
if.(?) P;, …if (?) p1;else p2; где ? – условие (false/true) swith(e) { case ‘1’:p1;..pk1;break; case ‘2’:p2; pk2;break; ……………………………. default: pn; pnk; } где рі – оператор; е - выражение |
|
2.2.1 |
Условный кроткий оператор |
|
if()p; |
|
2.2.2 |
Условный длинный оператор |
|
if (?) p1; else p2; if (?) { p1; p2; } else { p3; p4; } |
|
2.2.3 |
Оператор выбора (switch) |
|
Switch (a) {case ‘1’:p1;..pk;break; ………………… case ‘k’:pm; pmk;break; default: pn; } |
|
2.3 |
Операторы цикла |
|
|
|
2.3.1 |
Цикл for |
|
for(i=0; i<n; i++) p; for(i=0; i<n; i++) { p1; p2; . pn; } |
|
2.3.2 |
while |
|
while(?) p; while (?) { p1; p2;…. pn; } |
while(ch != ‘N’) ch=getchar(); |
2.3.3 |
do …while |
|
do { p1; p2; .. ;pn; } while(?) |
do { scanf(“”,&n); }while(n<100); |
4 |
Составной оператор (блок) |
|
{ p1; p2; …..; pn; } |
{ p1; …..;pn;} |
5.1 |
Операторы ввода-вывода на консоль |
|
|
|
5.1.1 |
getch() |
Изображение экрана |
|
|
5.1.2 |
getchar() |
Вывод символа с клавиатуры на экран |
c=getchar(); |
char c; c=getchar(); ;putchar(c); |
5.1.3 |
getch() |
|
|
|
5.1.4 |
getche() |
Тоже что getchar() |
|
|
5.1.5 |
gets() |
Считывает строку символов с клавиатуры |
|
char str[80]; gets(str); …….;puts(str); |
5.1.6 |
putchar() |
|
|
|
5.1.7 |
puts() |
|
|
|
5.2 |
Форматированный ввод-вывод на консоль |
спецификаторы формата,опреденляют вывод |
%с – символ, %d|i – десятичное целое, %e|E – научный ф-т, %f – число с плавающей точкой, %s – строка символов, %o,%x – восьмеричное,шестнадцатеричное число без знака, %p – указатель, %n – определяет кол-во символов, выведенных перед ним |
|
5.2.1 |
printf() |
|
printf(“ %d %f %s\n”,x, y, s); |
printf(“\nx=%3d y=%7.3f s=%10s\n”, x, y, s); printf(“\nx=%7.3f x=%3d px=%p\n”, x,(int)x,&x); |
5.2.2 |
scanf() |
|
scanf(“ %d %f %s”, &x, &y, &s); |
scanf(“ %d %f %s”, &x, &y, &s); |
5.3 |
Файловый ввод-вывод |
Параметры режина: r – только чтение, w – для записи, a – запись в конец ф-ла, r+ - для чтения и записи |
fp=fopern(“test”, “w”);// открытие файла |
file *fp; fp=fopen(“имя файла”, “w”); |
5.3.1.1 |
getc(),fgetc) |
Чтение с файла |
с=getc(fp); |
file *fp; char c; fp=fopen(“имя файлда”, “r”); c=getc(fp); while (c !=eof){putchar(c); c=getc(fp);} fclose(fp); |
5.3.1.2 |
putc(),fputc() |
Запись текста в файл |
с=getchar(); putc(c, fp); |
file *fp; char c; fp=fopen(“имя файлда”, “w”); do{ c=getchar(); putc(c, fp);} while (c != ‘$’); fclose(fp); |
5.3.2.1 |
fgets() |
|
|
|
5.3.2.2 |
fputs() |
|
|
|
5.3.3.1 |
fscanf() |
|
|
|
5.3.3.2 |
fprintf() |
|
|
|
5.3.4.1 |
fread() |
|
|
|
5.3.4.2 |
fwrite() |
|
|
|
|
|
|
|
|