ex21.c |
---|
#include <stdio.h> int main(void) { int x; /* 整数(int)型変数の宣言 */ int a, b, c; /* コンマ区切りで複数変数を宣言できる */ int y; printf("x を入力して下さい: "); scanf("%d", &x); /* x の値(整数値)を読み込む */ printf("a b c を入力して下さい: "); scanf("%d %d %d", &a, &b, &c); /* スペース区切りのデータをまとめて読み込むこともできる */ y = a * x * x + b * x + c; /* 計算 */ printf("y = %d¥n", y); /* 結果の出力 */ return 0; } |
プログラムの入力, コンパイル, 実行
abc12345@KSKS04DT00 ~/ $ cd c2 abc12345@KSKS04DT00 ~/c2 $ gcc ex21.c abc12345@KSKS04DT00 ~/c2 $ ./a x を入力して下さい: 5 a b c を入力して下さい: 1 2 3 y = 38 abc12345@KSKS04DT00 ~/c2 $ |
演算 | 記号 | 備考 |
---|---|---|
加算 | + | |
減算 | - | |
乗算 | * | |
除算 | / | 結果の小数点以下は切り捨てられる (10/3=3) |
剰余算 | % | a%b は a を b で割った余り (10%3=1) |
メモ int型の整数は有限であることに注意 演習室の Cygwin の環境では int 型は 32bit なので, その値の範囲は, -2,147,483,648 から 2,147,483,647. |
課題 2.1
整数データ a, b, x, y をこの順に入力し,
z = a x2 + b y 2
を計算して表示するプログラム ellip.c を作成せよ.
課題 2.2 2桁の整数データ n を入力し, n の 10 の位の数と 1 の位の数をそれぞれ出力するプログラム ten.c を作成せよ
ex22.c |
---|
#include <stdio.h> int main(void) { double x; /* 実数 (double型) 変数の宣言 */ double a, b, c; double y; printf("x を入力して下さい: "); scanf("%lf", &x); /* x の値を読み込む */ printf("a b c を入力して下さい: "); scanf("%lf %lf %lf", &a, &b, &c); /* スペース区切りのデータをまとめて読み込むこともできる */ y = a * x * x + b * x + c; /* 計算 */ printf("y = %.5f¥n", y); /* 小数点以下5桁 */ printf("y = %.5e¥n", y); /* 指数表示 */ return 0; } |
コンパイルと実行の例
(ディレクトリ c2 で) abc12345@KSKS04DT00 ~/c2 $ gcc ex22.c abc12345@KSKS04DT00 ~/c2 $ ./a x を入力して下さい: 11.34 a b c を入力して下さい: 2 0.03 -3.1 y = 254.43140 y = 2.544314e+02 ← 2.544314×102 を意味する abc12345@KSKS04DT00 ~/c2 $ |
メモ double型とは 実数値は, 計算機の中では仮数部 (有効数値を表す部分) と指数部 (10e の e の部分) に分けて記憶する浮動小数点数 (floating point number) として表現されている. 32bit の浮動小数点型を float と呼び, 64bit の浮動小数点型を double float と呼ぶが, 後者を略して double と呼ぶ. double 型で表せる数値の範囲も当然有限 であり, その範囲は, -1.7976931348623157×10308 から 1.7976931348623157×10308 である. |
課題 2.3 華氏の温度 (実数値) を入力し, 摂氏に変換して表示するプログラム degree.c を作成せよ.
課題 2.4
身長 [cm] と体重 [kg] をこの順に入力し,
BMI (body mass index) を計算して表示するプログラム bmi.c を作成せよ.
科目名: コンピュータ演習A 課題: C2 番号: 9999 氏名: 関学 太郎 作成: 20oo年oo月oo日 ------------------------------------------------------------- [課題 2.1] 〜を作成した. 実行結果は下記の通りである. (Cygwinの実行結果を貼り付ける) 〜で苦労した, 〜を工夫した, 等 ------------------------------------------------------------- ([課題 2.2] 以降も同様) ------------------------------------------------------------- [感想] (今回の課題に関する感想を書く) ------------------------------------------------------------- |