付録PDF.indd

Size: px
Start display at page:

Download "付録PDF.indd"

Transcription

1 Appendix 特別付録 特 1 特 2 本書で扱った主な関数の使い方

2 解答解答解答解答 付録 A 補足 392 ページ 3 プログラムコードの記述と保存 の 1 の手順のようにプログラムコー ドを入力できる状態にするには 先に以下の手順を行ってください Appendix 特 1 1 章整数による簡単な計算 1 Visual C Express E d i t i o n を起動して [ ファイル ]-[ 新規作成 ]-[ ファイル... ] を選択します int main(void) { printf("%d\n", ); return 0; } 例例題 年の日数 2 新しいファイル ダイアログで カテゴリ : に [Visual C++] テンプレート : に [ C + + ファイル (. c p p ) ] を選んでダブルクリックするか [ 開く (O)] ボタンをクリックします するとコードが記述できる状態になります int main(void) { printf("%d\n", * 200); return 0; } 例例題 011 家族でファミリーレストラン int main(void) { printf("%d\n", ); return 0; } 例例題 012 アルバイトの給料計算 int main(void) { printf("61%d%d \n", 128 / 6, 128 % 6); printf("141%d%d\n", 128 / 14, 128 % 14); return 0; } 例例題 013 お餅を分ける

3 解答解答解答解答解答Appendix 2 章整数と実数 3 章変数の利用 #include <math.h> int main(void) { printf("7w1%.1f\n", 7.0 * 24.0 * 30.0 * (22.0 / )); printf("40w1%.1f\n", 40.0 * 24.0 * 30.0 * (22.0 / )); printf("300w1%.1f\n", * 24.0 * 30.0 * (22.0 / )); return 0; } 例例題 020 ひと月の電気代 int main(void) { printf("1%lf\n", / ( * 2 * )); return 0; } 例例題 021 光の速さで地球の周りを回ったら 1 秒間に何周できる? int main(void) { printf("2ghz1%.2fcm\n", ( * 1000 * 100) / (2.0 * * * )); printf("3ghz1%.2fcm\n", ( * 1000 * 100) / (3.0 * * * )); return 0; } 例例題 022 微少時間に光が進む距離 #define PRICE /* 1 */ int main(void) { double combination; /* */ combination = (43.0 * 42.0 * 41.0 * 40.0 * 39.0 * 38.0) / (6.0 * 5.0 * 4.0 * 3.0 * 2.0 * 1.0); printf("%.0f\n", combination); printf("%.0f\n", PRICE * combination / 2.0); printf("%.0f\n", PRICE * combination); return 0; } 例例題 027 ロト 6 のプログラムを分かりやすくする int main(void) { int subtotal; /* */ int total; /* */ printf("\n"); subtotal = total = 120 * 8; printf("1208%d%d\n", subtotal, total); subtotal = 180 * 4; total += subtotal; printf("1804%d%d\n", subtotal, total); subtotal = 240 * 5; total += subtotal; printf("2405%d%d\n", subtotal, total); subtotal = 360 * 3; total += subtotal; printf("3603%d%d\n", subtotal, total); subtotal = 480 * 1; total += subtotal; printf("4801%d%d\n", subtotal, total); subtotal = 600 * 2; 例例題 028 回転寿司の料金計算

4 解答例解答解答Appendix total += subtotal; printf("6002%d%d\n", subtotal, total); printf("%d\n", total); return 0; } 4 章数学関数の利用 例題 034 水平線までの距離例題 029 解池の水量 答#include <math.h> 例例 #define RADIUS (5.0 * 100) /* (cm) */ #define HEIGHT 30.0 /* (cm) */ #define SPEED /* (cm) */ #define PI /* */ int main(void) { double V, r, h; /* */ double hour; /* */ r = RADIUS; h = HEIGHT; V = PI * r * r * h; /* (cm) */ hour = V / SPEED / (60.0 * 60.0); /* SPEED */ printf("%.1fl%.2f\n", V / , hour); return 0; } #define EARTH /* (km) */ int main(void) { double distance; /* */ double height; /* */ height = 2.0 / ; distance = sqrt(pow((earth + height), 2.0) - pow(earth, 2.0)); printf("%.2fkm\n", distance); height = 5.0 / ; distance = sqrt(pow((earth + height), 2.0) - pow(earth, 2.0)); printf("%.2fkm\n", distance); height = / ; distance = sqrt(pow((earth + height), 2.0) - pow(earth, 2.0)); printf("%.2fkm\n", distance); return 0; } 例題 035 黄金比 #include <math.h> 例 int main(void) { double a, b, c, x; /* 2 */ /* * 1 * x * x = x + 1 * x * x - x - 1 = 0 */ a = 1.0; b = -1.0; c = -1.0; /* */ x = (-b + sqrt(b * b - 4 * a * c)) / (2 * a); printf("1:%.15f\n", x); return 0; }

5 Appendix 解答解答例例題 036 土地の値段の計算 5 章数値の入力 #define TSUBO /* 1 */ #define TANKA /* */ int main(void) 例題 043 購入したケーキの合計金額 { double a, b, c, s, S1, S2; /* */ double tsubo; /* () */ 例 double square_meter; /* () */ int main(void) double price; /* */ { int money; /* */ /* (1) */ int shortcake, montblanc, cheesecake, fruitcake; /* */ a = 15.22; b = 10.14; printf("\n"); c = 7.20; scanf("%d", &shortcake); s = (a + b + c) / 2.0; S1 = sqrt(s * (s - a) * (s - b) * (s - c)); printf("\n"); // printf("s1=%f\n", S1); scanf("%d", &montblanc); /* (2) */ printf("\n"); a = 15.22; scanf("%d", &cheesecake); b = 12.54; c = 14.89; printf("\n"); s = (a + b + c) / 2.0; scanf("%d", &fruitcake); S2 = sqrt(s * (s - a) * (s - b) * (s - c)); // printf("s2=%f\n", S2); money = 500 * shortcake * montblanc * cheesecake * fruitcake; /* */ square_meter = S1 + S2; printf("%d\n", money); /* */ return 0; tsubo = square_meter / TSUBO; } /* */ price = floor(tsubo * TANKA); 例題 /* */ 044 移動にかかる時間の計算 printf("%f%.0f\n", tsubo, price); return 0; 例#include <math.h> } int main(void) { double distance; /* */ double speed; /* */ 例題 037 建物の高さ double time; /* */ double hours; /* */ double minutes; /* */ 例#include <math.h> printf("(km)(km/h):"); #define PI /* */ scanf("%lf%lf", &distance, &speed); int main(void) time = distance / speed; { hours = floor(time); printf("%.1fm\n", tan(80.0 / * PI) * ); minutes = (time - hours) * 60.0; return 0; printf("%.0f%04.1f\n", hours, minutes); } return 0; } 解答解答

6 解答解答Appendix int main(void) { int hour0, minute0; /* */ int hour1, minute1; /* */ int hour, minute; /* */ int past; /* */ int charge; /* */ printf(": "); scanf("%d%d", &hour0, &minute0); printf(": "); scanf("%d%d", &hour1, &minute1); past = (hour1 * 60 + minute1) - (hour0 * 60 + minute0); hour = past / 60; minute = past % 60; charge = (past / ) * 100; // printf("%d\n", past); printf("%d%d%d\n", hour, minute, charge); return 0; } 例例題 045 コインパーキングの料金計算 6 章式を考える 解答 int main(void) { double price0; /* */ double price1; /* */ double price2; /* */ double discount; /* */ double profit0; /* */ double profit1; /* */ /* */ printf(""); scanf("%lf", &price0); printf(""); scanf("%lf", &profit0); printf(""); scanf("%lf", &discount); /* */ price1 = price0 * (1.0 + profit0 / 100.0); price2 = price1 * (1.0 - discount / 100.0); profit1 = price2 - price0; /* */ printf("%.0f%.0f%.0f%.0f\n", price0, price1, price2, profit1); return 0; } 例例題 050 原価計算 #include <math.h> /* */ #define HEIGHT 9.0 #define WIDTH 16.0 int main(void) { double inch; /* */ double diagonal;/* */ double height; /* */ double width; /* */ /* */ printf("():"); 例例題 051 ディスプレイの大きさ

7 解答例解答解答 printf("\n"); Appendix scanf("%lf", &inch); /* */ diagonal = sqrt(height * HEIGHT + WIDTH * WIDTH); width = inch * 2.54 * WIDTH / diagonal; height = inch * 2.54 * HEIGHT / diagonal; /* */ printf("%f%fcm%fcm\n", inch, height, width); return 0; } 例題 052 太陽の大きさ 例#include <math.h> #define SUN_RADIUS /* */ #define SUN_DISTANCE /* */ #define GOENHOLL_RADIUS (2.5 / ) /* */ #define GOENHOLL_DISTANCE (50.0 / 100.0) /* */ #define PI /* */ int main(void) { double sun_radian; /* */ double sun_degree; /* */ double goenholl_radian; /* */ double goenholl_degree; /* */ 7 章条件分岐 (if 文 ) 解答 int main(void) { double temperature; /* */ double preset; /* */ /* */ printf(":"); scanf("%lf", &temperature); printf(":"); scanf("%lf", &preset); /* */ if (temperature > preset) printf("\n"); else printf("\n"); return 0; } 例例題 059 エアコンの冷房 暖房繰り替え /* */ sun_radian = atan(sun_radius / SUN_DISTANCE); goenholl_radian = atan(goenholl_radius / GOENHOLL_DISTANCE); /* */ sun_degree = sun_radian * / PI; goenholl_degree = goenholl_radian * / PI; /* */ printf("%lf%lf\n", sun_degree * 2.0, goenholl_degree * 2.0); return 0; } #include <math.h> int main(void) { double temperature; /* */ double preset; /* */ double difference; /* */ /* */ printf(":"); scanf("%lf", &temperature); printf(":"); scanf("%lf", &preset); difference = fabs(temperature - preset); /* */ if (difference <= 0.5) printf("\n"); else if (difference <= 1.5) printf("\n"); else if (difference <= 2.5) printf("\n"); else if (difference <= 3.5) 例例題 060 エアコンの風量調節

8 解答例解答例 解答解答解答Appendix else if (difference <= 4.5) printf("\n"); else printf("\n"); return 0; } int main(void) { int old; /* */ /* */ printf(":"); scanf("%d", &old); /* */ printf(""); if (old <= 4) printf(""); else if (5 <= old && old <= 7) printf("300"); else if (8 <= old && old <= 15) printf("400"); else if (16 <= old && old <= 22) printf("500"); else if (23 <= old && old <= 59) printf("600"); else printf("400"); printf("\n"); return 0; } 例例題 061 天文宇宙科学館の入館料 int main(void) { int today_year, today_month, today_day; /* */ int birth_year, birth_month, birth_day; /* */ int old = 0; /* */ /* */ printf("( ):"); scanf("%d%d%d", &today_year, &today_month, &today_day); printf("( ):"); scanf("%d%d%d", &birth_year, &birth_month, &birth_day); /* */ old = today_year - birth_year; 例例題 062 年齢の計算 /* 1 */ if (birth_month >= today_month && birth_day > today_day) old--; // /* */ // printf("%d%d%d%d%d%d", // birth_year, birth_month, birth_day, // today_year, today_month, today_day); printf("%d\n", old); return 0; } #include <math.h> int main(void) { double amount; /* */ double price; /* */ /* */ printf("\n"); printf("(kwh):"); scanf("%lf", &amount); /* */ price = 800.0; if (amount > 300) { price += (amount ) * 26.0; amount = 300.0; } if (amount > 100) { price += (amount ) * 22.0; amount = 100.0; } price += amount * 18.0; /* */ printf("%.0f\n", floor(price)); return 0; } 例例題 063 電気料金の計算

9 解答解答解答Appendix 8 章繰り返し処理 (for 文 ) int main(void) { int sheep; /* */ int start; /* */ int end; /* */ /* */ printf("\n"); printf(":"); scanf("%d", &start); printf(":"); scanf("%d", &end); /* */ for (sheep = start; sheep <= end; sheep++) printf("%d ", sheep); printf("\n"); return 0; } 例例題 070 羊が n 匹 羊が n+1 匹 羊が n+2 匹.. int main(void) { int fact = 1; /* */ int n; /* n */ int i; /* */ /* */ printf(":"); scanf("%d", &n); /* */ for (i = 2; i <= n; i++) fact *= i; /* */ printf("%d!=%d\n", n, fact); return 0; } 例例題 071 階乗の計算 #define START_HOUR 12 /* () */ #define START_MINUTE 30 /* () */ #define BREAK_INTERVAL 90 /* */ #define BREAK_TIME 20 /* */ #define PRESEN_TIME 12 /* */ #define PRESEN_INTERVAL 1 /* */ #define NUMBER 18 /* */ int main(void) { int s; /* (start) */ int e; /* (end) */ int nx; /* (next) */ int i; /* */ /* */ s = START_HOUR * 60 + START_MINUTE; nx = s + BREAK_INTERVAL; /* */ for (i = 1; i <= NUMBER; i++) { /* */ e = s + PRESEN_TIME; printf("no.%2d: %2d:%02d %2d:%02d\n", i, s / 60, s % 60, e / 60, e % 60); s = e + PRESEN_INTERVAL; /* */ if (nx <= e) { s -= PRESEN_INTERVAL; e = s + BREAK_TIME; printf("\n: %2d:%02d %2d:%02d\n\n", s / 60, s % 60, e / 60, e % 60); s = e; nx = s + BREAK_INTERVAL; } } return 0; } 例例題 072 研究発表会のスケジュール

10 解答例解答解答Appendix 9 章繰り返し処理 (while 文 ) int main(void) { double money = ; /* */ int month = 0; /* */ /* */ while (money < ) { money = money * ; month++; printf("%2d: %8.0f\n", month, money); } /* */ printf("%d%d100\n", month / 12, month % 12); return 0; } 例例題 076 積立貯金 #define LIMIT /* */ int main(void) { double weight; /* */ double sum = 0.0; /* */ int people = 0; /* */ /* */ while (1) { printf("%d%.1lfkg%d:", people, sum, people + 1); scanf("%lf", &weight); if (sum + weight > LIMIT) break; sum += weight; people++; } /* */ printf("%d%.1fkg\n", people, sum); return 0; } 例例題 077 エレベーターの定員 例題 078 クイズプログラム int main(void) { int ans; /* */ /* */ printf("\n" " \n" " "); /* */ while (1) { if (scanf("%d", &ans)!= 1) { printf("\n"); return 1; } if (1 <= ans && ans <= 3) break; printf("13\n" " "); } /* */ if (ans == 2) printf("\n"); else printf("\n"); return 0; }

11 解答解答解答解答例Appendix 10 章 2 重ループ int main(void) { int x, y; /* () */ int xn, yn; /* () */ /* */ printf(":"); scanf("%d", &xn); printf(":"); scanf("%d", &yn); /* */ for (y = 1; y <= yn; y++) { for (x = 1; x <= xn; x++) printf("*"); printf("\n"); } return 0; } 例例題 083 長方形を描く int main(void) { int x, y; /* 2 */ /* */ printf(" \n"); /* */ printf(" "); for (x = 1; x <= 9; x++) printf("%3d", x); printf("\n"); /* */ printf(" \n"); /* */ for (y = 1; y <= 9; y++) { printf("%d ", y); for (x = 1; x <= 9; x++) printf("%2d ", x * y); printf("\n"); } /* */ printf(" \n"); return 0; } 例例題 084 かけ算九九の表を完成させる int main(void) { int x, y; /* */ for (y = 1; y <= 10; y++) { for (x = 1; x <= 10; x++) if (x <= 10 - y) printf(" "); else printf("*"); printf("\n"); } return 0; } 例例題 084 三角形を描くの発展編 例題 086 ダイヤを描く int main(void) { int x, y; /* */ for (y = -5; y <= 5; y++) { for (x = -5; x <= 5; x++) if (y <= x + 5 && y <= -x +5 && y >= -x -5 && y >= x - 5) printf("*"); else printf(" "); printf("\n"); } return 0; }

12 解答例 解答解答解答Appendix 11 章複数データの入力処理 int main(void) { int money; /* */ int month = 0; /* */ int sum = 0; /* */ int average;; /* */ /* */ while (1) { if (scanf("%d", &money)!= 1) break; sum += money; month++; } /* */ average = sum / month; /* */ printf("%d%d%d\n", month, average, sum); return 0; } 例例題 091 アルバイトの給与計算 int main(void) { double value; /* */ double minimum; /* */ double maximum; /* */ double sum; /* */ int minimum_hour; /* */ int maximum_hour; /* */ int n; /* */ /* */ printf("023:\n"); if (scanf("%lf", &value)!= 1) { printf("\n"); return 1; } 例例題 092 最高気温 最低気温 平均気温 /* */ sum = minimum = maximum = value; minimum_hour = maximum_hour = 0; n = 1; while (scanf("%lf", &value) == 1) { sum += value; if (value > maximum) { maximum = value; maximum_hour = n; } if (value < minimum) { minimum = value; minimum_hour = n; } n++; } /* */ printf("%4.1lf%2d\n", minimum, minimum_hour); printf("%4.1lf%2d\n", maximum, maximum_hour); printf("%4.1lf\n", sum / (double) n); return 0; } #include <math.h> int main(void) { double a, b, c, s, S; /* */ double sum = 0.0; /* */ /* */ while (scanf("%lf%lf%lf", &a, &b, &c) == 3) { s = (a + b + c) / 2.0; S = sqrt(s * (s - a) * (s - b) * (s - c)); sum += S; } /* */ printf("%lf\n", sum); return 0; } 例例題 093 三角法で面積を求める

13 解答解答解答Appendix 12 章配列 //#define DEBUG #define CHANGE 10 /* */ int main(void) { int currency[change] = {1, 5, 10, 50, 100, 500, 1000, 2000, 5000, 10000}; /* */ int number[change]; /* */ int total_change; /* */ int change; /* */ int i; /* */ /* */ printf(":"); scanf("%d", &change); /* */ total_change = change; for (i = CHANGE - 1; i >= 0; i--) { number[i] = change / currency[i]; change -= number[i] * currency[i]; } /* */ printf("%d\n", total_change); for (i = CHANGE - 1; i >= 0; i--) if (number[i] >= 1) if (currency[i] >= 1000) printf("%5d:%d\n", currency[i], number[i]); else printf("%5d:%d\n", currency[i], number[i]); #ifdef DEBUG /* DEBUG DEBUG{ } */ { int sum = 0; for (i = CHANGE - 1; i >= 0; i--) sum += number[i] * currency[i]; printf(":%d\n", sum); } #endif return 0; } 例例題 円札対応 ATM #include <math.h> #define N 5 /* */ int main(void) { double correct; /* */ double answer[n + 1]; /* */ double difference; /* */ double minimum; /* */ int i; /* */ /* */ printf("\n"); for (i = 1; i <= N; i++) scanf("%lf", &answer[i]); printf("\n"); scanf("%lf", &correct); /* - */ minimum = fabs(correct - answer[1]); for (i = 1; i <= N; i++) { difference = fabs(correct - answer[i]); if (minimum > difference) minimum = difference; } /* - */ printf("1\n"); for (i = 1; i <= N; i++) if (minimum == fabs(correct - answer[i])) printf("%d%f\n", i, answer[i]); printf("\n"); return 0; } 例例題 番近い正解者 int main(void) { double data[] = {0.0, 6.8, 28.8, 366.0, 513.6, 552.6, 589.5, 732.9, 894.2, , }; /* */ int x, y; /* */ for (y = 1; y <= 10; y++) { for (x = 0; x < y; x++) printf("%6.1f ", data[y] - data[x]); printf("\n"); } return 0; } 例例題 099 駅間距離の表示

14 解答Appendix #define DATA 6 int main(void) { int userid[data] = {10001, 10002, 20001, 20002, 20003, 40004}; /* ID */ int password[data] = { 1122, 9521, 5588, 428, 3618, 777}; /* */ /* : scanf%d */ int point[data] = { 0, 50000, 100, 300, 20000, 8000}; /* */ int uid; /* ID */ int pass; /* */ int i; /* */ /* ID */ printf("id:"); scanf("%d", &uid); printf(":"); scanf("%d", &pass); /* ID */ for (i = 0; i < DATA; i++) if (userid[i] == uid) break; if (userid[i]!= uid) { printf("id\n"); return 1; } if (password[i]!= pass) { printf("\n"); return 1; } /* */ printf("\n"); printf("id%d%d\n", uid, point[i]); return 0; } 例例題 100 ユーザ ID とパスワードの検査 13 章関数の作成 解答/********************************************************************* * version 1.0 * Yukio Murayama *********************************************************************/ void bar(int n); int main(void) { int n; /* */ printf(":"); while (scanf("%d", &n) == 1) bar(n); return 0; } /********************************************************************* * int bar(int n); * * * int n *() * * * * * * n* *********************************************************************/ void bar(int n) { while (n > 0) { printf("*"); n--; } printf("\n"); } 例例題 106 棒を描く関数

15 Appendix /********************************************************************* /********************************************************************* * 6 * version 1.0 * version 1.0 * Yukio Murayama * Yukio Murayama *********************************************************************/ *********************************************************************/ #define PRICE double combination(int n, int m); double factrial(int n); int main(void) { printf("%.0f\n", combination(43, 6)); printf("%.0f\n", #include <math.h> double heron(double a, double b, double c); int main(void) { double a, b, c; /* 3 */ a = 15.22; b = 10.14; c = 7.20; PRICE * combination(43, 6) / 2.0); printf("%f%f%f%f\n", a, b, c, heron(a, b, c)); printf("%.0f\n", PRICE * combination(43, 6)); a = 15.22; b = 12.54; return 0; } /********************************************************************* * int combination(int n, int m) * * c = 14.89; printf("%f%f%f%f\n", a, b, c, heron(a, b, c)); return 0; } /********************************************************************* * * * int n; int m; * double heron(double a, double b, double c); * * * * double a, b, c 3 * * * * * * * * nm * * * ncm = n! / (m! * (n - m)!) * *********************************************************************/ double combination(int n, int m) { return factrial(n) / (factrial(m) * factrial(n - m)); } /********************************************************************* * double factrial(int n); * *********************************************************************/ double heron(double a, double b, double c) { double s; /* s */ s = (a + b + c) / 2.0; return sqrt(s * (s - a) * (s - b) * (s - c)); } * int n; * * double n * * n *********************************************************************/ double factrial(int n) { double fact = 1.0; /* */ int i; /* */ for (i = 2; i <= n; i++) fact *= (double) i; return fact; } 解答例例題 107 組合せの和を求める関数 解答例例題 108 三角形の面積を求める関数

16 Appendix 特 2 本書で扱った主な関数の使い方 1 stdio.h( スタンダード アイ オー ドット ヘッダ ) 1 printf( プリント エフ ) 書式 int printf(const char *format,...); 意味書式付き出力 戻り値は出力したバイト数 formatについて第 1 引数に指定した文字列を出力する文字列は " と " で囲 書式指定 む 文字列の中に % ではじまる書式指定を書くことで その 箇所に第 2 引数以降に指定した値を挿入することができる 本書では %dと%fの2つの書式指定を使用した %dの% とdの間 % とfの間に数字 - + などを書くことにより 細かい書式指定ができる 表示する桁数には + や-の符号や小数点も数に数える 意味 %d 整数 (int 型 ) を 10 進数 (decimal) で出力 %5d 5 桁の幅で出力 右詰め 5 桁を超えるときには 右側にはみ出す %-5d %+d 5 桁の幅で出力 左詰め 5 桁を超えるときには 右側にはみ出す 正の数のとき 値の左側に + を出力 %f 実数 (double 型 ) の表示 小数点以下を 6 桁の幅で出力 使用例 プログラム 実行結果 printf("(%d,%d,%d)\n", 123, -123, ); (123,-123, ) printf("(%5d,%5d,%5d)\n", 123, -123, ); ( 123, -123, ) printf("(%-5d,%-5d,%-5d)\n", 123, -123, ); (123,-123, ) printf("(%+d,%+d,%+d)\n", 123, -123, ); (+123,-123, ) printf("(%f,%f)\n", , ); ( , ) printf("(%10f,%10f)\n", , ); ( , ) printf("(%.1f,%.1f)\n", , ); (3.1,-3.1) printf("(%.0f,%.0f)\n", , ); (3,-3) printf("(%10.3f,%10.3f)\n", , ); ( 3.142, ) printf("(%-10.3f,%-10.3f)\n", , ); (3.142, ) %fの場合 表示される小数点以下の値を四捨五入するか切り捨てるか規定されてい ないため 処理結果が微妙に異なる場合がある %10f 小数点 小数点以下 6 桁を含めて 合計 10 桁の幅で出力 %.1f 小数点以下 1 桁まで出力 %.0f 小数点以下 0 桁まで出力 ( 整数部分のみ出力 ) %10.3f %-10.3f 整数部分 6 桁 小数点 小数点以下 3 桁の合計 10 桁の幅で出力 右詰め 整数部分 6 桁 小数点 小数点以下 3 桁の合計 10 桁の幅で出力 左詰め

17 Appendix 特別付録 2 本書で扱った主な関数の使い方 2 math.h ( マス ドット ヘッダ マセマティクス ドット ヘッダ ) 2 scanf( スキャン エフ ) 書式 int scanf(const char *format,...); 意味戻り値 書式付き入力入力できた項目数 入力がEOFの場合 -1が返る 第 1 引数 (format) について第 1 引数 (const char *format と書かれている部分 ) で 入力する値の 取り込む書式 個数 順番 を指定する int 型 double 型変数に値を格納するときには変数名の左側に & を付ける必要がある 書式指定 意味 %d 符号付き 10 進整数 (int 型 ) %f 浮動小数点型実数 (double 型 ) 第 1 引数で記述した書式指定と同じ数の変数を第 2 引数以降に書く必要がある 1 ceil( セイル ) 書式 double ceil(double x); 意味小数点以下切り上げ数学の書式とそれに対応するC 言語の書式 y = ceil(x) 2 floor( フロアー ) 書式 double floor(double x); 意味小数点以下切り捨て数学の書式とそれに対応するC 言語の書式 y = floor(x) 3 fabs( エフ アブス エフ アブソリュート ) 書式 double fabs(double x); 意味絶対値数学の書式とそれに対応するC 言語の書式 y = fabs(x) 例032 double length; 4 sqrt( スクエア ルート ) int price; 書式 double sqrt(double x); scanf("%d%f", &price, &length) 意味 平方根 ( ルート ) 数学の書式とそれに対応するC 言語の書式 y = sqrt(x) キーボード ( 標準入力 ) から2つの値を入力して 順番に price lengthに格納す る 戻り値は次のようになる 入力する数字のと数字の間は 空白 タブ 改行のいずれ 5 pow( パワー ) かで区切る 書式 double pow(double x, double y); 意味 べき乗 数学の書式とそれに対応するC 言語の書式入力がEOF の場合 EOF z = pow(x, y) 033 使用入力が数字以外の英字や記号の場合 0 price だけに値が格納できた場合 1 price と length の両方に値が格納できた場合 2 6 log( ログ ナチュラル ログ ) 書式 double log(double x); 意味自然対数 ( ナチュラル ログ ) 数学の書式とそれに対応する C 言語の書式 y = log(x)

18 Appendix 特別付録 2 本書で扱った主な関数の使い方 7 log10( ログ じゅう ログ テン コモン ログ ) 書式 double log10(double x); 意味常用対数 ( コモン ログ ) 数学の書式とそれに対応するC 言語の書式 y = log10(x) 13 atan( アークタンジェント ) 書式 double atan(double x); 意味逆正接 ( アークタンジェント ) 得られる結果はラジアン数学の書式とそれに対応するC 言語の書式 y = atan(x) 8 sin( サイン ) 書式 double sin(double radian); 意味正弦 ( サイン ) 与える値はラジアン数学の書式とそれに対応するC 言語の書式 y = sin(x) 9 cos( コサイン ) 書式 double cos(double radian); 意味余弦 ( コサイン ) 与える値はラジアン数学の書式とそれに対応するC 言語の書式 y = cos(x) 10 tan( タンジェント ) 書式 double tan(double radian); 意味正接 ( タンジェント ) 与える値はラジアン数学の書式とそれに対応するC 言語の書式 y = tan(x) 11 asin( アークサイン ) 書式 double asin(double x); 意味逆正弦 ( アークサイン ) 得られる結果はラジアン数学の書式とそれに対応するC 言語の書式 y = asin(x) 12 acos( アークコサイン ) 書式 double acos(double x); 意味逆余弦 ( アークコサイン ) 得られる結果はラジアン数学の書式とそれに対応するC 言語の書式 y = acos(x)

19 Appendix 特別付録 2 本書で扱った主な関数の使い方 3 stdlib.h ( スタンダード リブ ドット ヘッダ スタンダード ライブラリ ドット ヘッダ ) 1 abs( アブス アブソリュート ) 書式 int abs(int x); 意味整数値の絶対値数学の書式とそれに対応するC 言語の書式 y = fabs(x) 書籍の詳細については shtml を参照してください 内容のご質問については E メールアドレス pc-books@mycom.co.jp まで 特別付録について という題目で ご連絡ください 特別付録 (ver 1) ISBN ver 年 2 月 8 日公開 書籍著者発行者発行所 URL 2010 年 2 月 1 日初版第 1 刷発行村山公保中川信行株式会社毎日コミュニケーションズ 036

kiso2-06.key

kiso2-06.key 座席指定があります Linux を起動して下さい 第6回 計算機基礎実習II 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 第5回の復習課題(rev05) 第6回の基本課題(base06) 第5回課題の回答例 ex05-2.c 1. キーボードから整数値 a を入力すると a*a*a の値を出力することを繰り返すプログラムを作成しなさい 2. ただし 入力された

More information

Microsoft PowerPoint - prog05.ppt

Microsoft PowerPoint - prog05.ppt プログラミング言語 2 第 05 回 (2007 年 06 月 04 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 06 月 04 日分と書いてある部分が 本日の教材です 本日の内容

More information

数値計算

数値計算 数値計算 垣谷公徳 17 号館 3 階電子メール : kimi@ee.ous.ac.jp プログラミング言語の一般論 データ型 ( 定数と変数 配列 ) 代入 基本演算 ( 四則演算 ) 入出力 分岐 繰返処理 関数 外部手続き 1 2 入力関数 入出力 getchar, getc, fgetc ; 一文字入力 gets, fgets, fread ; 文字列 ( データ列 ) 入力 scanf,

More information

ゲームエンジンの構成要素

ゲームエンジンの構成要素 cp-3. 計算 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 自由落下距離四則演算例題 2. 三角形の面積浮動小数の変数, 入力文, 出力文, 代入文例題 3. sin 関数による三角形の面積ライブラリ関数 2 今日の到達目標 プログラムを使って, 自分の思い通りの計算ができるようになる

More information

講習No.12

講習No.12 前回までの関数のまとめ 関数は main() 関数または他の関数から呼び出されて実行される. 関数を呼び出す側の実引数の値が関数内の仮引数 ( 変数 ) にコピーされる. 関数内で定義した変数は, 関数の外からは用いることができない ( ローカル変数 ). 一般に関数内で仮引数を変化しても, 呼び出し側の変数は変化しない ( 値渡し ). 関数内で求めた値は return 文によって関数値として呼び出し側に戻される.

More information

Microsoft Word - Cプログラミング演習(3)

Microsoft Word - Cプログラミング演習(3) 第 3 回 (5/7) 5. ループ ( 繰り返し ) 1 for 文 例題 1-15 正の数 n をキーボードから入力すると,1 から n までの整数の和を出力するプログラムをつくりなさい 出力結果 1-15 2 以上の整数を入力してください! 357 1 + + 357 = 63903 考え方合計を保持する変数を long 型で宣言し, 入力した数値 n までループ処理で累積する 正しい数値が入力されたとき

More information

プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; } Point; 問題 18. 問題 17 の

プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; } Point; 問題 18. 問題 17 の プログラミング方法論 II 第 14,15 回 ( 担当 : 鈴木伸夫 ) 問題 17. x 座標と y 座標をメンバに持つ構造体 Point を作成せよ 但し座標 は double 型とする typedef struct{ (a) x; (b) y; Point; 問題 18. 問題 17 の Point を用いて 2 点の座標を入力するとその 2 点間の距 離を表示するプログラムを作成せよ 平方根は

More information

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

PowerPoint Presentation

PowerPoint Presentation 第 7 回文字列数学関数ファイルの入出力 芝浦工業大学情報工学科青木義満 今回の講義内容 文字列 文字列の配列の扱い 関数への受け渡し 数学関数の利用 平方根, べき乗, 三角関数など ファイル入出力 文字列とは? (p.0) 文字列リテラル 文字 つつ : A, B, 複数の文字の並び= 文字列 puts( ぷろぐらみんぐ入門 ); で囲まれた部分 = 文字列リテラルという 文字列リテラルとナル文字

More information

kiso2-09.key

kiso2-09.key 座席指定はありません 計算機基礎実習II 2018 のウェブページか 第9回 ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第7回の復習課題(rev07) 第9回の基本課題(base09) 第8回試験の結果 中間試験に関するコメント コンパイルできない不完全なプログラムなど プログラミングに慣れていない あるいは複雑な問題は 要件 をバラして段階的にプログラムを作成する exam08-2.c

More information

gengo1-2

gengo1-2 変数 プログラム中で 値を格納するには変数 variable を用いる変数は 格納する値の型によって 整数型 文字型 などの型 type をもつ変数を使うには 利用に先立って変数の宣言 declaration をしなければならない 値 変数の値はコンピュータのメモリ上に格納される 具体的にメモリのどの場所に格納されるかは言語処理系が自動的に扱うので プログラマ ( 特に初級者 ) が意識する必要はない

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 13 回 2017 年 7 月 10 日 標準ライブラリ関数 1 標準ライブラリ関数とは 関数には (1) 自分で作る関数 (2) はじめから用意されている関数特に C 言語用用意されているもの : 標準ライブラリ関数 文字列の代入文字列の長さを求める文字列の比較文字列の連結 strcpy strlen strcmp strcat 2 文字列の操作 - 具体例を通して (141

More information

Microsoft Word - 18環設演付録0508.doc

Microsoft Word - 18環設演付録0508.doc Excel の関数について 注 ) 下記の内容は,Excel のバージョンや OS の違いによって, 多少異なる場合があります 1. 演算子 等式はすべて等号 (=) から始まります 算術演算子には, 次のようなものがあります 内が,Excel 上で打ち込むものです 足し算 +, 引き算 -, かけ算 *, わり算 /, べき乗 ^ 2. 三角関数 メニューバーの [ 挿入 ] ダイアログボックスの

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){

/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){ ソフトゼミ A 第 6 回 関数 プログラムは関数の組み合わせでできています 今までのゼミAでも printf や scanf など様々な関数を使ってきましたが なんと関数は自分で作ることもできるのです!! 今日は自作関数を中心に扱っていきます ゲーム制作でも自作関数は避けては通れないので頑張りましょう そもそもまず 関数とは 基本的には 受け取った値に関数によって定められた操作をして その結果の値を返す

More information

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx 情報ネットワーク導入ユニット Ⅰ C 言語 演算と型 演算 代入 演算と型 +,-,*,/,% = C 言語では 代入 の意味 vx = a + b; //a+b の結果を vx に代入 型 : int 型 ( 整数 ) double 型 ( 実数 ) 演算での型変換 ( 整数, 実数の混在 ) キャスト演算子 型を一時的に変更 書式指定 :printf("%6d n", a); 加減, 剰余演算

More information

Cプログラミング1(再) 第2回

Cプログラミング1(再) 第2回 C プログラミング 1( 再 ) 第 2 回 講義では Cプログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ 1 前回のレポートから 前回の宿題 数あてゲーム の説明において 次のように書いていたものがいた : これはコンピュータがランダムに設定した数字を人間が当てるゲームである この説明でどこかおかしなところはないだろうか? 2 コンピュータの用語と日常的な用語の違い 物理において

More information

新版明解C言語入門編

新版明解C言語入門編 175cm 60kg ( ) 175cm 175.3cm 175.869758 cm 175cm 60kg p.177 18-1 vx - vy vx vy List -1 List -1 int vx, vy; puts(""); printf(" vx "); scanf("%d", &vx); printf(" vy "); scanf("%d", &vy); printf("vx + vy

More information

問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a =

問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a = 問 1 配列の宣言整数型配列 data1 にデータが初期設定されている この配列 data1 のデータを下図のように 整数型配列 data2 に代入しなさい また data2 の内容を printf( "data2[0] = %d\n", data2[0] ); printf( "data2[5] = %d\n", data2[5] ); を用いて出力しなさい 実行結果 data2[0] = 76

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2018/10/05 竹島研究室創成課題 第 2 回 C 言語演習 変数と演算 東京工科大学 加納徹 前回の復習 Hello, world! と表示するプログラム 1 #include 2 3 int main(void) { 4 printf("hello, world! n"); 5 return 0; 6 } 2 プログラム実行の流れ 1. 作業ディレクトリへの移動 $ cd

More information

Microsoft PowerPoint - program.ppt [互換モード]

Microsoft PowerPoint - program.ppt [互換モード] プログラミング演習 バージョン 1 担当教員 : 綴木馴 プログラムの決まりについて学ぶ おすすめする参考書 ザ C 戸川隼人サイエンス社 本日の予定 1. 授業の説明. 2. コンパイラーのインストール. プログラムの決まりについて学ぶ,P31 /* The most in C */ /* hello.c */ printf("hello,world n"); プログラムの決まり ( コメント )

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

More information

Microsoft Word - Cプログラミング演習(8)

Microsoft Word - Cプログラミング演習(8) 第 8 回 (6/11) プログラミングスタイルなど [1] 名前のつけかた グローバル変数にはわかりやすい名前を, ローカル変数には短い名前を 関連性のあるものには関連性のある名前をつけて, 統一しよう 関数には能動的な名前を 名前は的確に 例題 1 次のコードの名前と値の選び方についてコメントせよ? #define TRUE 0? #define FALSE 1?? if ((ch = getchar())

More information

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード] if 文 (a と b の大きい方を表示 ) C 言語 Ⅰ の復習 条件判定 (if, 条件式 ) ループ (for[ 二重まで ], while, do) 配列 ( 次元 次元 ) トレース int a, b; printf( 整数 a: ); scanf( %d, &a); printf( 整数 b: ); scanf( %d, &b); //つのif 文で表現する場合間違えやすい どっちに =

More information

gengo1-11

gengo1-11 関数の再帰定義 自然数 n の階乗 n! を計算する関数を定義してみる 引数は整数 返却値も整数 n! = 1*2*3*... * (n 1)*n である ただし 0! = 1 とする int factorial(int n) int i, tmp=1; if( n>0 ) for(i=1; i

More information

Microsoft Word - Cプログラミング演習(12)

Microsoft Word - Cプログラミング演習(12) 第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char

More information

スライド 1

スライド 1 第 4 回データの入出力 情報科学部情報メディア学科 鈴木基之 1 前回の演習の答え class CalcMean { public static void main(string[] args){ int a = 10, b = 15; double f; f = ( a + b ) / 2; System.out.println(f); f = ( a + b ) / 2.0; System.out.println(f);

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

Microsoft Word - no15.docx

Microsoft Word - no15.docx 7. ファイルいままでは プログラムを実行したとき その結果を画面で確認していました 簡単なものならそれでもいいのですか 複雑な結果は画面で見るだけでなく ファイルに保存できればよいでしょう ここでは このファイルについて説明します 使う関数のプロトタイプは次のとおりです FILE *fopen(const char *filename, const char *mode); ファイルを読み書きできるようにする

More information

Prog1_15th

Prog1_15th 2012 年 7 月 26 日 ( 木 ) 実施構造体と typedef typedef 宣言によって,struct 構造体タグ名という表記を再定義し, データ型名のように扱うことができる 構文は typedef struct 構造体タグ名 再定義名 ; となり, この場合の構造体変数の宣言は, 再定義名を用いて行うことができる なお, ここでは 構造体タグ名は省略可能である 構造体を指すポインタ

More information

演算増幅器

演算増幅器 構造体 ここまでに char int doulbe などの基本的なデータ型に加えて 同じデータ型が連続している 配列についてのデータ構造について習った これ以外にも もっと複雑なデータ型をユーザが定義 することが可能である それが構造体と呼ばれるもので 異なる型のデータをひとかたまりのデー タとして扱うことができる 異なるデータをまとめて扱いたい時とはどんな場合だろうか 例えば 住民データを管理したい

More information

1.1 1 C IIA $ cd comp3a %endminipage ~/comp3a mkdir $ mkdir comp3a $ cd comp3a C.c Emacs Cntrol x Control s 2 Emacs Control-x Control-f Control-

1.1 1 C IIA $ cd comp3a %endminipage ~/comp3a mkdir $ mkdir comp3a $ cd comp3a C.c Emacs Cntrol x Control s 2 Emacs Control-x Control-f Control- 1 C IIA 1 C IIA IIA 1.1 Mac OS X 1.1.1 Mac OS X Unicode(UTF-8) UTF-8 Jedit X( ) Emacs( ) Emacs Emacs Emacs [Finder] [] Emacs dock Jedit X C 1. Jedit X Dock drag & drop Jedit X [Finder] [] Jedit X Folder

More information

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v 1 http://www7.bpe.es.osaka-u.ac.jp/~kota/classes/jse.html kota@fbs.osaka-u.ac.jp /* do-while */ #include #include int main(void) double val1, val2, arith_mean, geo_mean; printf( \n );

More information

gengo1-10

gengo1-10 関数 C 言語では 関数を組み合わせてプログラムを構成する pritnf(), scanf() などは 処理系があらかじめ備えている標準ライブラリ関数 math.h で定義されている算術関数も標準ライブラリ関数の 1 つ データを与えて それに基づき何か動作をおこなうものが関数 数学の関数 y = f(x) のイメージ f(x) x を与える f(x) を計算して返す f(x) はある意味ブラックボックス

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える

More information

P02.ppt

P02.ppt int If 2 1 ,,, 3 a + b ab a - b ab a * b ab a / b ab a % b ab a + b 4 2 list0201.c /, % /*/ int vx, vy; puts(""); printf("vx"); scanf("%d", &vx); printf("vy"); scanf("%d", &vy); printf("vx + vy = %d\n",

More information

Microsoft PowerPoint - 3.ppt [互換モード]

Microsoft PowerPoint - 3.ppt [互換モード] 第 3 回簡単な計算 プリプロセッサ 1 今回の目標 定数とその型を理解する 演算子とその効果を理解する 簡単なライブラリ関数の使用法を理解する ヘロンの公式を用いて 3 角形の面積を求めるプログラムを作成する 2 ヘロンの公式 ヘロンの公式 : 3 辺の長さがわかっているときに 3 角形の面積を求める方法 d = a + b + c 2 S = d ( d a )( d b )( d c ) 3

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information

<4D F736F F D20438CBE8CEA8D758DC03389F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC03389F0939A82C282AB2E646F63> C 言語講座第 3 回 キャスト ( 型変換 ) 強制的に式の型を変換する ( 変換したい型名 ) 変換元で記述する int num_a = 10, num_b = 3; float result1, result2; // 結果格納用 // 計算用 result1 = num_a / num_b; // 通常のint/int 割り算 result2 = (float)num_a / num_b;//

More information

Microsoft Word - no103.docx

Microsoft Word - no103.docx 次は 数える例です ex19.c /* Zeller の公式によって 1 日の曜日の分布を求めるプログラム */ int year, month, c, y, m, wnumber, count[7] = {0, i; for(year = 2001; year

More information

C プログラミング 1( 再 ) 第 4 回 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 1

C プログラミング 1( 再 ) 第 4 回 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 1 C プログラミング 1( 再 ) 第 4 回 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 1 前回の復習 関数を作る : 何を引数として どういう計算をし 何を返すか 関数についての注意 : * main 関数で使われている変数と同じ名前の変数があっても それらには何ら関係はない * 関数名と同じ変数は その関数内では使わないようにする ( 紛らわしさを少なくするため

More information

Microsoft Word - Training10_プリプロセッサ.docx

Microsoft Word - Training10_プリプロセッサ.docx Training 10 プリプロセッサ 株式会社イーシーエス出版事業推進委員会 1 Lesson1 マクロ置換 Point マクロ置換を理解しよう!! マクロ置換の機能により 文字列の置き換えをすることが出来ます プログラムの可読性と保守性 ( メンテナンス性 ) を高めることができるため よく用いられます マクロ置換で値を定義しておけば マクロの値を変更するだけで 同じマクロを使用したすべての箇所が変更ができるので便利です

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 if~else if~else 文,switch 文 条件分岐 if~else if~else 文 if~else if~else 文 複数の条件で処理を分ける if~else if~else 文の書式 if( 条件式 1){ 文 1-1; 文 1-2; else if( 条件式 2){ 文 2-1; 文 2-2; else { 文 3-1; 文 3-2; 真条件式

More information

Microsoft Word - Cプログラミング演習(1)_2012

Microsoft Word - Cプログラミング演習(1)_2012 第 1 回 (4/16) 参考書 : [1] B.W. カーニハン,D.M. リッチー著 : プログラミング言語 C 第 2 版 ANSI 規格準拠, 共立出版, 1989 年. [2] 高橋麻奈著 : やさしい C 第 2 版, ソフトバンククリエイティブ, 2003 年. [3] 柴田望洋著 : 新版明解 C 言語入門編, ソフトバンククリエイティブ, 2004 年. [4] 林晴比古著 : 新

More information

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdiu.h> #define InFile "data.txt" #define OutFile "surted.txt" #def

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdiu.h> #define InFile data.txt #define OutFile surted.txt #def C プログラミング演習 1( 再 ) 6 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include #define InFile "data.txt" #define OutFile "surted.txt"

More information

P05.ppt

P05.ppt 2 1 list0415.c forfor #include int i, j; for (i = 1; i

More information

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和 入出力処理 三池克明 関数 printf() と新たに学ぶ関数 scanf() を使ってデータの入出力処理を解説します 特に scanf() は対話式プログラム ( ユーザーに操作を促すプログラム ) を作るうえで重要です 目次 1. 関数 scanf()... 1 1.1. 2 整数の和を求める...1 1.2. 入力した文字を得る...3 2. 入出力処理と計算... 4 2.1. 2 整数の商を求める...4

More information

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint - kougi7.ppt C プログラミング演習 第 7 回メモリ内でのデータの配置 例題 1. 棒グラフを描く 整数の配列から, その棒グラフを表示する ループの入れ子で, 棒グラフの表示を行う ( 参考 : 第 6 回授業の例題 3) 棒グラフの1 本の棒を画面に表示する機能を持った関数を補助関数として作る #include "stdafx.h" #include void draw_bar( int

More information

USB 0.6 https://duet.doshisha.ac.jp/info/index.jsp 2 ID TA DUET 24:00 DUET XXX -YY.c ( ) XXX -YY.txt() XXX ID 3 YY ID 5 () #define StudentID 231

USB 0.6 https://duet.doshisha.ac.jp/info/index.jsp 2 ID TA DUET 24:00 DUET XXX -YY.c ( ) XXX -YY.txt() XXX ID 3 YY ID 5 () #define StudentID 231 0 0.1 ANSI-C 0.2 web http://www1.doshisha.ac.jp/ kibuki/programming/resume p.html 0.3 2012 1 9/28 0 [ 01] 2 10/5 1 C 2 3 10/12 10 1 2 [ 02] 4 10/19 3 5 10/26 3 [ 03] 6 11/2 3 [ 04] 7 11/9 8 11/16 4 9 11/30

More information

Microsoft PowerPoint - lec4.ppt

Microsoft PowerPoint - lec4.ppt 本日の内容 繰り返し計算 while 文, for 文 例題 1. 最大公約数の計算例題 2. 自然数の和 while 文例題 3. フィボナッチ数列例題 4. 自然数の和 for 文例題 5. 九九の表繰り返しの入れ子 今日の到達目標 繰り返し (while 文, for 文 ) を使って, 繰り返し計算を行えるようになること ループカウンタとして, 整数の変数を使うこと 今回も, 見やすいプログラムを書くために,

More information

講習No.10

講習No.10 2 次元配列 復習 float d[3][4]; 2 次元配列 d[i][j] 2 つのインデックス i と j でデータが指定される 縦が 3 行横が 4 列の float 型の表 4 列 横のインデックスは 3 まで j = 0 j = 1 j = 2 j = 3 3 行 i = 0 i = 1 i = 2 d[0][0] d[0][1] d[0][2] d[0][3] d[1][0] d[1][1]

More information

Microsoft PowerPoint - CproNt02.ppt [互換モード]

Microsoft PowerPoint - CproNt02.ppt [互換モード] 第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用 第 15 回 知的情報システム学科張 暁華 プログラミング応用 1 授業のマナー ------ 人の話を聞くときの社会常識 1. 欠席者のかわりに登録を行わない 倫理に反することをやらない あなたの信を問われている蟻の穴から堤防が決壊 2. 私語しないこと : 質問 意見は手を挙げて大きな声ではっきりと意思表示 3. 授業以外のことをしない : 携帯をカバンにいれ イヤホンを使って音楽等を聞かない授業中ゲームを遊ばない

More information

A 30 A A ( ) 2 C C (, machine language) C (C compiler) ( ) Mac Apple Xcode Clan

A 30 A A ( ) 2 C C (, machine language) C (C compiler) ( ) Mac Apple Xcode Clan C 2017 9 29, 30 5 13 http://nalab.mind.meiji.ac.jp/~mk/labo/text/ 1 2 2 C 2 3 4 3.1 C................................... 4 3.2 Hello world........................................ 5 3.3 5...............................

More information

2 P.S.P.T. P.S.P.T. wiki 26

2 P.S.P.T. P.S.P.T. wiki  26 P.S.P.T. C 2011 4 10 2 P.S.P.T. P.S.P.T. wiki p.s.p.t.since1982@gmail.com http://www23.atwiki.jp/pspt 26 3 2 1 C 8 1.1 C................................................ 8 1.1.1...........................................

More information

C言語によるアルゴリズムとデータ構造

C言語によるアルゴリズムとデータ構造 Algorithms and Data Structures in C 4 algorithm List - /* */ #include List - int main(void) { int a, b, c; int max; /* */ Ÿ 3Ÿ 2Ÿ 3 printf(""); printf(""); printf(""); scanf("%d", &a); scanf("%d",

More information

情報処理演習 B8クラス

情報処理演習 B8クラス 予定スケジュール ( 全 15 回 ) 1 1. 終了 プログラミング言語の基礎 2. 終了 演算と型 3. 終了 プログラムの流れの分岐 (if 文,switch 文など ) 4. 終了 プログラムの流れの繰返し (do, while, for 文など ) 5. 終了 中間レポート1 6. 終了 配列 7. 終了 関数 8. 終了 文字列 ( 文字列の配列, 文字列の操作 ) 9. 終了 ポインタ

More information

Microsoft Word - no11.docx

Microsoft Word - no11.docx 3. 関数 3.1 関数関数は数学の関数と同じようなイメージを持つと良いでしょう 例えば三角関数の様に一つの実数値 ( 角度 ) から値を求めますし 対数関数の様に二つの値から一つの値を出すものもあるでしょう これをイメージしてもらえば結構です つまり 何らかの値を渡し それをもとに何かの作業や計算を行い その結果を返すのが関数です C 言語の関数も基本は同じです 0 cos 1 cos(0) =

More information

プログラミング基礎

プログラミング基礎 C プログラミング 演習 プログラミング基礎 II 演習 II 2012 年 12 月 10 日 第 11 回 今後の予定 2012/12/10 C プログラミング及びプログラミング演習 II 2 2012/12/17 期末試験 (60 分間 ) 場所 :A0542 時間 :4 時限 (15:00~16:00) 2012/12/16 課題の最終提出締切 課題の提出方法 電子メールで提出 提出先 (

More information

第2回講義:まとめ

第2回講義:まとめ C 言語のキーポイント 5=x は NG, x=y=6 は OK. (x=y)=6 は? *ptr=7 は? int x; printf( %d, x) は scanf ( %d, x) は 非 0 が真 0 が偽 for 文は while 文で書き直せる 逆も真 配列は 0- オリジン 関数呼び出しでは 仮引数が実引数で初期化される 式を評価するとき副作用を起こす演算子は ( 複合 ) 代入演算子

More information

Taro-ファイル処理(公開版).jtd

Taro-ファイル処理(公開版).jtd ファイル処理 0. 目次 1. はじめに 2. ファイル内容の表示 3. ファイル内容の複写 3. 1 文字単位 3. 2 行単位 4. 書式付き入出力 5. 文字配列への入出力 6. 課題 6. 1 課題 1 ( ファイル圧縮 復元 ) - 1 - 1. はじめに ファイル処理プログラムの形は次のようになる #include main() { FILE *fp1,*fp2; ファイルポインタの宣言

More information

Microsoft PowerPoint - kougi2.ppt

Microsoft PowerPoint - kougi2.ppt C プログラミング演習 第 2 回 Microsoft Visual Studio.NET を使ってみよう 説明 例題 1. プログラム実行の体験 コンピュータを役に立つ道具として実感する 次ページのプログラムを使って, Microsoft Visual Studio.NETでの C++ ソースファイル編集, ビルド, テスト実行の一連の過程を体験する 例題 1 のプログラムの機能 計算の繰り返し

More information

スライド 1

スライド 1 プログラミング 第 3 週 静岡大学工学部機械工学科知能 材料コースロボット 計測情報分野臼杵深光電 精密コース光ナノバイオ分野居波渉 講義の前に 講義資料や演習課題 LiveCampusよりダウンロード可能 成績評価期末試験および課題により行う. 評価の配分は, おおむね試験 90%, 課題 10% である. 再試験期末試験で40 点以上 60 点未満の場合, 再試験となる. 2 月 26 日 (

More information

printf("5つの整数を入力して下さい \n"); /* データ入力 */ for( /*** 02 ***/ ){ printf("%dつ目の入力 :",i+1); scanf("%d", /*** 03 ***/ ); sum=dat[0]; /* 合計値の初期設定 */ n_max= 0

printf(5つの整数を入力して下さい \n); /* データ入力 */ for( /*** 02 ***/ ){ printf(%dつ目の入力 :,i+1); scanf(%d, /*** 03 ***/ ); sum=dat[0]; /* 合計値の初期設定 */ n_max= 0 電子情報競技会ソフトウェア課題 1 Question_1 プロジェクト内のソースプログラムの /*** XX ***/ に適当な語句 式等を入れ プログラムを完成させなさい ここで 同じ番号の /*** XX ***/ には同じ語句 式等が入る /*** XX ***/ の部分以外は書き換えてはならないが 別のソースファイルにてテストしてもかまわない [ プログラムの説明 ] 1. 処理内容 2 桁の整数データ

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

プログラミング基礎

プログラミング基礎 C プログラミング 演習 アルゴリズム基礎論 演習 第 10 回 今後の予定 12/22( 月 ) 期末試験 (60 分間 ) 場所 :A1611 時間 :16:20~17:20 課題の最終提出締切 :12/19( 金 ) これ以降の新規提出は評価されない 12/22までに最終状況を提示するので, 提出したのに や になってる人は自分の提出内容や提出先を再確認した上で12/26までに問い合わせること

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 2 第 04 回 (2007 年 05 月 14 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 14 日分と書いてある部分が 本日の教材です 本日の内容

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

Microsoft PowerPoint - 4.ppt [互換モード]

Microsoft PowerPoint - 4.ppt [互換モード] 第 4 回簡単な計算 プリプロセッサ 1 今回の目標 定数を理解する 演算子とその効果を理解する 簡単なライブラリ関数の使用法を理解する ヘロンの公式を用いた3 角形の面積を求めるプログラムを作成する 2 ヘロンの公式 ヘロンの公式 : 3 辺の長さがわかっているときに 3 角形の面積を求める方法 d = a + b + c 2 S = d ( d a )( d b )( d c ) 3 定数の分類と型

More information

Microsoft Word - java a.doc

Microsoft Word - java a.doc 4 入出力の基本として ディスプレイへの文字出力と キーボードからの文字入力の方法を学びます 入出力とは何か 標準出力 標準入力 43 4.1. 入出力とは プログラムと外部機器の間でデータをやりとりすることをいいます プログラムから出て行く方向が 出力 プログラムに入って来る方向が 入力 です 出力 外部機器 プログラム 入力 外部機器 外部機器はさまざまな種類があります 出力を行うには ディスプレイ

More information

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç C (3) if else switch AND && OR (NOT)! 1 BMI BMI BMI = 10 4 [kg]) ( [cm]) 2 bmi1.c Input your height[cm]: 173.2 Enter Input your weight[kg]: 60.3 Enter Your BMI is 20.1. 10 4 = 10000.0 1 BMI BMI BMI = 10

More information

1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf("hello World!!\n"); return 0; 戻り値 1: main() 2.2 C main

1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf(hello World!!\n); return 0; 戻り値 1: main() 2.2 C main C 2007 5 29 C 1 11 2 2.1 main() 1 FORTRAN C main() main main() main() 1 return 1 1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf("hello World!!\n"); return

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 03: 変数と標準入出力 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-04-20 1 今日の内容 変数と型 リテラル 標準入出力 整数型 浮動小数点型 文字型 整数浮動小数点数文字文字列 printf() scanf()

More information

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile "data.txt" #define OutFile "sorted.txt" #def

関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include <stdio.h> #define InFile data.txt #define OutFile sorted.txt #def C プログラミング演習 1( 再 ) 6 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 関数の呼び出し ( 選択ソート ) 選択ソートのプログラム (findminvalue, findandreplace ができているとする ) #include #define InFile "data.txt" #define OutFile "sorted.txt"

More information

Microsoft PowerPoint - kougi4.ppt

Microsoft PowerPoint - kougi4.ppt C の実行モデル 自由落下距離 前回の授業の 例題 1 の復習と重要事項 の確認 地上で物を落とし始めた後の自由落下距離を 求める 重力加速度 g は 9.8 とする 自由落下距離を求めるために, プログラム中に, 計算式 y = ( 9.8 / 2.0 ) * x * x を書く C++ ソースファイルの編集 編集画面 編集中のファイル名 関係するファイルなどが表示される ビルド結果などが表示される画面

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information

Prog1_6th

Prog1_6th 2012 年 5 月 24 日 ( 木 ) 実施 多分岐のプログラム 前回は多段階の 2 分岐を組み合わせて 3 種類以上の場合分けを実現したが, 式の値の評価によって, 一度に多種類の場合分けを行う多分岐の利用によって見通しのよいプログラムを作成できる場合がある ( 流れ図は右図 ) 式の評価 : 値 1 : 値 2 : 値 n : 該当値無し 処理 1 処理 2 処理 n 既定の処理 switch

More information

PowerPoint Presentation

PowerPoint Presentation ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (

More information

物質工学科 田中晋

物質工学科 田中晋 電気 機械実習 物質工学科 4 年 C 言語によるプログラミング基礎 物質工学科 Version 2.2 評価について 評価 : 演習 1~9 9 点 9 テーマ =81 点 演習 10 19 点 提出 : 1 週目に貸し出した USB メモリに自分の学籍番号のフォルダを作る 各演習の.c ファイルを指定されたファイル名で保存する ( 演習 10 については.exe ファイルも併せて保存 ) 最終週の翌週火曜日

More information

関数の中で宣言された変数の有効範囲はその関数の中だけです さっきの rectangle _s で宣言されている変数 s は他の関数では使用できません ( 別の関数で同じ名前の変数を宣言することはできますが 全く別の変数として扱われます このように ある関数の中で宣言されている変数のことをその関数の

関数の中で宣言された変数の有効範囲はその関数の中だけです さっきの rectangle _s で宣言されている変数 s は他の関数では使用できません ( 別の関数で同じ名前の変数を宣言することはできますが 全く別の変数として扱われます このように ある関数の中で宣言されている変数のことをその関数の ソフトゼミ A 第 6 回関数 はじめに今まで printf や scanf など 予め用意されていた関数を使ってきました これら標準で用意されている関数を作ることは ( 特に入出力系は ) とても難しいのですが 関数は自作することができます というわけで 今回は自分で関数を定義して使っていく方法について学びましょう 関数とは C 言語での 関数 は 処理の途中で呼び出すことによって 定義されている

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

C 言語固有の命令で全部で32 個 の関数C 言語第 1 回 C 言語って?( シラバス 1 2 回目 ) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている 関数がプロ グラム

C 言語固有の命令で全部で32 個 の関数C 言語第 1 回 C 言語って?( シラバス 1 2 回目 ) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている 関数がプロ グラム 1 Visual Studio 2010 Express の使用法 (PDF ファイルでの配布 :VS2010.pdf) http://www.sp.u-tokai.ac.jp/~yasue/ffn/vs2010.pdf 物理学科のホームページ (http://www.sp.u-tokai.ac.jp/) 右下の 研究室サイト の 素粒子理論. 安江研 から移動 左側のメニュー C 言語 から移動

More information

C.1 GLSL ES 言語リファレンス この付録は WebGL 用のシェーダをプログラムするために使われるGLSL ES 言語のリファレンスである GLSL ESの詳細は GLSL_ES_Specifi

C.1 GLSL ES 言語リファレンス この付録は WebGL 用のシェーダをプログラムするために使われるGLSL ES 言語のリファレンスである GLSL ESの詳細は  GLSL_ES_Specifi 付録 C OpenGL ES Shading Language C.1 GLSL ES 言語リファレンス この付録は WebGL 用のシェーダをプログラムするために使われるGLSL ES 言語のリファレンスである GLSL ESの詳細は http://www.khronos.org/registry/gles/specs/2.0/ GLSL_ES_Specification_1.0.17.pdfの公式仕様書を参照していただきたい

More information

演算増幅器

演算増幅器 ファイルこれまでにデータの入力方法として キーボードからの入力を用いてきた 構造体を習った際に実感してもらえたと思うが 入力データ量が多いときにはその作業は大変なものとなり 入力するデータを間違えた場合には最初からやり直しになる そこで今回はこれらの問題を解決するため あらかじめ入力データをテキストエディタなどで編集し ファイルとして保存したものを入力データとして用いる方法を習っていく さらにプログラムで作成したデータをファイルに出力する方法も併せて習っていく

More information

演習課題No12

演習課題No12 演習課題 No.12 ( 課題は 3 題ある ) 課題 12-1 時間内提出 従来の C 言語には複素数を直接扱うデータ型はないので (*), 構造体で複素数 ( 英語で complex) を表すことにする. 複素数を表す構造体を以下のように定義する. struct complex float r; // 実部 ( 英語で real) float i; // 虚部 ( 英語で imaginary)

More information

数値計算

数値計算 プログラム作成から実行まで 数値計算 垣谷公徳 17 号館 3 階電子メール : kimi@ee.ous.ac.jp Source program hello.c printf("hello\n"); コンパイラ Library libc.a 0011_printf000101001 1101_getc00011100011 1011_scanf1110010100 コンパイル Object module

More information

新・明解C言語で学ぶアルゴリズムとデータ構造

新・明解C言語で学ぶアルゴリズムとデータ構造 第 1 章 基本的 1 n 141 1-1 三値 最大値 algorithm List 1-1 a, b, c max /* */ #include int main(void) { int a, b, c; int max; /* */ List 1-1 printf("\n"); printf("a"); scanf("%d", &a); printf("b"); scanf("%d",

More information

kiso2-03.key

kiso2-03.key 座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03) 第2回課題の回答例 ex02-2.c include int main { int l int v, s; /* 一辺の長さ */ /* 体積 v

More information

講習No.1

講習No.1 プログラムはどこに保存され, どこで実行されるのか? 復習 ハードディスク キーボード Central Processing Unit 例えば i7, ARM, Cortex-A17 ディスプレイ 例えば 4G バイト メモリ プログラムは, ワープロ文章などと同様, ハードディスクなどにファイルとして保存されている. プログラムは, メモリ上に呼び出されて ( ロード ) 実行される. プログラムの作成

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

More information

Microsoft PowerPoint - class04.ppt

Microsoft PowerPoint - class04.ppt フローチャート フローチャートとは プログラムの処理の流れを整理し 図的に順序立てて描いたもの 流れ図流れ図ともいう 例 : 始め 半径 R 端子 : 開始 終了 停止などを示す 手操作入力 : キーボードなどから手で操作して入力することを示す 面積 S πr 2 処理 : あらゆる種類の処理を示す S 終わり 表示 : ディスプレイ表示を示す このようにフローチャートでは 記号形状自体が処理の意味を示している

More information

1 4 2 EP) (EP) (EP)

1 4 2 EP) (EP) (EP) 2003 2004 2 27 1 1 4 2 EP) 5 3 6 3.1.............................. 6 3.2.............................. 6 3.3 (EP)............... 7 4 8 4.1 (EP).................... 8 4.1.1.................... 18 5 (EP)

More information

Microsoft Word - COMP-MATH-2017-FULLTEXT.doc

Microsoft Word - COMP-MATH-2017-FULLTEXT.doc #2 2017/10/10 5. printf() 解説画面に表示する関数 (= 機能 ) を printf という print は印刷 ( 表示 ) f は format( 書式 ) の意味で プリント-エフと読む どんなプログラムでも 必ず ( といってよい程 ) 使われる関数である 以下を printf.c として秀丸で作製し Visual Studio でコンパイル (cl) し 実行する

More information

Microsoft Word - Cプログラミング演習(10)

Microsoft Word - Cプログラミング演習(10) 第 10 回 (6/25) 3. ファイルとその応用 (3) ファイルの更新 シーケンシャルファイルの更新 シーケンシャルファイルでは, 各レコードが可変長で連続して格納されており, その中の特定のレコードを変更することができない そこで一般的には, マスタファイルからデータを取り出し, 更新処理を行ったあとに新マスタファイルに書き込む 注 ) マスタファイル : 主ファイル, 基本ファイルと呼ばれるファイルで内容は比較的固定的であり,

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

Microsoft Word - Cプログラミング演習(7)

Microsoft Word - Cプログラミング演習(7) 第 7 回 (6/4) 2. 構造体 構造体とは, 同じ型に限定されない複数の関連するデータメンバの集合である 構造体の宣言構造体指定子 struct を用いて struct 構造体タグ名 { メンバ 1 の宣言 ; メンバ 2 の宣言 ; メンバ n の宣言 ; }; 注 ) 構造体タグ名は構造体の型名で, 内容を定義するものでオブジェクトではなく, 論理的なテンプレートである 構造体の変数の宣言実際の記憶領域を占める物理的実体を確保する

More information

Prog1_10th

Prog1_10th 2012 年 6 月 20 日 ( 木 ) 実施ポインタ変数と文字列前回は, ポインタ演算が用いられる典型的な例として, ポインタ変数が 1 次元配列を指す場合を挙げたが, 特に,char 型の配列に格納された文字列に対し, ポインタ変数に配列の 0 番の要素の先頭アドレスを代入して文字列を指すことで, 配列そのものを操作するよりも便利な利用法が存在する なお, 文字列リテラルは, その文字列が格納されている領域の先頭アドレスを表すので,

More information

Taro-リストⅠ(公開版).jtd

Taro-リストⅠ(公開版).jtd 0. 目次 1. 再帰的なデータ構造によるリストの表現 1. 1 リストの作成と表示 1. 1. 1 リストの先頭に追加する方法 1. 1. 2 リストの末尾に追加する方法 1. 1. 3 昇順を保存してリストに追加する方法 1. 2 問題 問題 1 問題 2-1 - 1. 再帰的なデータ構造によるリストの表現 リストは データの一部に次のデータの記憶場所を示す情報 ( ポインタという ) を持つ構造をいう

More information