C言語基礎八

6029 ワード

#define        ,           。
               。
        -D              ,  
gcc -DSIZE=6 02circle.
        ,            
          ,                     。

                               

     ,               

         #              
          ##                           

                         。
#ifdef    
       1    
#else
	    2
#endif
                 1,       2
     #ifndef            
                 ,    
#if        1
       1
#elif       2
	    2
#else
	    3
#endif
  #elif      

C                   。
                  。
                     ,              #include          。
                        ,  
gcc 1.c 2.c ...

     gcc            ,    
gcc -c 1.c
        .o          
    gcc                 ,    
gcc 1.o 2.o

                      ,           。

/*
	       
*/
#include <stdio.h>
int main(int argc, char *argv[]) {
    int loop = 0;
	 /*for (loop = 0; loop <= (argc - 1); loop++) {
        printf("%s
", argv[loop]); }*/ for (loop = 1; loop <= (argc - 1); loop++) { printf("%s ", argv[loop]); } printf("
"); return 0; } /* */ #include <stdio.h> #define PI 3.14f #define CIRCLE(r1) 2 * PI * r1 #define AREA(r1) PI * r1 * r1 #define PRINT(arr, num) printf("%d ", arr[num]) #define INC(v) v++ #define SIZE 5 void inc(int value) { value++; } int main() { int values[SIZE], loop = 0; float r = 0.0f; printf(" :"); scanf("%f", &r); printf(" %g
", CIRCLE(r)); printf(" %g
", AREA(r)); for (loop = 0; loop <= (SIZE - 1); loop++) { PRINT(values, loop); } printf("
"); printf("loop %d
", loop); INC(loop); printf("loop %d
", loop); inc(loop); printf("loop %d
", loop); return 0; } /* */ #include <stdio.h> #define SECPH (60 * 60) #define NEG(x) 0 - (x) int main() { printf("NEG(6) %d
", NEG(6)); printf("NEG(3 + 4) %d
", NEG(3 + 4)); printf(" %d
", 7200 / SECPH); return 0; } /* */ #include <stdio.h> #define MAX(x,y) x > y ? x : y #define CH(c) c >= 'a' && c <= 'z' ? c- 'a' + 'A' : c - 'A' + 'a' int main() { printf("MAX(3,7) %d
", MAX(3, 7)); printf("MAX(7,3) %d
", MAX(7, 3)); printf("CH('t') %c
", CH('t')); printf("CH('Y') %c
", CH('Y')); return 0; } /* */ #include <stdio.h> #define STR(n) #n #define VAR(n) v_##n #define GLOBAL(n) g_##n int GLOBAL(value); int main() { int VAR(value) = 3; printf("%s
", STR(3 + 4)); printf("%s
", STR(sizeof(int))); printf("GLOBAL(value) %d
", GLOBAL(value)); return 0; } /* */ #include <stdio.h> int main() { printf(" %d
", __LINE__); printf(" %s
", __FILE__); printf(" %s
", __DATE__); printf(" %s
", __TIME__); printf("%sC
", __STDC__ ? " " : " "); return 0; } /* */ #include <stdio.h> //#define ONE int main() { #ifndef ONE printf("1
"); printf("3
"); #else printf("2
"); printf("4
"); #endif return 0; } /* */ #include <stdio.h> int main() { int order = 0; printf(" :"); scanf("%d", &order); #ifdef ZHAOBENSHAN if (1 == order) { printf("
"); } else { printf("
"); } #else if (1 == order) { printf("
"); } else { printf("
"); } #endif return 0; } /* */ #include <stdio.h> int main() { #if defined(ONE) printf("1
"); #elif defined(TWO) printf("2
"); #else printf("3
"); #endif return 0; } /* */ #include <stdio.h> int main() { #if defined(GONGCHANG) printf("80%%
"); #elif !defined(JINGPING) printf("100%%
"); #else printf("120%%
"); #endif return 0; } 12add1.c #include "12add.h" int add(int x, int y) { return x + y; } /* */ #include <stdio.h> #include "12add.h" int main() { printf("add(2, 3) %d
", add(2, 3)); return 0; } #ifndef __12ADD_H__ #define __12ADD_H__ int add(int, int); #endif //__12ADD_H__