С чего начать (самостоятельное) изучение C, или я должен выучить другой язык? [закрыто]

Предполагая, что вы находитесь в WPF, просто скажите:

DGrid.ItemsSource = dt.AsDataView();

Не нужно вручную настраивать столбцы в DataGrid, назначая DataTable, установите их для вас.

13
задан giannis christofakis 17 July 2013 в 17:01
поделиться

17 ответов

Читайте Kernighan и Ritchie "Язык программирования C". Это - классик.

Это - книга, записанная исходными создателями языка. Это коротко, и очень читаемо и правильно написано.

28
ответ дан Nick Fortescue 17 July 2013 в 17:01
поделиться
  • 1
    +1 для довольно достойного варианта использования, но I' m не верный it' s уничтожающее использование идентификатора типа. – Richard Corden 19 July 2011 в 17:19

Я полагаю, что Ваш текущий подход является неправильным. C в настоящее время является подмножеством C++ и не имеет многих из понятия современного языка OO. В большинстве случаев это понижено к унаследованным системам, и большая часть новой разработки, которая не связывается с унаследованным кодом, не записана в C. Лично, я запустил с (выучившегося самостоятельно) C++, и переместился в C#. Запуск в C++ дает Вам все основы, необходимо ли понять объектную ориентацию и что продолжается на низком уровне. Однако для кого-то просто запуск, я теперь рекомендовал бы C# по простой причине что его намного более легкое успешно начать и начать работать с ним. Кроме того, несколько из понятий в c# имеют немного аналогов в мире C и делают программирование намного более интуитивным (LINQ, лямбды, и т.д.). В то время как управление памятью важно (и иногда обнаруживается в C#), это болезненно для управления, и легче не волноваться о том, поскольку Вы запускаете. Чем раньше можно запустить интересный проект, тем менее вероятно необходимо сдаться.

0
ответ дан Steve 17 July 2013 в 17:01
поделиться
  • 1
    @Konrad, Richard - Я can' t думают о реальном примере, но так как такая проверка распространена в Java, я полагал, что это могло бы быть полезно на некоторых случаях в C++ также. Я думаю, что это различие между Java и C++ идет вне объема этого вопроса, таким образом I' ve спросил другой . – eran 21 July 2011 в 05:25

После чтения "Язык программирования C" как многие предположил, что я начну изучать проекты с открытым исходным кодом и извлеку уроки из практических примеров. Существует много, и не легко найти правильное, но приобретение знаний из чтения хорошего кода является лучшей альтернативой для изучения от хорошего кодера:)
, Если Вы имеете один вокруг: парное программирование или просто взаимный код рассматривает, лучший способ учиться.

1
ответ дан Ilya 17 July 2013 в 17:01
поделиться
  • 1
    Ваш ответ был бы еще лучше при копировании содержания того сообщения в ответ. – Daniel Pryden 5 May 2011 в 20:17

1) язык программирования C K& R 2) Read много исходного кода C. поиск кода Google

, Который является всем.

1
ответ дан Jorge Niedbalski R. 17 July 2013 в 17:01
поделиться
  • 1
    +1 большой (и неожиданный) ответ.:) (Хотя я должен признать мне ".NET" в значительной степени просто различные формы того же языка. Все еще большой ответ, все же.) – Mehrdad 5 May 2011 в 19:56

язык программирования C является хорошей начальной точкой.

, Кроме того, C самостоятельно хорошая начальная точка для изучения основ программирования: можно найти программное обеспечение C и разработчиков C почти везде, и много других языков пускают корни в C, такие как C++, C#, Objective C...

1
ответ дан mouviciel 17 July 2013 в 17:01
поделиться
  • 1
    Hrmm... Я просто проверил, и VB не автоприсваивается [отмечают] перечисления как полномочия 2, поскольку это сообщение подразумевает. Это увеличивает их обычным способом - 1. – Brian MacKay 5 May 2011 в 20:22

