Формат:
switch (выражение) {
case константа:
набор операторов;
break;
…
default:
набор операторов;
}
Инструкция выбора
continue;
Пример:
for(;;) { cin >>I;
if(I>0) continue;
goto loop_exit; }
loop_exit: …
Инструкция безусловного перехода
Формат:
goto метка;
Используется только в случаях крайней необходимости!
break; }
Возвращается адрес локальной переменной, которая будет уничтожена. Значение, на которое будет указывать этот адрес, будет меняться непредсказуемо!
По ссылке
void ref(int& j) { j++; }
void main() {
int k=0; ref(k);
cout << “k=” << k; }
Результат: k=0
Результат: k=1
Функции, которые модифицируют аргументы переданные по ссылке, делают программу трудно читаемой и в большинстве случаев их следует избегать.
В тоже время, большие объекты эффективнее передавать по ссылке, чем по значению.
Выход:
void val(const тип&); - указывает на то, что ссылка используется только из соображений эффективности.
сonst тип* - говорит, что значение объекта, на который ссылается указатель, не может изменяться в функции.
сout << “k=“ << k;
сhar c=‘0’; ref(c);
cout << “ c=” << c; }
Результат: k=1 c=0 - ?!
Результат: 3 8 0
void* mkr; mkr=&first +sizeof first;
*((int*)mkr)++;
mkr=0;
Файл stdio.h
printf(char*,…)
Аргументы по умолчанию
void print(int n,int sys=10) {
if(sys==16) cout << hex;
else if(sys==8) cout << oct;
else cout << dec;
cout << n << '\t'; }
void main() { print(31,8);
print(31); print(31,16); }
37 31 1f
#define имя константа
#define array_size 128
NB! #define sqr(x) x*x
A=sqr(a+b); // A=a+b*a+b;
Условной компиляции
#if #ifdef #ifndef
…
#else #elif
…
#endif
#include
#define NULL 0
char* strcpy(char*, const char*);
int strcmp(const char*,const char*);
int strlen(const char*);
char* strstr(const char*,const char*);
#include
int getch(void);
int getche(void);
int putch(int);
void gotoxy(int,int);
void assign(complex& num, double r, double i)
{ num.re=r; num.im=i; }
void print(complex num)
{ cout << ‘(‘ << num.re << ‘,’ << num.im << ‘)’; }
void main(void) { complex a;
assign(a,1.,2.);
cout << ‘a=“; print(a);
}
class complex {
double re,im;
public:
void assign(double r,double i) { re=r; im=i; }
void print(void); };
void complex::print(void) {
cout << ‘(‘ << re << ‘,’ << im << ‘)’; }
void main(void)
{ complex a,b; a.assign(1.,2.);
b=a; cout << “b=“;
b.print();
}
void main(void) {complex a(3.,4.),b=5+a,c=a+b;
cout << “c=”; c.print(); cout << endl; }
Результат: c=(13,4)
Результат: (8,4)(8,4)
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть