#include <stdio.h>
/* Пример 1. */
main ()
{
int year, month;
year = 1996;
printf ("Сейчас %i год.\n", year);
}
float func (int n, float f, long double ld);
float func (int, float, long double);
if (0 < 1) printf ("0 меньше 1");
if (0 > 1) printf ("0 больше 1");
if (0 == 1) printf ("0 равно 1");
printf ("\n");
char str [80];
(float) x / 2;
(float) (x / 2);
printf ("%05i", 15);
scanf ("%i%*c%i", &i, &j);
scanf ("%5s", str);
scanf ("%iplus%i", &i, &j);
scanf ("%10[A-Z1-5]%s", s);
if ((f = x - y) > 0) printf ("Число x больше, чем y.\n");
a = b = c = x * y;
ch = ch & 127;
ch = ch | 128;
if (ch & 4) printf ("Третий бит содержит 1, состояние 'on'.\n");
max = x > y ? x : y;
abs = x > 0 ? x : -x;
x > y ? x : y = 1;
for (i = 0; i < 10; i++) printf ("%i ", i);
for (i = 9; i >= 0; i--) printf ("%i ", i);
for (ch = '0'; ch != 'N';) scanf ("%c", &ch);
for (i = 0; i < 10000; i++);
int a [100];
unsigned arr [40], long double al [1000], char ch [80];
char str [11];
strcpy (); strcat (); strlen (); strcmp ();
strcpy (s1, s2);
strcat (s1, s2);
strcmp (s1, s2);
strlen (s);
int mass [] = {1, 2, 3, 1, 2, 3, 4};
int arr [] [3] = {1, 2, 3, 5, 6, 7, 8, 9, 0};
int *pi;
p = &x;
p = (int *) &x;
p = p + 3;
p1 = p1 + 10;
int plus [10];
p1 = plus;
p1 = &plus [0];
int *x [10];
x [2] = &y;
int **point;
f (int x, int y, float z);
f (int x, y, float z);
max (int a, int b) {if (a > b) return a; else return b;}
max (int a, int b) {return a > b ? a : b;}
int func (int a, float b, char *c);
int func (int, float, char *);
register int quick;
f () {extern int j;}
static int count = 10;
swap (5, 10);
- - - - - - - - - - - - - - -
/* p3 - блоки программ */
if (i > 10)
{
printf ("Слишком много");
i /= 2;
}
x = y;
y++;
mul (x, y);
int x, y, z;
float radius;
unsigned char ch;
long double integral;
ch = '\n';
printf ("%c", ch);
printf ("\a");
printf ("\07");
printf ("\7");
printf ("\0x7");
int pr = 24;
char c = 'c', ch = '0';
char ch;
int i;
float f;
double d;
long double r;
r = ch * 2 + (i - .5) + (f + d) - 7;
x = x + 1;
++x;
x++;
m -= 20;
m *= 20;
m /= 10;
m %= 10;
x = 9 << 3;
x = 9 >> 3;
x = 9 >> 5;
if (x == 0)
printf ("Число равно нулю.\n");
else
printf ("Число не равно нулю.\n");
if (!x)
printf ("Число равно нулю.\n");
else
printf ("Число не равно нулю.\n");
unsigned char ch;
for (ch = 'А'; ch <= 'Я'; ch++) printf ("%c ", ch);
for (;;) printf ("Бесконечный цикл");
for (i = 1; 1; i++) printf ("Бесконечный цикл");
for (i = 10; i > 6; i++) printf ("Бесконечный цикл");
for () {
while () {
for () {
...
goto exit;
...
}
}
}
exit: printf ("Быстрый выход из вложенных циклов.\n");
float farr [6] = {1.1, 2.2, 3.3, 4.0, 5, 6};
int a [3] [5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
a [0] [0] = 1; a [0] [1] = 2; a [0] [2] = 3; a [0] [3] = 4;
a [0] [4] = 5; a [1] [0] = 6; a [1] [1] = 7; a [1] [2] = 8;
int a [3] [5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
int a [3] [5] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}};
int a [3] [5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
int a [3] [5] = {{1, 2, 3}, {4, 5, 6, 7, 8}, {9, 10, 11}};
char str [15] = {'B', 'o', 'r', 'l', 'a', 'n', 'd', ' ', 'C', '+', '+'};
char str [15] = "Borland C++";
char str [80] = "Это объявление и инициализация массива символов";
char str [] = "Это объявление и инициализация массива символов";
char *ch;
int *temp, i, *j;
float *pf, f;
void *pv;
float f, *pf;
pf = &f;
pv = pf;
pf = (float *) pv;
char *errors [] = {"Can't open file", "Can't close file",
"Allocation error", "System error"};
char *pc;
pc = "Hello, world.";
float step (float a, int b)
{
float i;
if (a < 0) return -1;
a = 1;
for (i = b; i; i--) a *= a;
return a;
}
max (int a, int b)
{
int m;
if (a > b) m = a; else m = b;
return m;
}
max (int a, int b)
{
if (a > b) return a;
return b;
}
char *find (char *string)
{
int i;
i = 0;
while (string [i] != ' ' && string [i] != '\0') i++;
if (s [i]) return &s [i]; else return NULL;
}
void horizontal_line (char ch)
{
int i;
for (i = 0; i < 80; i++) printf ("%c", ch);
}
- - - - - - - - - - - - - - -
/* p4 - блоки программ */
static int sum;
register int plus;
float global;
extern float global;
int var;
main () {extern int var, var1;}
func1 () {extern int var1;}
func2 () {}
int var1;
func3 () {int var;}
func4 () {auto int var1;}
void swap (int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
void swap1 (int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
function (int ar [10]);
function (int ar []);
function (int *ar);
- - - - - - - - - - - - - - -
/* p42
Language Turbo C 2.0
No input */
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
float z = 3.141592653589; /* число 'пи' */
/* Определения функций */
aa (); ab (); ac ();
ad (float);
float ag (float);
main ()
{
int a, b, c;
float d, e;
unsigned g;
char j;
char m [20], n [20];
char p [5] [20];
int s [10] = {1, 23, 4, 7, 8, 0, 1, 9, 4, 7};
int *bb, *bc;
float *be;
char *bh;
char bk [] = "String of Letters in Different Registers";
int **bn;
a = 1996;
printf ("42.1. Сейчас %i год.\n", a);
printf ("47.2. ");
aa (); ab (); ac ();
d = 5;
printf ("47.3. ");
ad (d);
printf ("49.4. Длина окружности радиуса %.4g равна %.4g.\n", d, ag (d));
printf ("50.5. ");
for (a = 10; a; a--) printf ("%i ", a);
printf ("Старт.\n");
g = 60000;
a = g;
printf ("54.6. a = %i, g = %u.\n", a, g);
j = 'c';
printf ("59.7. %c", j);
j = '+';
printf ("%c%c.\n", j, j);
a = 5;
b = 60;
a++;
++b;
printf ("68.8. a = %i, b = %i.\n", a, b);
printf ("a = %i, b = %i.\n", a++, ++b);
a = 101 <= 105;
b = 101 > 105;
printf ("70.9. true - %i, false - %i.\n", a, b);
printf ("81.10.\n\n");
for (a = 0; a < 10; a++)
{
for (b = 0; b < 6; b++)
printf ("%i * %i = %-4i", a, b, a * b);
printf ("\n");
}
printf ("\n81.11. ");
for (a = 0; a < 1000; a++)
{
b = a * a * a;
printf ("%i - %i ", a, b);
if (b > 10000) break;
}
printf ("\n82.12.\n\n");
for (a = 0; a < 1000; a++)
{
if (a % 7) continue;
printf ("%-5i", a);
}
strcpy (m, "Hello, ");
strcpy (n, "world.");
printf ("\n\n85.13. ");
puts (m);
puts (n);
strcat (m, n);
puts (m);
puts (n);
strcpy (p [0], "Turbo Basic");
strcpy (p [1], "Turbo Pascal");
strcpy (p [2], "Borland C++");
strcpy (p [3], "Turbo Prolog");
strcpy (p [4], "Paradox");
printf ("89.14. Неотсортированный массив: ");
for (a = 0; a < 10; a++) printf ("%i ", s [a]);
for (a = 0; a < 9; a++)
for (b = 0; b < 9 - a; b++)
if (s [b] > s [b + 1])
{
c = s [b];
s [b] = s [b + 1];
s [b + 1] = c;
}
printf ("\nОтсортированный массив: ");
for (a = 0; a < 10; a++) printf ("%i ", s [a]);
d = 10.1;
be = &d;
e = *be;
printf ("\n91.15. d = %g, e = %g.\n", d, e);
(*be)++;
printf ("d = %g, e = %g.\n", d, e);
e = 1 + *be * e;
printf ("d = %g, e = %g.\n", d, e);
a = 10;
bb = &a;
bc = bb;
printf ("91.16. bb = %p, ", bb);
printf ("bc = %p; ", bc);
printf ("%i, %i.\n", a, *bc);
d = 10.1;
bb = (int *) &d;
e = *bb;
printf ("92.17. d = %g, e = %g.\n", d, e);
bb = &a;
printf ("92.18. bb = %p, ", bb);
bb++;
printf ("%p.\n", bb);
a = 0;
printf ("94.19. Строка будет напечатана прописными буквами.\n");
while (bk [a]) printf ("%c", toupper (bk [a++]));
bh = bk;
printf ("\nСтрока будет напечатана строчными буквами.\n");
while (*bh) printf ("%c", tolower (*bh++));
a = 7;
bb = &a;
bn = &bb;
printf ("\n96.20. a = %i, bb = %p, bn = %p.\n", a, bb, bn);
(*bb)++;
printf ("a = %i, bb = %p, bn = %p.\n", a, bb, bn);
**bn = 12;
printf ("a = %i, bb = %p, bn = %p.\n", a, bb, bn);
getch ();
printf ("\n");
}
aa () {printf ("Вызвали первую функцию.\n");}
ab () {printf ("Вызвали вторую функцию.\n");}
ac () {printf ("Вызвали третью функцию.\n");}
ad (float a)
{
printf ("Длина окружности радиуса %.4g равна %.4g.\n", a, 2 * z * a);
}
float ag (float a) {return 2 * z * a;}
- - - - - - - - - - - - - - -
/* p43
Language Turbo C 2.0
No input - 2 */
#include <conio.h>
#include <stdio.h>
int z = 7;
/* Прототипы функций */
float aa (float);
int *ad (int *);
ag (int *);
aj (); ak (); al ();
am (); an ();
ap (int, int);
as (int *, int *);
av (int a [], int);
ay (int a [3] [3], int b [3] [3], int c [3] [3]);
main ()
{
int a, b;
float d;
int g [10] = {1, 3, -5, 7, 9, 0, 22, 4, 6, 8};
int j [3] [3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
int k [3] [3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int l [3] [3];
int z = 10;
d = 5.2;
printf ("100.1. Квадрат числа %g равен %g.\n", d, aa (d));
a = 4;
ad (&a);
a = 10;
ag (&a);
aj ();
a = 1;
printf ("102.2. ");
ak ();
printf ("В функции 'main ()' значение 'a' равно %i.\n", a);
printf ("106.3. ");
for (a = 1; a < 4; a++)
{
printf ("Вызов номер %i. ", a);
al ();
printf ("Вызов номер %i. ", a);
al ();
}
printf ("107.4. z = %i. ", z);
z++;
{
int z = 200;
printf ("z = %i.\n", z);
z++;
}
printf ("z = %i. ", z++);
am ();
printf ("z = %i. ", z++);
an ();
printf ("z = %i. ", z++);
an ();
printf ("z = %i.\n", z++);
a = 5;
b = 10;
printf ("108.5. Сначала a = %i, b = %i.\n", a, b);
ap (a, b);
printf ("Теперь a = %i, b = %i.\n", a, b);
printf ("Ничего не изменилось.\n");
as (&a, &b);
printf ("Теперь a = %i, b = %i.\n", a, b);
printf ("Значения поменялись.\n");
printf ("109.6. До сортировки: ");
for (a = 0; a < 10; a++) printf ("%i ", g [a]);
av (g, 10);
printf ("\nПосле сортировки: ");
for (a = 0; a < 10; a++) printf ("%i ", g [a]);
ay (j, k, l);
printf ("\n110.7. Массив l [3] [3]:\n");
for (a = 0; a < 3; a++)
printf ("%-5i%-5i%i\n", l [a] [0], l [a] [1], l [a] [2]);
getch ();
printf ("\n");
}
float aa (float a) {return a * a;}
int *ad (int *a)
{
*a = *a * *a;
return a;
}
ag (int *a) {*a = *a * *a;}
aj ()
{
int a;
for (a = 0; a < 80; a++) printf ("-");
}
ak ()
{
int a;
a = 10;
printf ("В функции 'ak ()' значение 'a' равно %i.\n", a);
}
al ()
{
int a = 1;
static b = 1;
printf ("Функция: a = %i, b = %i.\n", a++, b++);
}
am ()
{
int z = 77;
printf ("Функция 'am ()': z = %i.\n", z);
z++;
}
an ()
{
printf ("Функция 'an ()': z = %i.\n", z);
z++;
}
ap (int a, int b)
{
int c;
c = a;
a = b;
b = c;
}
as (int *a, int *b)
{
int c;
c = *a;
*a = *b;
*b = c;
}
av (int a [], int b)
{
int d, e, f;
for (d = 0; d < b - 1; d++)
for (e = 0; e < b - 1 - d; e++)
if (a [e] > a [e + 1])
{
f = a [e];
a [e] = a [e + 1];
a [e + 1] = f;
}
}
ay (int a [3] [3], int b [3] [3], int c [3] [3])
{
int d, e, f;
for (d = 0; d < 3; d++)
for (e = 0; e < 3; e++)
{
c [d] [e] = 0;
for (f = 0; f < 3; f++)
c [d] [e] += a [d] [f] * b [f] [e];
}
}
- - - - - - - - - - - - - - -
/* p45
Language Turbo C 2.0
Input data */
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* Прототипы функций */
char y;
float z = 3.141592653589; /* число 'пи' */
bb (int);
/* Формула Герона вычисления площади треугольника */
float be (float, float, float);
main ()
{
int a, b, c, p, q, r;
float d, e;
char g [6] [4] = {"exe", "com", "dat", "c", "pas", "cpp"};
char j [80];
long m;
/* Ввод данных */
int aa, ab, ac, am;
float ad, ae, af;
char ag;
char aj [80], ak [80], al [80];
printf ("? (1-2) ");
scanf ("%i", &a);
if (a == 1) goto aaa;
if (a == 2) goto aab;
printf ("\n");
return;
aaa:
/* Ввод данных */
printf ("Input 4 int: ");
scanf ("%i%i%i%i", &aa, &ab, &ac, &am);
printf ("Input 3 float: ");
scanf ("%f%f%f", &ad, &ae, &af);
printf ("Press any key: ");
ag = getche ();
printf ("\nInput string: ");
gets (aj); gets (aj);
printf ("Input string (2): ");
scanf ("%[0123456789]%s", ak, al);
printf ("\n");
d = 2 * z * aa;
printf ("45.1. Радиус - %i, длина - %.4g.\n", aa, d);
d = 2 * z * ad;
e = z * ad * ad;
printf ("46.2. Радиус - %g, длина - %.4g, площадь - %.4g.\n", ad, d, e);
y = ag;
printf ("55.3. ");
bb (aa);
printf ("60.4. ");
if (ag == 'a') printf ("Вы нажали клавишу 'a'. ");
printf ("Вы нажали клавишу '%c'.\n", ag);
printf ("61.5. Я знаю ваше имя; ваше имя '%s'.\n", aj);
printf ("65.6. %s ... %s.\n", ak, al);
a = ab;
if (!a) a = 1;
printf ("68.7. Целая часть: %i, остаток от деления: %i.\n",
aa / a, aa % a);
printf ("75.8. Число %g ", ad);
if (ad > 0) {a = 1; printf ("положительное, a = %i.\n", a);}
if (!ad) {a = 0; printf ("равно нулю, a = %i.\n", a);}
if (ad < 0) {a = -1; printf ("отрицательное, a = %i.\n", a);}
printf ("75.9. ");
if (ad > 0) {a = 1; printf ("Число %g положительное.\n", ad);}
else if (ad < 0) {a = -1; printf ("Число %g отрицательное.\n", ad);}
else {a = 0; printf ("Число %g равно нулю.\n", ad);}
printf ("77.10. ");
if (ag >= 'А' && ag <= 'Я')
switch (ag)
{
case 'А': printf ("Алексеев.\n"); break;
case 'Б': printf ("Булгаков.\n"); break;
case 'В': printf ("Волошин.\n"); break;
case 'Г': printf ("Гоголь.\n"); break;
default: printf ("Достоевский, Зощенко и другие.\n");
}
else printf ("Надо было ввести прописную русскую букву.\n");
printf ("77.11. ");
if (ag >= 'А' && ag <= 'Я')
switch (ag)
{
case 'А': printf ("Алексеев.\n");
case 'Б': printf ("Булгаков.\n");
case 'В': printf ("Волошин.\n");
case 'Г': printf ("Гоголь.\n");
default: printf ("Достоевский, Зощенко и другие.\n");
}
else printf ("Надо было ввести прописную русскую букву.\n");
printf ("86.12. Строка '%s' имеет длину %i символов.\n",
aj, strlen (aj));
printf ("173.13. (%i / %i) / (%i / %i) = %i / %i.\n",
aa, ab, ac, am, aa * am, ab * ac);
printf ("190.14. Площадь треугольника %.4g.\n", be (ad, ae, af));
a = 0;
if (ad > 0) a = 1;
if (ad < 0) a = -1;
printf ("198.15. a = %i.\n", a);
a = aa; b = ab;
if (a > b) {a = ab; b = aa;}
printf ("199.16. a = %i, b = %i.\n", a, b);
printf ("200.17. ");
switch (aa)
{
case 2: printf ("Это неудовлетворительно\n"); break;
case 3: printf ("Это удовлетворительно\n"); break;
case 4: printf ("Это хорошо\n"); break;
case 5: printf ("Это отлично\n"); break;
default: printf ("Нет такой оценки\n");
}
d = 1;
printf ("201.18. ");
switch (aa)
{
case 5: d *= ad;
case 4: d *= ad;
case 3: d *= ad;
case 2: d *= ad;
case 1: d *= ad;
case 0: printf ("Степень числа %.4g.\n", d); break;
default: printf ("Нет результата.\n");
}
m = 1;
a = aa;
if (a > 20) a = 20;
while (a > 1)
{
m *= a;
a--;
}
printf ("202.19. %i! = %li.\n", aa, m);
d = ad;
if (d <= 0) d = 1;
d = 1 / d;
if (d > 32767) d = 32767;
a = d;
d = 0;
while (a)
{
d += 1. / a;
a--;
}
printf ("203.20. Сумма гармонического ряда %g.\n", d);
a = aa;
if (a < ab) a = ab;
if (a < ac) a = ac;
printf ("207.21. Максимум %i.\n", a);
a = aa + ab;
b = aa - ab;
if (a < 0) a = -a;
if (b < 0) b = -b;
if (!a) a = 1;
if (!b) b = 1;
while (a - b) if (a > b) a -= b; else b -= a;
b = aa * ab;
if (b < 0) b = -b;
if (!b) b = 1;
while (a - b) if (a > b) a -= b; else b -= a;
printf ("210.22. НОД = %i.\n", a);
a = strlen (aj);
for (b = 0; b < a; b++) j [b] = aj [a - 1 - b];
j [b] = 0;
printf ("231.23. Перевернутая строка: '%s'.\n", j);
a = strlen (aj); /* длина строки */
if (a > 78) a = 78;
b = aa - 1; /* позиция вставляемого символа */
c = b;
if (c > a) c = a; /* первая часть копируемой строки */
for (p = 0; p < c; p++)
j [p] = aj [p];
r = 0;
if (p == b)
{
j [p] = ag; /* вставка символа */
r = 1; /* смещение указателя после вставки */
}
for (q = p; q < a; q++)
j [q + r] = aj [q];
j [q + r] = 0;
printf ("233.24. Вставка символа: '%s'.\n", j);
goto aaz;
aab:
printf ("79.1. Press the key 'Q': ");
while (1)
{
ag = getche ();
if (ag == 'Q') break;
printf ("%c", ag);
}
a = 0;
b = random (100) + 1;
printf ("\n80.2. Введите число от 1 до 100: ");
do {
scanf ("%i", &aa);
a++;
if (aa > b) printf ("Загаданное число меньше. Далее: ");
if (aa < b) printf ("Загаданное число больше. Далее: ");
} while (aa - b);
printf ("Вы угадали число. Число равно %i. Затратили на угадывание %i "
"попыток.\n", aa, a);
printf ("85.3. Введите строку длиной менее 80-и символов: ");
gets (aj); gets (aj);
printf ("Вы ввели строку '%s'. ", aj);
printf ("Введите еще одну строку длиной менее 80-и символов: ");
scanf ("%s", aj);
printf ("Вы ввели строку: ");
puts (aj);
printf ("95.4. Файлы с расширением: 1. exe 2. com 3. dat 4. c ");
printf ("5. pas 6. cpp 7. quit. Ваш выбор: ");
while (1)
{
do {
ag = getche ();
} while (ag < '1' || ag > '7');
printf ("\n");
if (ag == '7') break;
strcpy (j, "dir *.");
strcat (j, g [ag - '1']);
system (j);
printf ("\n");
}
aaz:
getch ();
printf ("\n");
}
bb (int a)
{
int b;
if (a > 70) a = 70;
for (b = 0; b < a; b++) printf ("%c", y);
printf ("\n");
}
/* Формула Герона вычисления площади треугольника */
float be (float a, float b, float c)
{
float d, e;
d = (a + b + c) / 2;
e = d * (d - a) * (d - b) * (d - c);
if (e < 0) e = 0;
return sqrt (e);
}
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев