Тип переменных для хранения БУКВ
/* Тип переменных для хранения БУКВ называется
char
(от слова character).
Буквы изображаются в одиночных кавычках 'a' 'b' '+'.
Пример: char letter;
letter = 'a'; putchar(letter); letter = 'b'; putchar(letter); letter = '\n'; putchar(letter);
Символ '\n' обозначает "невидимую букву" - переход на новую строку, new line. Есть несколько таких специальных букв, о них - позже.
Зато сразу сделаем оговорку. Чтобы изобразить саму букву \ следует использовать '\\'
putchar('\'); или printf ("\"); ошибочны.
Надо: putchar('\\'); printf("\\");
Дело в том, что символ \ начинает последовательность из ДВУХ букв, изображающих ОДНУ букву, иногда вызывающую специальные действия на экране или на принтере. */
/* Число делится на n, если ОСТАТОК от деления его на n равен 0, то есть если
(x % n) == 0
В частности, так можно проверять числа на четность/нечетность, беря x%2.
Остатки от деления числа x на n это 0 1 2 ... n-1. В случае деления на 2 остаток 0 соответствует четному x 1 соответствует нечетному x
*/
/* Задача: Нарисовать треугольник из звездочек в нечетных строках из плюсиков в четных строках *--------------------------------------------------------*
Решение: используем прежнюю программу, добавив в функцию drawOneLine еще один аргумент - symbol - каким символом рисовать строку.
Далее в основном цикле используем условный оператор и проверку номера строки на четность.
*/
#include
void drawOneLine(int nspaces, int nsymbols, char symbol){ int i; /* счетчик */
for(i=0; i < nspaces; i++) putchar(' '); for(i=0; i < nsymbols; i++) putchar(symbol); putchar('\n'); }
/* Мы вынесем объявление этой переменной из функции, сделав ее "глобальной", то есть видимой во ВСЕХ функциях. */ int LINES = 25; /* всего строк. */
void main(){ /* ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ */ int nline; /* номер строки */
/* ВЫПОЛНЯЕМЫЕ ОПЕРАТОРЫ (ДЕЙСТВИЯ) */ for(nline=0; nline < LINES; nline++){
if((nline % 2) == 0) /* четное ? */ drawOneLine(LINES - nline - 1, nline*2 + 1, '+'); else drawOneLine(LINES - nline - 1, nline*2 + 1, '*'); } }