Считайте "Язык программирования C". Запишите короткие упражнения (некоторые находятся в книге). Используйте компилятор, такой как gcc.

1
ответ дан Yuval F 17 July 2013 в 17:01
поделиться
  • 1
    Couldn' t я уже делаю это даже если Flags wasn' t определенный? – Mehrdad 5 May 2011 в 19:23

C является хорошим выбором для основного образования. Однако перед прохождением через книг, я следовал бы некоторым учебным руководствам по IDE, таким образом, Вы получаете подвешивание строительных проектов и make-файлы, те два будут самыми сложными задачами, с которыми Вы столкнетесь первоначально, и они редко охватываются в любой книге.

1
ответ дан Robert Gould 17 July 2013 в 17:01
поделиться
  • 1
    @Mehrdad: Да, посмотрите мое обновление. – Brian MacKay 5 May 2011 в 19:38

Если бы Вы говорите на немецком языке, я предложил бы Вас открытая книга от Galileo Computing .

3
ответ дан Xn0vv3r 17 July 2013 в 17:01
поделиться
  • 1
    Зависит от того, что Вы подразумеваете под " handle" я предполагаю. Они могли, конечно, все еще сделать битовые операции на них таким же образом, но будут ли они позволять их, во-первых, кажется, проблема, согласно тому, что Charles отправил . – Mehrdad 5 May 2011 в 19:42

Существует университетский курс в Индиане и Университетах Пердью на C-программировании. Курс имеет видео лекции, которые можно найти в здесь .

, Если Вы также интересуетесь рассмотрением C++, существует набор лекций в веб-Проект Архива Лекции, названный "C++ для Физиков Частицы". Вы находите те лекции здесь . Лекции сохранены Paul Kunz из Стэнфордского университета.

Для большего количества лекций C++, можно также проверить , эти лекции от Повторно подключают Сети.

2
ответ дан Erik Öjebo 17 July 2013 в 17:01
поделиться
  • 1
    Couldn' t я уже делаю это даже если Flags wasn' t определенный? – Mehrdad 5 May 2011 в 19:32

Другая опция, если Вы хотите изучить основы программирования, состоит в том, чтобы считать Knuth Искусство Программирования . Это представит Вас основным принципам с самого начала времени. Поскольку дополнительное понимание реализует алгоритмы самостоятельно в C.

2
ответ дан Nick Fortescue 17 July 2013 в 17:01
поделиться
  • 1
    Да, но если it' s не украшенный как таковой, другие языки не могут обработать перечисление правильно. Если it' s все в C#, я предполагаю его doesn' t действительно имеют значение. Когда я буду видеть его, тем не менее, я ожидаю этот вид использования. Без него, я DON' T ожидают видеть немного мудрое использование. Так it' s полезный для удобочитаемости. – Tim Coker 5 May 2011 в 19:37

Мой первый шаг во взятии C был копией "Языка программирования C" - это - простая книга, но язык самостоятельно довольно прост.

7
ответ дан bowens 17 July 2013 в 17:01
поделиться
  • 1
    Удивительный. Никогда не знал об этом, но это сэкономит мне так много времени! – kobaltz 14 December 2013 в 19:00

Позвольте нам C Yeshvant P Kanitkar

-2
ответ дан Rakesh 17 July 2013 в 17:01
поделиться

Я должен не согласиться с предыдущими двумя ответами, кто рекомендует известный "K& R" руководство. Я был абсолютно неспособен узнать о чем-либо из той книги; я просто сдался после чтения первой трети книги приблизительно три раза. Возможно, я являюсь просто немым.

я предлагаю, вместо этого, эта замечательная книга: Программирование C: современный Подход (правовая оговорка: ссылка амазонки)

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

Протест: Я не приехал в C "для C", я прошел через него на пути к моей возможной цели, Objective C и программированию Какао для настольных приложений на Mac OS X Apple. Если Вы действительно хотите очень глубокое знание C, не может повредить получать обе из вышеупомянутых книг и читать K& R руководство после чтения современного C

