Макросы работы с символьными данными, определенные в ctype.H

Макро Принимает значение Истина, если с есть:
isalnum(c) буква или цифра
isalpha(c) буква
isdigit(c) цифра
islower(c) прописная буква
isupper(c) заглавные буквы
isspace(c) код интервала (' ', '\t', '\r',' \n', '\v', '\f')
isxdigit(c) код 16-ной цифры

Замечания по стилю оформления программ

В данном разделе даются некоторые рекомендации по форматированию и документированию (задание комментариев) программы, продиктованные опытом практического программирования.

1. Комментарии должны располагаться в тексте программы; они должны иметь правильную пунктуацию и не иметь сокращений.

2. Комментарии не должны подтверждать очевидное. Пример бесполезных комментариев:

х++ ; // Увеличение х

/* Определение глобальных переменных*/

3. В начале файла вставляйте комментарий, указывающий автора, описывающий, что делается в файле и какие-то особенности использования данного файла.

4. Комментарий лучше располагать в многострочных блоках, выравнивая начало и конец комментария по вертикали:

/* Первая строка

* Вторая строка

* Третья строка

*/

или

int a; // Текущий указатель символа в строке

char str[50]; // Результирующая строка

float b; // Описание, что делает переменная b

Комментарий выравнивается по столбцам: типа, имени переменной и ее описания.

5. Не располагайте комментарий между именем функции и открывающей скобкой:

fun ( int a )

/* Не помещайте комментарий здесь */

{

...

}

чтобы читающий мог сказать, видит он прототип или тело функции.

/* Можно поместить комментарий здесь*/

fun ( int a )

{

/* или здесь,

** с таким же отступом, что и у кода

*/

}

6. Помечайте конец длинного составного оператора. В конце блока лучше полностью описывать управляющий оператор

for ( i = 0; i <= 10; i++){

while ( a > b ){

...

} // while ( a > b )

} // for ( i = 0; i <= 10; i++)

7. Не располагайте в одной строке больше одного оператора.

8. Текст подпрограммы должен помещаться на экране. Это удобно при редактировании.

9. Используйте штриховую линию для визуального разделения подпрограмм

/*-----------------------------------------------------------------*/

над каждым определением функции.

10. Правила по использованию пробелов.

- Отступ в первой строке зрительно разбивает абзацы.

- Пробел следует за точкой, но не должен предшествовать ей.

- Разбивайте текст программы на логические куски (т.е. абзацы), где каждый кусок выполняет одну операцию. Окружите эти куски или пустыми строками, или строками с фигурными скобками.

- Опeрации являются сокращениями слов. Когда вы видите "+", то говорите "плюс". Подобно любому сокращению, вы должны окружать его символом пробела. Например: а + в читается "а плюс в", но а+в читается "аплюсв".

- Исключение составляют унарные операции, которые рассматриваются как словарные префиксы или суффиксы: *p, a--, f(arg, arg) или знак ->, которые в Си/Си++ являются эквивалентом знака переноса. До и после них пробелов не должно быть p->msg(), obj.msg().

- За знаком препинания всегда должен идти пробел.

11. Делайте отступы, чтобы абзацы в тексте были видны: минимально три пробела, лучше - четыре.

Сравните два варианта программм:

void f( void ) void f( void )

{ {

if ( x ) if ( x )

yyy(); yyy();

more_cod(); more_cod();

even_more_code(); even_more_code();

} }

12. Выделяйте условные операторы абзацными отступами. Напрмер:

if ( i )

one();

else

two();

13. При определении локальных переменных используйте отступы, чтобы показать область их действия

f()

{

int local_var;

int another_local_var;

code;

}

14. Выравнивайте скобки вертикально по левой границе ( как это сделано в предыдущем примере ).

15. Имена идентификаторов должны быть простыми символами близкого вам (лучше, если это будет английский) языка, которые описывают действия функций, аргументов или переменных.

СОДЕРЖАНИЕ

Порядок выполнения лабораторных работ. 3

Требования к оформлению работ. 3

Пример программы на Си. 4

Лабораторная работа № 1 ЛИНЕЙНАЯ ПРОГРАММА.. 6

Лабораторная работа № 2 ФУНКЦИИ ВВОДА-ВЫВОДА.. 7

Лабораторная работа № 3 ОПЕРАТОРЫ УСЛОВИЯ.. 9

Лабораторная работа № 4 ЦИКЛЫ С ИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ.. 11

Лабораторная работа № 5 ЦИКЛЫ С НЕИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ 13

Лабораторная работа № 6 УКАЗАТЕЛИ И МАССИВЫ... 15

Лабораторная работа № 7 СТРОКИ.. 16

Лабораторная работа № 8 ФУНКЦИИ.. 18

Лабораторная работа № 9 СТРУКТУРЫ... 19

Лабораторная работа № 10 ФАЙЛЫ... 21

Лабораторная работа № 11 ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ.. 22

Лабораторная работа № 12 MНОГОМОДУЛЬНЫЕ ПРОГРАММЫ... 24

ПРИЛОЖЕНИЕ.. 25

СОДЕРЖАНИЕ.. 31

Наши рекомендации