Примеры отдельных (базовых) фрагментов на языке Си (С) , полезные для понимания особенностей языка.
Primary tabs
Forums:
Доброго времени дня или ночи)
В теме я размещу некоторые полезные процедуры или фрагменты таковых, которые будут полезны для понимая языка (ни в коем случае не считайте их за стандарты кодирования! это скорее просто чтобы разобраться с особенностями некоторых функций и структур)
- Log in to post comments
- 12654 reads
vedro-compota
Mon, 09/12/2011 - 18:24
Permalink
=Чем и в чём)=
=Чем и в чём)=
Итак, давайте прочитаем строку из консоли - насущная проблема для тех, кто начинает изучать язык си.
для начала ознакомьтесь -
-----------------------
_____________
матфак вгу и остальная классика =)
qutter
Mon, 09/12/2011 - 19:01
Permalink
про указатели забыл ты .
про указатели забыл ты . можно даже там же = http://lord-n.narod.ru/download/books/wa...
+это я+
vedro-compota
Mon, 09/12/2011 - 19:08
Permalink
согласен.
да, друзья , сначала надо прочитать про указатели) но продолжаем.
_____________
матфак вгу и остальная классика =)
vedro-compota
Mon, 09/12/2011 - 20:22
Permalink
1-ый результат.
итак. чтобы считать строку из консоли до первого пробела используйте следующий блок команд =
printf("\nPlease specify the input string \n"); /* просим пользователя ввести в окно консоли строку*/ scanf("%s", inputstr); /* читаем данные из потока вводу в нашу переменную*/ printf("\n You've specified string = %s\n", inputstr); /* просим пользователя ввести в окно консоли строку*/но данный пример не очень хорош для считывания, так как во-первы придётся постараться , указывая формат, чтобы считать все символы строки,а во-вторых это не рационально (читаем - http://cboard.cprogramming.com/c-program...)
поэтому логичнее использовать вариант =
/* читаем строку практически произвольной длинны */ #include <limits.h>/*описание костант режима выполнения программы */ main { fgets ( str, LINE_MAX , stdin ); /* LINE_MAX - хранит максимальный размер входной строки*/ }_____________
матфак вгу и остальная классика =)
vedro-compota
Mon, 09/26/2011 - 18:25
Permalink
printf
printf() вывод на экран целого числа =
printf("\n Yout string length with the \"new line character\" = <strong>%u</strong>\n", n);_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 09/29/2011 - 20:49
Permalink
если мы работаем с турбо си,
если мы работаем с турбо си, то стандартная комплектация не позволит использовать
/* почему fgets читает только n-1 символов - то есть не работает с параметром = fgets (buf ,1, stdin) */ #include <stdio.h> /* определение стандартной библиотеки ввода-вывода для си http://ru.wikipedia.org/wiki/Stdio.h */ #include <alloc.h>/* не обязательно для данного примера - можно удалить*/ #include <stdlib.h> #include <limits.h>/*описание костант режима выполнения программы - в турбо си не содержит LINE_MAX , а потому здесь не обязателена */ /* пояснения в консоли - английские (мой турбо си не располагает необходимой кодировкой))*/ /* стандартноименованная функция, которая является точкой входа в программу */ main() { char a=''; /* вспомогательная переменная*/ char * ch; /*вспомогательная переменная */ char * inputstr; /* в область памяти, на которую указывает эта переменная мы и будем сохранять строку.- тип данной переменной - это указатель на символ(строка пишется посимвольно - видимо, из подобных соображений.)*/ printf("\nPlease specify the input string \n"); /* просим пользователя ввести в окно консоли строку*/ fgets ( inputstr, 20 , stdin ); /* LINE_MAX - хранит максимальный размер входной строки , но не явялется не входит стандарт #include <limits.h> для турбо си */ /* scanf("%s", inputstr); читаем данные из потока вводу в нашу переменную*/ printf("\n You've specified string = %s\n", inputstr); /* просим пользователя ввести в окно консоли строку*/ /* выполняем следующие две команды чтобы задержать закрытие консоли после выполнения предыдущего кода - первая считает из стандартного потока ввода(консоли) enter который мы нажали, после того, как ввели строку в начале, а вторая команда как раз и будет ожидать повторного нажатия enter, после чего консоль будет закрыта.*/ getchar(); getchar(); }_____________
матфак вгу и остальная классика =)