Макросы работы с символьными данными, определенные в 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