Формат:
goto имя;
…
имя: оператор;
Метка — просто идентификатор.
Программы – примеры использования операторов языка Си
/* Метод дихотомии */
#include <stdio.h>
double fun(double);
void main()
{
double s, a=0., b=1.8, dt=1.5, e=1E-6;
while(dt>e)
{
s=(a+b)/2;
if (fun(a)*fun(s)<0)
b=s;
else
a=s;
dt=b-a;
printf("dt=%f\ta=%f\tb=%f\n",dt,a,b);
}
printf("x=%f\tdt=%f\n",a,dt);
printf("s=%10.9lf\n",fun((b+a)/2));
printf("s=%10.9lf\n",(a*a-3*a+1));
}
double fun(double c)
{
return (c*c-3*c+1);
}
#include <stdio.h>
sum(int,int);
int main()
{
int s, a=10, b=20;
s=sum(a,b);
printf("s=%d\n",s);
int i=0,j=0,j1=0;
while(j<100)
{
j+=++i;
printf("i=%d\tj=%d\n",i,j);
if (j>50)
{ j1=1;
goto m;
}
}
m:;
printf("i=%d\tj=%d\n",i,j);
return 0;
}
int sum(int iVar1, int iVar2)
{
return (iVar1+iVar2);
}
}
Структурированные типы данных
- Массивы.
- Структуры.
- Перечисления.
- Смеси.
- Массивы
Определение: Массивы — логически связанные группы элементов одинакового типа.
Ко всему массиву целиком можно обращаться по имени. Также можно выбирать любой элемент массива. Число элементов массива (размер массива) задается при его объявлении и в дальнейшем не меняется (массив в Си является статическим).
|
|
Элементы массива нумеруются (индексируются) от 0 до размер массива-1.
Массивы определяются также как и переменные.
Пример:
int a[100]; // массив из 100 элементов целого типа a[0], …,a[99]
char b[30]; // 30 элементов типа char
float c[42]; // 42 элемента типа float
Инициализация массивов
Начальное значение массиву можно присвоить, указав список значений.
Пример:
int iVect[]={1,2,3,4};
char cStr[]={‘m’,’a’,’p’,'\0'};
char cStr1[]="map";
float fVect[3]={0.5, 1.7, 3.8};
В этом примере в трех случаях размерность массива задается неявно, она вычисляется, и равна соответственно 4, 3 и 3. В четвертом случае размерность массива указана явно и равна 3.
Пример: // Проверка
#include <stdio.h>
int main()
{
char cStr[]={'m','a','p','\0'};
char cStr1[]="map";
printf("cStr=%d\tcStr1=%d\n",sizeof(cStr),sizeof(cStr1));
return 0;
}
Если размер явно указан, то задание большего числа элементов в списке инициализации будет ошибкой.
Если в списке элементов инициализации недостает элементов, всем остальным элементам массива присваивается значение 0.
Пример:
int iVect1[3]={1,2,3,4}; // ошибка
int iVect2[5]={1,2,3}; // равнозначно {1,2,3,0,0}
Замечание: Такой вид присваивания массиву ошибочен
int iVect2[5];
...
iVect2={1,2,3,4,5};