- Как выглядит минимальная программа на языке Си, которая компилируется
и выполняется? Где находится точка входа в Си-программу?
- Перечислите типы данных языка Си. Для чего используются ключевые слова
signed и unsigned? Для чего используется функция sizeof?
- Что выведет на экран следующая программа? Почему? Как получить правильный результат?
#include <stdio.h>
void main()
{
double x = 5 / 2;
printf("%g\n", x);
return;
}
- Что выведет на экран следующая программа?
#include <stdio.h>
void main()
{
int a = 4, b = 3, c;
c = a-- + b;
printf("%d, %d, %d\n", a, b, c);
c = --a + b;
printf("%d, %d, %d\n", a, b, c);
return;
}
- Что выведет на экран следующая программа? Объясните результат.
#include <stdio.h>
void main()
{
int a = 5, b = -5;
while (a-- > 0 || b++ > 0)
printf("%d %d\n", a, b);
return;
}
- Напишите макроопределение ABS(x) (ABS - модуль числа). Воспользуйтесь условной операцией ?:
- Как с помощью функций scanf и printf считать и вывести:
- число типа int?
- число типа long int?
- число типа unsigned int?
- число типа float с двумя знаками после запятой?
- число типа double?
- символ?
- строку?
- Что печатает программа и почему?
/* пример Bjarne Stroustrup-а */
#include <stdio.h>
int a = 1;
void f()
{
int b = 1;
static int c = 1;
printf("a=%d b=%d c=%d\n", a++, b++, c++);
return;
}
void main()
{
while (a < 4)
f();
return;
}
- Найдите ошибки в следующей программе. Объясните причины возникновения ошибок.
#include <stdio.h>
double x = 1.17;
double y = x * 2.0;
void main()
{
double z = x + 1.9;
// ...
return;
}
- Что такое прототип функции? Для чего он используется?