Программирование с + +

  • Автор теми Автор теми x_files
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 17.06.2012
Повідом.: 37
Программирование с + +

Посоветуйте хорошую литературу для познания языка с++, также хорошие сайты с листингами программ! Заранее благодарен!:клас:
 
Останнє редагування:
Б. Страуструп "Язык программирования C++"
 
Люди, активнее. Вам жалко поделиться хорошей литературой?
 
Страуструп Б. Программирование. Принципы и практика использования С++ - книга больше похожа на учебник. В то время, как Б. Страуструп "Язык программирования C++" скорее является справочником по языку
 
ТС начинающий, поэтому рекомендую 2 книги, одна другую дополняет:
1) Джесс Либерти "Освой самостоятельно С++ за 21 день"
2) Герберт Шилдт "С++ руководство для начинающих"
Код к Шилдту, а также ответы на вопросы есть на сайте изготовителя прямо по ссылке:
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


Поговаривают, еще хорошая книга Стивен Прата "Язык программирования С++", там 1200 страниц, но очень исчерпывающая книга, я пролистывал, надо много терпения чтобы освоить и выполнить все задания.
3) Айвор Хортон "Visual C++ 2010" - отличная книга, уже уровнем выше чем Шилдт и Либерти;
4) Роберт Сэджвик "Алгоритмы на С++" - ну это вообще высший пилотаж, там математика, структуры данных, графы и т.д.
5) Павловская Т.А. "Программирование на языке высокого уровня" есть и учебник и практикум, тоже хорошие книженции... Очень много неплохих практических примеров приведено, в ХАИ, кстати, на кафедре программирования конспект лекций по этой книге сделан, 1 в 1...
Ну СТРАУСТРУПА уже посоветовали, это канонические книги от создателя языка... Но все таки рекомендую начать с первых двух!
А книги эти все имеются на рутрекере, ищи там, я даже видел сборник книг, метров 700 весил, там порядка 50 книг по С++ и примеры кода к половине из них...

P.S. Вообще конечно полезнее код набивать, больше запомнишь, нежели скопипастишь откуда-то!
 
Останнє редагування:
с листингами программ! Заранее благодарен!:клас:

держи

Код:
                          #define  \
                        D(s)"<<"#s">>"
                      #define  q(s)p(#s)
                     #define S " endobj "
                    #define Y "endstream"S
                    #include     <stdio.h>
                    #define  o(s) b[s]=_;\
                     p("%u    0  obj",s);
#define E for         (c=d;c  < 123;c++)
  #define DANCE         "trailer   "D\
    (/Root 3 0            R /Size %d)            "\nstartxref %u %%%%EOF\n*/"
      #define              p(s, ...)             _+=printf(s,  ##__VA_ARGS__)
       #define C         "<</Type/Page         /Parent %d %d R /Resources <<\
        /ProcSet[       /PDF/Text]/Font       <</U"D(/Subtype/Type1/BaseFont\
          /Courier) "  /T<</Subtype/Type3   /FontBBox[0 0 10 10]/FontMatrix[\
           %f 0 0 %f 0 0]/FirstChar %d/LastChar %d/Encoding<</Differences[%d"
            typedef int N;typedef char*Nyan;typedef char A;N a,b[64],d=65,_,v
              [32]={84,0,64,282,90,74,330,85,93,173,167,176,80,208,81,13,7,87
                ,160,346,32,128,170,218,16,26}; Nyan w[]={"+*-(,&-&","+*,&-&"
                  ,"+*.&/&","+*/*/+","+*())'('"  ,"+**&)&","+*(&'&","+*'*'+",
                    "","+,./","+,-,./","+--,+*"  ,"","+,(/","+,),(/","+-),+*"
                     ,"10 0 d0 ","8 7 2 2 re "   ,"+*+.'`'@'mi +/+/(mi"};Nyan
                       nyan(Nyan _,N y,A n){
                        N g=v[~-y%32];Nyan
                         s=w[g>>n&3|n*2];
                         for(a=0;*_=*s++;
                         a++,_++,*_++=32)
                         {*_+=*_-32?10:0;
                         if(a%2&&*_/16==3
                         ){if(g>>8)*_=105-*_;
                        _++;*_++=32;*_=~-a&&a-13
                        ?108:109;}}return n?n-9?nyan
                       (_,y,n-2):_:nyan(_+=~y&' '?sprintf
                      (_,17[w]):0,y,9);}N main(N c){A e[256];
                     p("/*%%PDF-1.3%%*/")-2;q(#include<stdio.h>\n);
                    q(#define o *_++&& *_-41\n#define);p(" endstream ");q
                   (main(){for(;*_++;      *_-40?:putchar(o?*_:o?10:41));\n)
                  ;q(#define  endobj          return 0;}\n);q(typedef int ET;/)
                 ;q(*);o(1)*b=~(p(D                 (/Length 2 0 R)"stream\n"))
                ;for(p("BT 12 818"                    " Td/%c 12 Tf 12 TL%%%c/"
               "static char*_=\""                       " \\\n",7[v],*v/2);c=
              getchar(),~c;c-10?                         p("/%c 12 Tf(\\%o)"
             "Tj",v[~-c%' '<25[                         v]&&!~-(~-c/'@')?0
            :7],c):(p("()'")))                         ;p("%%\";\nET ");*
           b-=~_;p(Y"/*");E{a                         =nyan(e+sprintf(e,
          16[w]),c,6)-e;o(c-                         59)p(D(/Length %d)
         "stream\n%s"Y,a,e)                         ;}o(2)p(" %u"S,*b);
        o(3)p(D(/Pages 4 0                         R)S);o(4)p(D(/Count
       1/MediaBox[0 0 595                         842]/Kids[5 0 R])S)
      ;o(5)p(C,4,0,6e-2,                         6e-2f,d,122,d);E p(
     "/%c",~-c/6+~14?c:                         d);q(]>>/CharProcs<<)
    ;E if(~-c/6+~14)p(                           "/%c %d 0 R",c,c+~58);
   for(q(>>/Widths[),                             c=59;--c;p(" 10"));a=p
  ("]>>>>>>/Contents 1                              0 R>>"S);for(p("xref\
 0 %d ",--d);c<d;p("%010u\
 %05d n  ",*(c+++b),NULL));
  return!(p(DANCE,d,a));}

вот еще:
Код:
#include<stdio.h>
#define c(C) printf("%c",C)
#define C(c) ((int*)(C[1]+6))[c]
main(int c,char    
*C[])         {(C[c]=C[
1]+2   )[0]=   c(52*c(\
'C'+  '4'/4)    );for(c
=0;  c<491;++   c)for(*
*C=  C[1]['c'    +c]  =
0;*   C[0]<8;(    **  C
)++    )C[1][c+   'c']=
*(C[  1]+c+'c')+  C[1][
99+    c]+(C[1    ][**C
+8*c  +99]==32    );  (
*C)[4]=*C[2]==    75  ?
*((C[2]+=3)-2    )==70?
1:0:0;C(0)=C(    1)=c=0
;while(*C[2]?   C[2][1]
?*(C[2]+2)?1    :0:0:0)
{if( *C [2      ]>'w'){
C(1)=0;C[1]    [2]++;*C
[2]=0;}else   C(1)+=*C[
2]==58?2+(    C[2][3]&&
*(C[2]+3)<   'x'):*C[2]
=='s'?(C[   2][1]-=48):
*C[2]>=65  ?3-(*C[2]==\
'm'?1:0)  :1;C(0)=C(1)>
C(0)?C(1  ):C(0);c+=3;*
(C+2)+=3;}printf("  %d\
          %d\n",        56+8*C(    0),80**(C[3]    ++))
         ;*C[2]=0       ;C[2]       -=c;*C[3]       =0;
        while(C[3]      [1,-         1]--){;   for(  **
        C=0     ;*      *C<          80;(**   C)++)  {C
       [2]      -=3     **           C[3];   *C[3]   ++
       =0;      *C[     3]          =**C>=  51||*   *C<
       18       ||*     *C         %8!=2?0  :255   ;c(1
       -1       );c     (*C       [3]);for(       (*C)[
       1]      =0;(     *C)[    1]<3;(*C)[1]    ++)c(*C
       [3      ]|((     *C)[  4]?**C>18&&* *C<42 ?C[1][
       42     +*(*      C+1)    +3***C]:0: **C>=  11&&*
       *C     <64?      ~C[1 ][   7***C+97 +(*C)[  1]]:
        0)   );c(       *C[3 ]++)   ;for(C (1)=0;   (C(
        2)   =C(1       ))<C (0);)   {(*C) [2]=C   [2][
        1]  -49;        c=(* C[2]<=   63); c=(*   C)[0]
        -4  *(C[        3][0 ]=105-  C[2][ c]   -7*(*(C
        [2]+c)<         'c') -18*(  C[2][c    ]<77)+2*(
         *C)[4          ]-7* (C[2] [c]<'C'  ))-6;for(C(
        3)=0;                                          
       C(3)<                                (*C[2]?*C[2
      ]>'r'                             ?C[    2][1]:(1
     +2*(*C             [2]>   64)    +(2-!C[2    ][3])
    *(58 ==             (*(C         +2))[0])-         
    (C[2] [0            ]=='m'   )  ):C(2)?C(0     )-C(
  2):0  );C(3)++)       C(1)+=c(C  [1][4]|(*     C[2]&&
 *C[2  ]<'s'?*C[2]      ==58?C(3)  ==1?**C     >17&&**C
 <51  ?C[ 2]    [1]     ==59?39:  C[2][1     ]==58?9:1:
0:0  :63  >*     C[2    ]?(c<7&&  c>-9?C[1    ][(*C[2]<
45?  'c'  *5     +2*    '%':*C[   2]<  61?570    :571)+
3*c  ]:   0)      :*C   [2]>'o'  ?**C>26&&**C<29    &&!
(*C  )[    2]     ||(   *C)[2]  ==1&&(&*C[0])       [0]
 <34  &&   31     <**   C?C(3)  <2?15+225*C(3     ):0:(
 *C)[  2]  ==     3?C   (3)<2  &&**C>22&&**C     <45&&C
 (3)<      2?     C[    1][7*  *(*C)+151+C      (3)]:0:
  7==(     *C    )[2    ]&&*  *C>26&&**C       <42&&C(3
  )<2?C    [1   ][7     ***C  +135+C(3)]       :0:*C[2]
   <'k'?    (c >-5                      &&      c<5?C(3
    )<2?C   [1][(                       (*C)     [2]<3?
     207:205)+7*                        c+C(3     )]:C[
      2][2]==46               &&        (c==-2||   c==-
            1-                          2*(*C[3]%2  ))?
            96                          :0:0)|((*C)[2  
             ]?                                        
             C(         3      )        ?C(3)< 2       
             &&                        *C[3]>  7   &&  
             c<           1&&c  >-24  ?8:0:*   C       
             [3         ]<8&&c  >1   &&c<24    ?   ' ' 
        :0   :0)        |(C(3) <2     &&(  **  C       
       ==66   &&        *C[3   ]>14   ||*  C[  3       
       ]>12   &&        58   ==**C||   *               
       C[3    ]<        2  &&**C==10   )            ?  
        5*  51:                       0)|(7==  (       
         *C)[                        2]?*C[3]  <       
8?c>13&& c<23&&C(3)<2?C
[1][144+ 7*c+C(3)]:0:C(
3) && c< -14&&c>- 24?C[
1] [7 *c +400+C(3 )]:0:
0) :! C  (3)?**C> 21&&C
[0 ][    0]   <32      
?C     [ 1 ]   [(      
*   C )    [2   ] +323 
   +7     **   *C ]:36 
 + 1   < **   C&& '0'> 
*     *C ?  C[1][      
   C[ 2]  [2]+162      
 + 7* **C]:0:0:0));C[1 
][ 3] ++;C[2]+=3;}c(0) 
;C [3 ]-=2;}*C[3]=0;}}
 
ТС начинающий, поэтому рекомендую 2 книги, одна другую дополняет:
1) Джесс Либерти "Освой самостоятельно С++ за 21 день"
Это даже не смешно :)

Поговаривают, еще хорошая книга Стивен Прата "Язык программирования С++", там 1200 страниц, но очень исчерпывающая книга, я пролистывал, надо много терпения чтобы освоить и выполнить все задания.
Исчерпывающая книга єто страутсруп и стандарт, а єто неплохой учебник для начинающего, там рассмотрены многие важные ньюансы, и нету черезмерного проникновения в глубины, которые на первых порах лишь отвлекают.

3) Айвор Хортон "Visual C++ 2010" - отличная книга, уже уровнем выше чем Шилдт и Либерти;
КНига по среде что ли? Плохой вариант, так как студия далеко не самый лучший образчик стандарта.

4) Роберт Сэджвик "Алгоритмы на С++" - ну это вообще высший пилотаж, там математика, структуры данных, графы и т.д.
Это не высший пилотаж а то что должен понимать каждый программист, от новичка до гуру.

5) Павловская Т.А. "Программирование на языке высокого уровня" есть и учебник и практикум, тоже хорошие книженции... Очень много неплохих практических примеров приведено, в ХАИ, кстати, на кафедре программирования конспект лекций по этой книге сделан, 1 в 1...
[/QUOTE]
Это эпик фейспалм... Павловская это уровень школьной программы.
P.S. Вообще конечно полезнее код набивать, больше запомнишь, нежели скопипастишь откуда-то!
Код надо не набивать и копировать, а создавать в голове.
 
Это эпик фейспалм... Павловская это уровень школьной программы.

Это вы таки забыли, как в ХАИ преподаватели преподают. Даже на кафедре Высшей математики материал стараются преподнести студентам как в школе. Теория на лекциях еще может излагаться нормально, а вот на практике студентам предлагается решать задачки аля 9й класс школы, но конечно с применением той теории, которую отчитали на лекциях.

А т.к. программирование - это практика, практика и еще раз практика... Ну вы поняли.

Такова селяви.

Исчерпывающая книга єто страутсруп и стандарт

И при всем моем уважении к Страуструпу - его книга по моему мнению одна из худших для начинающего для изучения С++. В его книге слишком много абзацев уделяется дизайну приложения. Слишком часто он любит говорить, как ту или иную фичу языка можно заюзать при определенной синтетической ситуации. Это начинающему забивает голову и отвлекает от того, что нужно делать при первичном изучении языка - синтаксиса, ограничений языка, набора основопологающих правил и т.д. Но это есть лично мое мнение.
 
КНига по среде что ли? Плохой вариант, так как студия далеко не самый лучший образчик стандарта.
Ты бы открыл книгу для начала, ознакомился с содержимым, а потом свои комментарии оставлял!

ТС, рекомендую сменить форум, советую пойти сюда
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
, никакого срача, получишь дельные советы по интересующим тебя темам.
 
Это вы таки забыли, как в ХАИ преподаватели преподают. Даже на кафедре Высшей математики материал стараются преподнести студентам как в школе. Теория на лекциях еще может излагаться нормально, а вот на практике студентам предлагается решать задачки аля 9й класс школы, но конечно с применением той теории, которую отчитали на лекциях.

А т.к. программирование - это практика, практика и еще раз практика... Ну вы поняли.

Такова селяви.
Я там к счастью не учился :)

И при всем моем уважении к Страуструпу - его книга по моему мнению одна из худших для начинающего для изучения С++. В его книге слишком много абзацев уделяется дизайну приложения. Слишком часто он любит говорить, как ту или иную фичу языка можно заюзать при определенной синтетической ситуации. Это начинающему забивает голову и отвлекает от того, что нужно делать при первичном изучении языка - синтаксиса, ограничений языка, набора основопологающих правил и т.д. Но это есть лично мое мнение.
Ну дык с этим я и не спорю. Однако назвать Прату исчерпывающей книгой - как то глупо. Даже страуструп не полон.



Ты бы открыл книгу для начала, ознакомился с содержимым, а потом свои комментарии оставлял!

Косодиагональный анализ показал что то о чем я писал имеет место быть.
 
Останнє редагування:
Помоему самые лучшие книги Том Сван (Tom Swan)
 
Вот хорошая ссылочка:
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

Я думаю, здесь плохую рекомендацию не дадут!
По поводу списка, приведенного мной, это чисто субъективное заключение,что читать, решать Вам.
Единственное, что могу добавить,как по мне лучше пользоваться бумажными изданиями, а не электронными вариантами, разве что если у Вас нет хорошей читалки на 9 дюймов! :)
 
Спасибо большое за дельные предложения!)
 
Назад
Зверху Знизу