C言語基礎サンプル
C言語基礎サンプル
一、私の環境
Eclispe+Cygwin!
ネット上には多くの環境構築資料があるはずです.もっと探せばいいです.Eclispeの場合はC/C++版のままで良いです.
二、サンプル内容
Cプログラムはその本のすべての例を設計して、後のテーマを含みません--!
内容は添付ファイルのmainを先におりることができます.c見て、C_を降りるかどうかを決めるSamples.zip.
その後、C_を実行可能Samples\Release\C_Samples.exe、lsを入力するとリストが表示されます.さらに名前をつけると、その例を走る方法です!
三、後記
書くのが下手だから,我慢しなさい.
main.c
一、私の環境
Eclispe+Cygwin!
ネット上には多くの環境構築資料があるはずです.もっと探せばいいです.Eclispeの場合はC/C++版のままで良いです.
二、サンプル内容
Cプログラムはその本のすべての例を設計して、後のテーマを含みません--!
内容は添付ファイルのmainを先におりることができます.c見て、C_を降りるかどうかを決めるSamples.zip.
その後、C_を実行可能Samples\Release\C_Samples.exe、lsを入力するとリストが表示されます.さらに名前をつけると、その例を走る方法です!
三、後記
書くのが下手だから,我慢しなさい.
main.c
- /*
- * main.c
- *
- * Created on: 2011-8-28
- * Author: Join
- */
-
- // :
- #include <stdio.h>
- #include <string.h>
-
- // :
- #include "mydef.h"
-
- // , exe 。
- int main() {
-
- //
- int execute(char *in, char *method[], int len);
-
- printf("This is a C program.
");
-
- //
- char *method[] = { "eg1_3_sum", "eg1_3_max", "eg2_2_factorial",
- "eg2_2_is_leap_year", "eg2_2_poly_sum", "eg2_2_is_prime",
- "eg4_6_triangle_area", "eg4_6_to_lower", "eg4_6_solve_equation",
- "eg5_5_solve_equation", "eg5_5_freight", "eg6_6_pi",
- "eg6_6_fibonacci", "eg6_6_prime", "eg6_6_secret_code",
- "eg7_1_fibonacci", "eg7_1_sort", "eg7_2_matrix_transpose",
- "eg7_2_matrix_max", "eg7_3_count_words", "eg7_3_string_max",
- "eg8_4_argument_order", "eg8_5_solve_equation", "eg8_6_factorial",
- "eg8_6_hanoi", "eg8_7_compare", "eg8_7_average", "eg8_7_indefinite",
- "eg8_7_sort", "eg8_7_max", "eg9_1_one", "eg9_1_two", "eg9_1_three",
- "eg9_1_four", "eg9_1_five", "eg9_3_six", "eg10_2_visitInt",
- "eg10_2_compare", "eg10_2_swap", "eg10_2_sort", "eg10_3_arrayOut",
- "eg10_3_inverse", "eg10_3_sort", "eg10_3_printfValue",
- "eg10_3_printfValues", "eg10_3_pValue", "eg10_3_average",
- "eg10_3_failure", "eg10_4_strcopy", "eg10_4_strcopy2",
- "eg10_4_strcopy3", "eg10_5_funcpointer", "eg10_5_funcparam",
- "eg10_6_failedStu", "eg10_6_sortStrArray", "eg10_7_pt2pt",
- "eg11_5_voteCount", "eg11_6_pt2Struct", "eg11_6_arguStruct",
- "eg11_7_simpleList", "eg11_7_handleList", "eg11_8_union",
- "eg11_9_enum", "eg12_2_getBit", "eg12_2_moveBit", "eg13_4_put",
- "eg13_4_copy", "eg13_4_save", "eg13_4_read", "eg13_5_rewind",
- "eg13_5_fseek" };
- //
- int len = 71;
-
- char str[20];
- do {
- printf("
$ ");
-
- //
- scanf("%s", str);
-
- /*
- * (
)
- * scanf() getchar() , ( ) 。
- * (
) ,
,
- *
,
,
- * , ! fflush(stdin) .
- */
- // fflush(stdin);
- /*
- * ps: scanf ‘fflush(stdin);’, , ,
- * C C++ fflush(stdin)。
- * ( VC6) fflush(stdin) ,
- * (linux gcc )。
- *
- * :1、 ( eg3.c - -)
- * 2、“ ” ( eg7_3_count_words)
- */
-
- //
- int result = execute(str, method, len);
- if (0 == result) {
- // 0,
- break;
- } else if (-1 == result) {
- // -1,
- printf(" !
");
- }
- } while (1);
-
- return EXIT_SUCCESS;
- }
-
- //
- int execute(char *in, char *method[], int len) {
-
- // "exit", 0
- char *exit = "exit";
- if (0 == strcmp(in, exit)) {
- return 0;
- }
-
- int i = 0;
- // "ls",
- char *ls = "ls";
- if (0 == strcmp(in, ls)) {
- for (i = 0; i < len; i++) {
- printf("%-22s", method[i]);
- if (2 == i % 3) {
- printf("
");
- } else {
- printf(" ");
- }
- }
- if (len % 3 != 0) {
- printf("
");
- }
- return 1;
- }
-
- //
- void do_method(int i);
- // key ,
- for (i = 0; i < len; i++) {
- if (0 == strcmp(in, method[i])) {
- do_method(i);
- return 1;
- }
- }
-
- return -1;
- }
-
- //
- void do_method(int i) {
- switch (i) {
- case 0:
- //
- eg1_3_sum(123, 456);
- break;
- case 1:
- // 2
- eg1_3_max(123, 456);
- break;
- case 2:
- // 1x3x5x7x9x11
- eg2_2_factorial(11);
- break;
- case 3:
- //
- eg2_2_is_leap_year(2008);
- break;
- case 4:
- // 1-1/2+1/3-1/4+...+1/99-1/100
- eg2_2_poly_sum(100);
- break;
- case 5:
- //
- eg2_2_is_prime(345);
- break;
- case 6:
- // ,
- eg4_6_triangle_area(3, 4, 5);
- break;
- case 7:
- // ,
- eg4_6_to_lower('B');
- break;
- case 8:
- // ax^2+bx+c=0
- eg4_6_solve_equation(1, -4, 3);
- break;
- case 9:
- // ax^2+bx+c=0
- eg5_5_solve_equation(1, 2, 1);
- eg5_5_solve_equation(1, 2, 2);
- eg5_5_solve_equation(2, 6, 1);
- break;
- case 10:
- //
- eg5_5_freight(100, 20, 300);
- break;
- case 11:
- // PI/4=1-1/3+1/5-1/7+... PI
- eg6_6_pi();
- break;
- case 12:
- // Fibonacci 40
- eg6_6_fibonacci();
- break;
- case 13:
- // 100~200
- eg6_6_prime();
- break;
- case 14:
- // : 4
- eg6_6_secret_code();
- break;
- case 15:
- // Fibonacci
- eg7_1_fibonacci();
- break;
- case 16:
- //
- eg7_1_sort();
- break;
- case 17:
- //
- eg7_2_matrix_transpose();
- break;
- case 18:
- // 3x4 ,
- eg7_2_matrix_max();
- break;
- case 19:
- //
- eg7_3_count_words();
- break;
- case 20:
- // 3 ,
- eg7_3_string_max();
- break;
- case 21:
- //
- eg8_4_argument_order();
- break;
- case 22:
- // : f(x)=x^3-5x^2+16x-80=0
- eg8_5_solve_equation();
- break;
- case 23:
- // n!
- eg8_6_factorial();
- break;
- case 24:
- // Hanoi( )
- eg8_6_hanoi();
- break;
- case 25:
- //
- eg8_7_compare();
- break;
- case 26:
- // score, 10 ,
- eg8_7_average();
- break;
- case 27:
- //
- eg8_7_indefinite();
- break;
- case 28:
- // 10
- eg8_7_sort();
- break;
- case 29:
- // 10
- eg8_7_max();
- break;
- case 30:
- //
- eg9_1_one();
- break;
- case 31:
- //
- eg9_1_two();
- break;
- case 32:
- //
- eg9_1_three();
- break;
- case 33:
- //
- eg9_1_four();
- break;
- case 34:
- //
- eg9_1_five();
- break;
- case 35:
- // ,
- eg9_3_six();
- break;
- case 36:
- //
- eg10_2_visitInt();
- break;
- case 37:
- // a b , a b
- eg10_2_compare();
- break;
- case 38:
- //
- eg10_2_swap();
- break;
- case 39:
- // a,b,c 3 ,
- eg10_2_sort();
- break;
- case 40:
- //
- eg10_3_arrayOut();
- break;
- case 41:
- // a n
- eg10_3_inverse();
- break;
- case 42:
- // 10
- eg10_3_sort();
- break;
- case 43:
- //
- eg10_3_printfValue();
- break;
- case 44:
- //
- eg10_3_printfValues();
- break;
- case 45:
- //
- eg10_3_pValue();
- break;
- case 46:
- // average , search i
- eg10_3_average();
- break;
- case 47:
- // ,
- eg10_3_failure();
- break;
- case 48:
- // a b( )
- eg10_4_strcopy();
- break;
- case 49:
- // a b( )
- eg10_4_strcopy2();
- break;
- case 50:
- //
- eg10_4_strcopy3();
- break;
- case 51:
- //
- eg10_5_funcpointer();
- break;
- case 52:
- //
- eg10_5_funcparam();
- break;
- case 53:
- //
- eg10_6_failedStu();
- break;
- case 54:
- // ( )
- eg10_7_sortStrArray();
- break;
- case 55:
- //
- eg10_7_pt2pt();
- break;
- case 56:
- // :
- eg11_5_voteCount();
- break;
- case 57:
- //
- eg11_6_pt2Struct();
- break;
- case 58:
- //
- eg11_6_arguStruct();
- break;
- case 59:
- // ,
- eg11_7_simpleList();
- break;
- case 60:
- //
- eg11_7_handleList();
- break;
- case 61:
- // : ,
- eg11_8_union();
- break;
- case 62:
- // :5 3
- eg11_9_enum();
- break;
- case 63:
- // a 4~7
- eg12_2_getBit();
- break;
- case 64:
- //
- eg12_2_moveBit();
- break;
- case 65:
- // , , “#”
- eg13_4_put();
- break;
- case 66:
- //
- eg13_4_copy();
- break;
- case 67:
- // 4 ,
- eg13_4_save();
- break;
- case 68:
- // "stu_list" ,
- eg13_4_read();
- break;
- case 69:
- // rewind :
- eg13_5_rewind();
- break;
- case 70:
- // fseek
- eg13_5_fseek();
- break;
- }
-
- }