[Язык C] Введение в язык Си (глава 2)

Вторая глава в книжке Стивена Прата “C Primer Plus”. Тут уже появляются первые практические задания; хоть и крайне простые, на запоминание базового синтаксиса; поэтому отдельно их результат вывода приводить не буду. Перед заданиями небольшая памятка:

5 типов операторов в языке C

  • Оператор объявления
  • Оператор присваивания
  • Функция
  • Управляющий оператор
  • Пустой оператор

Упражнения по программированию

1) Напишите программу, которая использует первый вызов функции printf () для вывода своего имени и фамилии в одной строке, второй вызов printf (), чтобы вывести имя и фамилию в двух строках, и еще два вызова printf () для вывода имени и фамилии в одной строке. Выходные данные должны иметь следующий вид (но с указанием ваших персональных данных):

Иван Иванов ← Первый оператор вывода
Иван ← Второй оператор вывода
Иванов ← По-прежнему второй оператор вывода
Иван Иванов ← Третий и четвертый операторы вывода

Программа:

#include <stdio.h>
int main (void)
{
printf("Ivan Ivanov\n");
printf("Ivan\nIvanov\n");
printf("Ivan ");
printf("Ivanov");
getchar();
return 0;
}

2. Напишите программу, выводящую ваше имя и адрес.

#include <stdio.h>
int main (void)
{
printf("My name is Ivan Ivanov\n");
printf("My address is Moscow");
getchar();
return 0;
}

3. Напишите программу, которая преобразует ваш возраст в полных годах в количество дней и отображает на экране оба значения. Не обращайте внимания на високосные годы.

#include <stdio.h>
int main (void)
{
int years, days;
years = 34;
days = years * 365;
printf("I live already %d years which is %d days", years, days);
getchar();
return 0;
}

4. Напишите программу, которая производит следующий вывод:
Он веселый молодец!
Он веселый молодец!
Он веселый молодец!
Никто не может это отрицать!

Вдобавок к функции main () в программе должны использоваться две определенные пользователем функции: jolly (), которая выводит сообщение “Он веселый молодец!” один раз, и deny (), выводящая сообщение в последней строке.

#include <stdio.h>
void jolly();
void deny();
int main (void)
{
jolly();
jolly();
jolly();
deny();
getchar();
return 0;
}
void jolly()
{
printf("He is funny good lad!\n");
}
void deny()
{
printf("No one can't deny it!\n");
}

5. Напишите программу, которая производит следующий вывод:
Бразилия, Россия, Индия, Китай
Индия, Китай,
Бразилия, Россия
Вдобавок к функции main () в программе должны использоваться две определенные пользователем функции: br (), выводящую строку “Бразилия, Россия” один раз, и ic (), которая один раз выводит строку “Индия, Китай”. Функция main () должна позаботиться о любых дополнительных задачах вывода.

#include <stdio.h>
void br();
void ic();
int main(void)
{
br();
printf(", ");
ic();
printf("\n");
ic();
printf("\n");
br();
printf("\n");
getchar();
return 0;
}
void br()
{
printf("Brazil, Russia");
}
void ic()
{
printf("India, China");
}

6. Напишите программу, которая создает целочисленную переменную по имени toes (англ. – пальцы ног). Программа должна присвоить переменной toes значение 10. Наряду с этим, программа должна вычислить удвоенное значение toes и квадрат toes. Программа должна вывести все три значения, снабдив их соответствующими пояснениями.

#include <stdio.h>
int main(void)
{
int toes = 10;
int toes_2x;
int toes_sqrt;
toes_2x = 2 * toes;
toes_sqrt = toes * toes;
printf("Human got %d toes\n", toes);
printf("Two humans got %d toes\n", toes_2x);
printf("Ten humans got %d toes", toes_sqrt);
getchar();
return 0;
}

7. Многие исследования показывают, что улыбка способствует успеху. Напишите
программу, которая производит следующий вывод:
Улыбайся!Улыбайся!Улыбайся!
Улыбайся!Улыбайся!
Улыбайся!
В программе должна быть определена функция, которая отображает строку
“Улыбайся!” один раз. Эта функция должна вызываться столько раз, сколько необходимо

#include <stdio.h>
void smile();
int main(void)
{
smile(); smile(); smile();
printf("\n");
smile(); smile();
printf("\n");
smile();
printf("\n");
getchar();
return 0;
}
void smile()
{
printf("Smile!");
}

8. В языке С одна функция может вызывать другую. Напишите программу, которая вызывает функцию по имени one_three ( ) . Эта функция должна вывести слово “один” в одной строке, вызвать функцию two (), а затем вывести слово “три” тоже в одной строке. Функция two () должна отобразить слово “два” в одной строке. Функция main () должна вывести слово “начинаем:” перед вызовом функции one_three () и слово “порядок!” после ее вызова. Таким образом, выходные данные должны иметь следующий вид:
начинаем:

один
два
три
порядок!

#include <stdio.h>
void one_three();
void two();
int main()
{
printf("start:\n");
one_three();
printf("good!\n");
getchar();
return 0;
}
void one_three()
{
printf("one\n");
two();
printf("three\n");
}
void two()
{
printf("two\n");
}

Буду рад вашим комментариям!

This entry was posted in С (Си). Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *