■■■■■■■■■■■■■■■■■■     C言語 演習例題 ■■■■■■■■■■■■■■■■■■ はじめに 日本語(全角文字)扱いは、サクラエディタで制作し、 sift-jis コードで、 定められた同じフォルダーに保存をしてください。 ■■  1章    ■■ オリエンテーション ■■  2章  コンパイルと実行  ■■ /* 計算と表示     */ #include int main() { int i,j; i = 3; j = 10; printf("%d\n", i+j); return 0; } ■■  3章   文字列  ■■ int main(void) { printf("こんにちは。C言語は段階的に学習を"); Printf("すれば決してむずかしくはありません!"); return 0; } //(sift-jis での保存が必要です) /* 表示の練習 */ #include int main(void) { printf("a"); printf(\n); printf("b"); Printf(\n); printf("c"); return 0; } ■■  3章  文字列を扱う     ■■ //***** //文字列を表示する #include int main(void) { char *str = "みなさん、おはようございます"; printf("文字列は%sです。\n", str); return 0; } //(sift-jis での保存が必要です) //***** //文字列を表示する_2 #include #include int main() { char moji[10]; char moji_copy[10]; int nagasa; moji[0] = 'A'; moji[1] = 'B'; moji[2] = 'C'; moji[3] = '\0'; printf("%s\n", moji); return 0; } ■■  4章   関数     ■■ //***** //putcha #include int main() { printf("Hello C\n"); putchar('A'); printf("Good bye\n"); printf("%d", 123); return 0; } //***** //戻り値 #include #include int main() { printf("Hello C\n"); putchar('A'); printf("Good bye\n"); printf("absolute= %d\n",abs (-2)); printf("%d", 123); return 0; } //***** //内容変えて練習 #include int main() { printf("Hello\n"); printf("sayounara matane\n"); printf("%d", 12456789); return 0; } //***** //内容変えて練習 #include int main() { printf("こんにちは,私は井上太郎と言います。\n"); printf("\n"); printf("趣味はサイクリングです。会員番号は\n"); printf("%d", 312349876); return 0; } //(sift-jis での保存が必要です) ■■  5章 関数_2   ■■ //***** // #include void buy(void) { printf("マンションを買いました。\n"); } int main(void) { buy(); return 0; } //(sift-jis での保存が必要です) //***** //別例題 #include void buy(int x) { printf("%d万円のマンションをを買いました。\n", x); } int main(void) { int num; printf("いくらのをマンションをいますか?\n"); scanf("%d", &num); buy(num); printf("つぎはいくらのマンションを買いますか? \n"); scanf("%d", &num); buy(num); return 0; } //(sift-jis での保存が必要です) //***** //プロトタイプ宣言 #include int kansuu(int hiki1, int hiki2); int main() { int modori; modori = kansuu(2, 3); printf("modori=%d\n", modori); return 0; } int kansuu(int hiki1, int hiki2) { printf("関数使用\n"); return hiki1 * hiki2; } //(sift-jis での保存が必要です) //関数使用を半角文字のkansuusiyou に直しても手っ取り早いです。 ■■  6章 変数と演算   ■■ //***** //変数扱いとprint関数 include int main() { printf("1+2=%d\n", 1 + 2); printf("1-2=%d\n", 1 - 2); return 0; } //***** //変数扱いとprint関数_2 #include int main() { int kei; kei = 1 + 2; printf("1+2*3=%d\n", kei * 3); return 0; } //***** //キャスト #include int main() { char moji = 'X'; double syousuu = 3.141592; char mojiretsu[] = "mojiretsu hozon"; long seisuu = 1234567890L; printf("moji = %c\n", moji); printf("syousuu = %f\n", syousuu); printf("mojiretsu = %s\n", mojiretsu); printf("seisuu = %ld\n", seisuu); return 0; } //***** //キャスト2 #include int main() { int a = 1; int b = 2; printf("1/2 = %f\n", (double)a / (double)b ); return 0; } //***** //scanf #include int main() { int nyuuryoku = 0; scanf("%d",&nyuuryoku); printf("syouhizei =%f\n",nyuuryoku * 0.08); return 0; } //***** //scanf-2 #include int main(void) { int atai; printf("整数を入力してください。\n"); scanf("%d", &atai); printf("%dが入力されました。\n", atai); return 0; } //(sift-jis での保存が必要です) ■■  7章 分岐命令    ■■ //*****         //キーボード入力あり #include int main(void) { int suu; printf("数字を入力\n"); scanf("%d", &suu); if (suu == 1){ printf("1が入力されました。\n"); return 0; } printf("1以外の入力・処理を終了します。\n"); return 0; } //(sift-jis での保存が必要です) //*****         ××× //合格判断 #include int main() {    int tensuu = 0;    printf("tensuu >"); fflush(stdout);    scanf("%d", &tensuu);    if ( tensuu >= 80 ){ printf("合格 \n"); } else {   printf("今回は残念でした \n"); }   return 0; } //(sift-jis での保存が必要です) //***** //分岐でクラス分け   #include int main() { int tensuu = 0; printf("tensuu >"); fflush(stdout); scanf("%d", &tensuu); if ( tensuu >= 80 ){ printf("yu\n"); } else if ( tensuu >= 60 ){ printf("futu\n"); } else {  printf("kiso\n"); } return 0; } //*****    //ほかの条件分岐例 #include int main(void) { int ka; printf("1か2の整数を入力してください。\n"); scanf("%d", &ka); if (ka == 1){ printf("1が入力されました。\n"); } else if(ka == 2){ printf("2が入力されました。\n"); } else{ printf("1か2を入力してください。\n"); } return 0; } //(sift-jis での保存が必要です) ■■  8章 くり返し処理  ■■ //***** //回数だけくり返す #include int main(void) { int i = 1; while(i <= 5){ printf("%d番目のくり返しです。\n", i); i++; } printf("終わりました。\n"); return 0; } //(sift-jis での保存が必要です) //***** //くり返す_別の方法 #include int main(void) { int i; for(i=1; i<=5; i++){ printf("Hana ga saku.\n"); } printf("End.\n"); return 0; } ■■  9章 キャスト   ■■ //***** ××× //型変換 include int main() { int a = 1; int b = 2; printf("1/2 = %f\n", (double)a / (double)b ); return 0; } //***** //scanf #include int main() { int nyuuryoku = 0; scanf("%d",&nyuuryoku); printf("syouhizei = %f\n",nyuuryoku * 0.08); return 0; } //***** //scanf-2 #include int main(void) { int atai; printf("整数を入力してください。\n"); scanf("%d", &atai); printf("%dが入力されました。\n", atai); return 0; } //(sift-jis での保存が必要です) ■■  10章 ポインタ変数    ■■ //***** //変数の数値とアドレスの関係 #include int main(void) { int a; int *pA; a = 5; pA = &a; printf("変数aの値は%d。\n", a); printf("変数aのアドレスは%p。\n", &a); printf("ポインタpAの値は%p。\n", pA); printf("*pAの値は%d。\n", *pA); return 0; } //(sift-jis での保存が必要です) ■■ 11章 ポインタ_2 ■■ /*#########*/ /*内容を見る*/ #include #include int main() { int kazu = 0; int *p; p = &kazu; printf("p=%p &kazu=%p\n", p, &kazu); printf("*p=%d\n", *p); *p = 100; printf("*p=%d\n", *p); printf("kazu=%d\n", kazu); return 0; } //***** //変数を自由に付ける #include #include int main() { int tama = 1000; int *p; p = &tama; printf("p=%p &tama=%p\n", p, &tama); printf("*p=%d\n", *p); *p = 5000; printf("*p=%d\n", *p); printf("tama=%d\n", tama); return 0; } ■■  12章  ストリーム   ■■ //***** //メモ帳データーから読み込む // test3.txt というデーターをつくり、同じフォルダーに保存しておきます。 #include #include int main () { char a[20]; FILE *f; char file_name[] = "test3.txt"; if ((f = fopen(file_name, "r")) == NULL) { fprintf(stderr, "%s\n","オープン時エラー発生"); return EXIT_FAILURE; } while (fscanf(f, "%s", a) != EOF){ printf("%s\n",a); } fclose(f); return 0; } //(sift-jis での保存が必要です) //***** //手入力によるデーター作成 #include #define NU 5 int main(void) { FILE *fp; int test[NU]; int i, j; fp = fopen("test2.txt", "w"); if(fp == NULL){ printf("ファイルをオープンできません。\n"); return 1; } else{ printf("ファイルをオープン。\n"); } printf("%d人の点数を入力してください。\n", NU); for(i=0; i #include struct Zinzi { char name[32]; int age; }; int main() {     struct Zinzi syain;     strcpy(syain.name, "青山三太");     syain.age = 24; printf("社員の名前は%sです\n", syain.name); printf("年は%d歳です\n", syain.age); return 0; }