13
ответ дан ELLIOTTCABLE 17 July 2013 в 17:01
поделиться

Если Вы хотите, чтобы некоторый хороший исходный код читал, я могу сердечно предложить Набор Загадки Simon Tatham ( http://www.chiark.greenend.org.uk/~sgtatham/puzzles/ , прокрутить вниз к нижней части для документации разработчика). От него можно учиться:

  • , Как сделать как будто объектно-ориентированное программирование в C (каждая игра является в некотором смысле классом, который реализует "игровой" интерфейс).
  • , Как записать портативный C (скрывают весь непортативный материал позади Вашего собственного интерфейса).
  • , Как прокомментировать и зарегистрировать Ваш код.
  • , Как сделать программирование GUI в C.
  • , Как реализовать структуры данных в C (я вспоминаю, объединение находит и деревья 2-4 сделанный).
1
ответ дан Jonas Kölker 18 July 2013 в 04:01
поделиться
  • 1
    +1, кажется, лучший ответ ответа до сих пор. Я понятия не имел, что это изменяет поведение Parse... – Mehrdad 5 May 2011 в 19:38

Ну, если Вы хотите "начать с нуля уровня", я рекомендую изучить блок. да блок. Я учился 6502, можно изучить x86, если Вам нравится или рука или миллион операций в секунду. Найдите эмулятор или прерыватель и прочитайте некоторые учебные руководства. Вы поймете точно, как ЦП, работы и код будут иметь намного больше смысла (как то, почему getkeys не обновляет, пока Вы не делаете pollkeys и и т.д.).

После этого я рекомендую C#, потому что это не столь противно как c/c ++ (я, прежде всего, использую C++). Вы поймете, как строка C# могла быть представлена в блоке. C# позволяет Вам делать больше вещей, которые Вы хотите сделать в отличие от c, и C++ (нанимает список вещей, которые мы можем сделать в C++, который мы сможем сделать в следующем стандарте http://en.wikipedia.org/wiki/C%2B%2B0x , C# имеет несколько из них).

, Если Вы хотите изучить много, можно попытаться учить язык, который я рекомендую здесь https://stackoverflow.com/questions/498964/the-difficulty-in-learning-new-languages-by-yourself/578618#578618, который я думаю, хорошая идея после блока.

5
ответ дан Community 18 July 2013 в 04:01
поделиться
  • 1
    Я couldn' t заставляют мое представление представлять правильно с этим ответом, но после добавления simple_format прежде @address, это теперь возвращает строки на отдельных строках. Мне потребовалось немного поиска для нахождения ответа здесь так мысль I' d совместно используют его. Аплодисменты – jfdimark 21 February 2013 в 11:20

About learning C

If you really want to learn C, [Kernighan and Ritchie "The C Programming Language" book](http://en.wikipedia.org/wiki/The_C_Programming_Language_(book)) is good start.

However nowadays, in my opinion, learning C is just mind exercise -- you can learn a lot important details like, for example:

  1. Difference between equal operator (==) and assignment instruction (=),
  2. Expression can have value (i.e. a = 1 has value 1),
  3. Pointers arithmetic,
  4. Direct memory operations (i.e. memset(), memcpy()).

These things are interesting for developers, but most of them is not in use in today mainstream application development (except two first points above).

However if you try to take part in some computer since competitions, C language can be useful.

My recommendation

I would learn C# because it's modern, well designed (in my opinion) object oriented programming language with good, free of charge IDE -- Visual Studio Express Edition, good support (wide community, a lot of source code to study, a lot of tutorials and examples). With C# you can write console application, desktop application or Web Apps, which makes easy to learn by solving wide range of real problems.

Also, on .NET platform there are some other interesting choices -- IronPyton or functional F#.

-1
ответ дан 1 December 2019 в 17:20
поделиться
0
ответ дан 1 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: