C言語基礎学習

31809 ワード


 
          

                      (  ,    )     

.c -->   (         .obj)
                        ,       exe   

//      
scanf("%d", &a);

c      main       

  =    +  

        :
                   

    :   、   、   

   :       ,          
N-S (  ) :          、       

     :  、  、  


        ;
    1、   ,   
    23、      

          

    :
    12、    (       )
    34、   
    
  :           
    1、         (    )
         : 12 2.3 'a'(     )
    2、    :             
        #define       
        #define NAME "sjk"
        
        ,         ,      

             

                 
              
      :     +1
    
       :0   1  
    
    short int: 1
    int      : 2
    long int : 4
    
       (signed)(  )
       (unsigned)
        
       u   U ,   unsigned  
       l   L ,      (              ,     )
     : 123u 123l

       
    10.345 .345 0.0 .0 0.
    2、    : e         ,       .3e3 3e3 3.e3
    3double 
          f F  float , l L  long double  
        
    float: 4byte 7    
    double:8byte 15~16   
    long double 10byte 15~16   
    
                   
    
             ,     
    
   :
                
        (      )        
    
    \ddd 1~3         (ascii ) '\101'    'A'
    \xhh 1~2          (ascii ) '\x41'    'A'
    
unsigned char c1 = 'a'; //      
char c2='\101';
    
                    ascii
                  
                         
    
           

     :
                      
                '\0' ,               \0 (          )
        'a'"a"     

       ,         
           
    
         :
            ,    
                      
        float         double
            short          int  
        
   :
    %          
    
      :
    (double)a
    (int)(x+y)
    
-i++ <==> -(i++)    

         
1、        ,         
2、       ,     ,              
3、               ,    (        )
4char int long    
             
        : ->       1(  ),         1,   0
               ->                   (       )


            
       1,   2 ...    i
        :       ,                
                 
    
    a = (1+3,2+8); //a=10
    
    int a=1;
    printf("%d", a=a+1, a=a+2); //
    
    
putchar:                  
getchar:            ,                   
    
    
    
printf:

    % - 0 m.n l/h     
    
%-0:      0
m.n:          
l/h:       
    :          

        d:     
        o:      
        x:       
        u:      
        c:      
        s:       
        e:       
        f:           
        g:         e f
        
        l:       
            %ld, %lx , %lo, %lu
                 
            %lf
        h:       short   
            %hd, %hx, %ho, %hu
            
        m:        (     )
        n:               
        
  :1、       printf       ,                 ,       , 
                     
      2、        
       
scanf:
           :
        1、        :       tab 
        2、              (   ) scanf("%2d3d", &a, &b); // 12345 ==> a=12, b=345
        3、          (   ) scanf("%2d,3d", &a, &b); // 12,345 ==> a=12, b=345

  :    u   , unsigned     d,o,x    
               
      %c         ,     ,           
      
   :     >     >     >           
      
     :
             :     
             :ascii  
        
 : (1)  (0-- 
 -- 

            ? : 
              、  、    
    
        
        %f   7        6     
        %lf   16        6     
    
    :
        switch(e) e    、   、           
        

     :
    1goto + if     
          :goto                    
             :            ,      ,      
          goto        ,     
    2while
    3do while
    4for
    
//         a    
char c;
while((c=getchar()) != 'a');

           

    :           ( :  、   、   、   )
                           
                   
                

  :   、                          

           int a[10];

sizeof:     

          、           

  c      (static)          (extern)       ,                  

int a[2]={1,2};  //   
int a[3]={1} ;   //   0
int a[3]; //     
int a[] = {1,2,3}; //     3

  : static      ,              0


    :
           ,           
                      

   :
    int x[2][3] = {1,2,3,4,5,6}; //     
    int x[2][3] = {{1,2,3},{4,5,6}}; //    
    
    //    
    static int x[2][3]={1,2,3} //    ,    0
    static int x[2][3]={{1,2},{4}} //  ,    0
    
    //       ,          
    static int x[][3] = {1,2,3,4,5,6};
    
    :
                 ,           
    
    int a[2] <==> char a[2]
    '\0'      null, ascii 0

c              ,         、          '\0'(null),    null         

   :
        static char c[4] = {"abc"};
        char c[4] = {"abc"};
        char c[4] = "abc";
        char c[] = "abc";
    
              >=    +1
        
        char c[3] = "abc"; //   '\0'

    :"%c"
     (  )    :  %s       
 
 char a[10];
scanf("%s", a); printf("%s", a); //             ,       ,         
  %s   ,          ,     '\0'   

 %s                    

&a[0][0] <==> a[0]

       :
gets(     ) //          (      ),              ,              
puts(     /   ) //        ( '\0'       )      ,      ==> printf("%s
", str);
puts(gets()); strcpy( 1, / 2); // 12'\0' 3char str[6], str2[6]; str="china";(X) str , str[0]='c';(Y) // str=str2; (x); //strcpy(str, str2) strcat( 1, / 2)); 2 1 , 1 1 \0 strcmp( 1/ 1, 2/ 2); // ascii 1> 2 1= 2 0 1< 2 strlen( / ); // , ('\0') strlwr( ) // strupr( ) // return , , , int , , main void max(int x,int y); (.h) , include --> , , , , , int max(int a[], int n){} max(a, 10); , , int max(int a[][5]){} int a[4][5]; max(a); : : / / : , : , : : auto( ) static , ( ), , register , extern extern static : !n = n*!(n-1) x^n fn1->fn2->fn1 , (8bit=1byte) : , : 12、 p, a , p a : p , a , p a : * // int *p1, *p2; , , & int a,*p; p=&a; : NULL /0, p=null/p=0; & // * // ?=*p // *p=? // int a=2,*p=&a,*q=&a; // 2 2 printf("%d %d
", *p++ , *(q++) ); p=&a, q=&a; printf("%d %d
", *p, (*q)++ /* a++ */); // 1、 : e.g.: a-y+z 2、 : e.g.:a=b=c=2; 3、 , 4、 , , *p++ <==> *(q++) :http://baike.baidu.com/view/1516130.htm?fr=aladdin // x,y void swap(int *x, int *y) { int *t; t=x; x=y; y=t; } void swap(int *x, int *y) { int *t; //t , *t=*x; *x=*y; *y=*t; } //right void swap(int *x, int *y) { int t; t=*x; *x=*y; *y=t; } ( ) eg: int a[10],*p; p=a <==> p=&a[0]; : p=&a[i]; // *p == a[i]; , + :a a+1 a+2 :p+i, a+i : a[i]( )、*(p+i)( )、*(a+i)( ) a( ) , p : *(p+_i) : : : ( '\0'