プログラミングⅠ・講義メモ 後半

p.34 型と演算

・実数と整数を演算に用いた場合、自動的に整数を実数に変換してから用いられる
・例: 2 + 2.5 ⇒ 2.0 + 2.5 として実行される
・実数値や計算結果が実数になる式を整数変数に代入すると、エラーにはならず、小数点以下切り捨てが起こる

p.36 キャスト

・キャスト:型を強制的に変換すること。例えば、実数値を整数にすること
・書式: (型)値や式
・例: (double)2 ⇒ 2.0になる、(int)3.6 ⇒ 3になる
・例: int a = 3, b = 2; double c = (double)a / 2; //cは3.0÷2=1.5

p.37 演習2-5

・自由参加課題とします

p.38 変換指定

・printfの「%d」や「%f」の「%」の後ろに「少なくとも●桁で表示」と指示できる
例:printf("「%5d」です", 123);  //「  123」です
例:printf("「%5d」です", 1234); //「 1234」です
・表示する値の桁数が●を超える場合、指定は無視される(エラーにはならない)
例:printf("「%5d」です", 123456); //「123456」です
・printfの「%d」や「%f」の「%」の後ろに「少なくとも●桁で、小数点以下■桁まで表示」と「%●.■f」で指示できる
例:printf("「%5.1f」です", 3.14);  //「  3.1」です
例:printf("「%5.2f」です", 3.14);  //「 3.14」です
※ 小数点以下の表示できない桁があれば、そこで四捨五入される(切り捨てではない)

アレンジ演習:p.38 list0211.cpp

・平均は小数点以下1桁ではなく2桁を表示するように変更しよう

作成例

/*
    アレンジ演習:p.38 list0211.cpp
*/
#include <stdio.h>
int main(void)
{
    int a, b, c; //int型の3変数を宣言
    puts("3つの整数を入力せよ。");
    scanf("%d%d%d", &a, &b, &c); //キーボードから3整数値を連続入力
    int sum = a + b + c; //合計を得る
    double ave = (double)sum / 3; //合計を実数にキャストして平均を得る
    printf("それらの合計は%5dです。\n", sum); //値を埋め込んで表示(改行)
    printf("それらの平均は%5.2fです。\n", ave); //値を埋め込んで表示(改行)
    return 0;
}

p.38 変換指定(続き)

・printfの「%d」や「%f」の「%」の後ろに「少なくとも●桁で表示」と指示するときに前に「0」を入れると、空きができたら「0」で埋めてくれる
例:printf("「%05d」です", 123);  //「00123」です
例:printf("「%05.1f」です", 3.14);  //「003.1」です

アレンジ演習:p.26 list2-2 その2

・西暦4桁を入力したら、下2桁を表示しよう(2002年なら02と表示しよう)
実行例:
西暦を入力せよ:2002 ←入力
下2桁は02

作成例

/*
    アレンジ演習:p.26 list0202.cpp その2
*/
#include <stdio.h>
int main(void)
{
    int year; //int型の変数(西暦)を宣言
    printf("西暦を入力せよ:"); scanf("%d", &year); //入力案内を表示しキーボードから整数値を入力
    printf("下2桁は%02d\n", year % 100); //計算値を2桁で埋め込んで表示(改行)
    return 0;
}

p.39 演習2-6 ヒント ex0206.cpp

・int型の変数heightを宣言する
・「身長を入力せよ:」と表示する
・変数heightに整数値を入力する
・(height - 100) * 0.9 を実数として小数点以下1桁で表示する
 ⇒ 「%.1f」を用いると良い

作成例

/*
    p.39 演習2-6
*/
#include <stdio.h>
int main(void)
{
    int height; //int型の変数(身長)を宣言
    printf("身長を入力せよ:"); scanf("%d", &height); //入力案内を表示しキーボードから整数値を入力
    printf("標準体重は%.1fです。\n", (height - 100) * 0.9); //計算値を埋め込んで小数点以下1桁まで表示(改行)
    return 0;
}

p.44 if文

・条件分岐ともいい、C言語では値が0か非0かで後続の処理の実行/非実行を変えられる仕掛け
・C/C++ではif文のカッコ内の値が非0であれば後続の処理を実行する
 ※ C#やJavaでは不可
例:
  int a = 7;
  if(a % 5) 
    puts("aは5で割り切れない");
例:
  int a = 7;
  if(a % 2) 
    puts("aは奇数");

p.45 else付きのif文

・if文には1つだけelseを付記でき、その後に「でなければ行う処理」を記述する
例:
  int a = 7;
  if(a % 5) //aを5で割った余りが非0ならば
    puts("aは5で割り切れない");
  else //でなければ(aを5で割った余りが0ならば)
    puts("aは5で割り切れる");
例:
  int a = 7;
  if(a % 2) //aを2で割った余りが非0ならば
    puts("aは奇数");
  else //でなければ(aを2で割った余りが0ならば)
    puts("aは偶数");

提出:p.47 演習3-1 ヒント ex0301.cpp

・int型の変数a、bを宣言する
・「二つの整数を入力せよ」と表示
・「変数A:」と表示し、変数aに整数を入力する
・「変数B:」と表示し、変数bに整数を入力する
・(a % b)が非0ならば「BはAの約数ではありません」と表示し
 でなければ「BはAの約数です」と表示する

自由参加課題:アレンジ演習:p.47 演習3-1

・BがAの約数かどうかの判断の後に、AがBの約数かどうかの判断もしよう
・提出に盛り込むとさらによい
実行例:
二つの整数を入力せよ
変数A:15
変数B:5
BはAの約数です
AはBの約数ではありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です