В круглых скобках после ключевого слова for могут отсутствовать все выражения или любое из них. Отсутствующее выражение заменяется точкой с запятой. Если отсутствует выражение2, то результат проверки всегда истина.
// различные варианты цикла for для вычисления суммы квадратов первых k натуральных чисел
. . .
for (int i=0, s=0; i<=k;) { int j; j=++i; s+=j*j; }
for (int i=1, s=0; i<=k; i++) s+=i*i;
for (int i=0, s=0; i<=k; s+=++i*i) //нет тела цикла
. . .
// Бесконечный цикл for
for (;;);
for (;1;);
· операторы передачи управления
· оператор перехода по метке
goto идентификатор;
. . .
goto B;
{ int n=10; x=n*x+x; }
B: cout<<”\nx= ”<<x;
· оператор выхода из функции (скобки не обязательны)
return (выражение);
· оператор прерывания
break
Его использование возможно только внутри переключателей или внутри тела цикла. Выполнение оператора break приводит к выходу из цикла, в котором он содержится, и переходу к следующему за циклом оператору.
· оператор continue
Может использоваться только среди операторов тела цикла. Этот оператор вызывает пропуск оставшейся части итерации внутри цикла и переход к следующей итерации.
. . .
for (s=0.0,k=0,i=0; i<n; i++)
{
if (x[i]<=0.0) continue;
k++; s+=x[i];
}
Некоторые сведения об организации ввода вывода в С и C++
Функции ввода и вывода содержатся в файле stdio.h
stdin – объект для ввода
stdout – объект для вывода
- int putchar (inc c) // записывает символ «с» в выходной объект stdout
- int puts (const char*s) // записывает строку символов в stdout
// форматированный вывод в объект stdout
- int printf (char * format [, argument, …]
char * format - строка форматов
последующие аргументы – выводимые объекты.
Строка форматов может содержать спецификации преобразования, которые начинаются со знака % со следующими за ним символами преобразования
D, d - десятичное число
С, c – отдельный символ
S, s - строка символов
Х, x – шестнадцатиричное число
О, o– восьмеричное числo
F, f – число с плавающей точкой
Р, p – адрес
Перед символом преобразования может стоять целое число, указывающее количество позиций в строке.
int C; char S;
printf (“%5d%с\n“,i,s);
- int getch () // считывает символ с клавиатуры без эхо-печати
- int getchar () // считывает символ с клавиатуры с эхо-печатью
- сhar*gets (char * s) // считывает строку из объекта stdin
// форматированный ввод из объекта stdin
int a, b;
scanf (“%d%d“,&a,&b); // &a, &b – адреса переменных
Определение типизированного указателя:
type * имя_указателя [инициализатор];
В качестве инициализирующего выражения может быть использовано константное выражение, частным случаем которого является явно заданный адрес участка памяти; указатель, уже имеющий значение; выражение, позволяющее получить адрес объекта.
char c;
void main ()
{
char c;
char * pc; º char * pc = &c;
pc = & c;
for(c=’A’; c<’Z’; c++) printf (”%c”,*pc);
}
Указатель, не указывающий ни на один из объектов, имеет значение NULL.
char * pc = NULL;
Проверка существования указателя:
if (pc!=NULL) оператор;
if (pc) оператор; // выражение в скобках истинно, если указатель pc не равен NULL
свободный указатель: void*.
Он также называется родовым, он может указывать на объект любого типа. Пример применения - адресация буферов.
char buffer [1024];
void * bp =&buffer;
// запоминание буфера
// преобразование типов–извлечение информации из буфера
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.