当前位置 : 主页 > 编程语言 > c语言 >

Programming abstractions in C阅读笔记: p114-p117

来源:互联网 收集:自由互联 发布时间:2023-08-25
《Programming Abstractions in C》学习第48天,p114-p117,总结如下: 一、技术总结 主要通过random number介绍了随机数的相关用法,interface示例(random.h),client program示例(craps.c)。 #include stdio.h#in

《Programming Abstractions in C》学习第48天,p114-p117,总结如下:

一、技术总结

主要通过random number介绍了随机数的相关用法,interface示例(random.h),client program示例(craps.c)。

#include <stdio.h>
#include "genlib.h"
#include "random.h"

static bool TryToMakePoint(int point);
static int RollTwoDice(void);

void main() {
    int point;

    Randomize();  // 定义在自定义的random.h文件中
    printf("This program plays a game of craps.\n");
    point = RollTwoDice();
    switch (point) {
    case 7: case 11:
        printf("That's a natural. You win.\n");
        break;
    case 2: case 3: case 12:
        printf("That's craps. You lose.\n");
        break;
    default:
        printf("Your point is %d.\n", point);
        if (TryToMakePoint(point)) {
            printf("You made your point. You win.\n");
        } else {
            printf("You rolled a seven. You lose.\n");
        }


    }
}

static bool TryToMakePoint(int point) {
    int total;

    while (TRUE) {
        total = RollTwoDice();
        if (total == point) return TRUE;
        if (total == 7) return FALSE;
    }
}

static int RollTwoDice(void) {
    int d1, d2, total;

    printf("Rolling the dice ...\n");
    d1 = RandomInteger(1, 6);  // 定义在自定义的random.h文件中
    d2 = RandomInteger(1, 6);
    total = d1 + d2;
    printf("You rolled %d and %d -- that's %d.\n", d1, d2, total);
    return total;
}

二、英语总结

1.inclusive什么意思?

答:adj. including a particular thing。当讨论涉及到范围时,我们经常会说在某两个数之间,如果包含这两个数,那么就用inclusive这个词来形容这两个数。示例:p114,The first prototype is for the function RandomInteger(low, high), which return a randomly chosen integer in the range between low and high, inclusive。

2.subject to sth语法

答:subject用法最常见的是用作noun,不过subject也可以用作adjective。subject to sth:only able to happen if sth else happen。

三、数学总结

1.区间相关概念

(1) 半开区间: half-open internal

(2) open circle:open circle

(3) 方括号:square bracket

三、参考资料

1.编程

(1)Eric S.Roberts,《Programming Abstractions in C》:https://book.douban.com/subject/2003414

2.英语

(1)Etymology Dictionary:https://www.etymonline.com

(2)Cambridage Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

上一篇:AcWing 859. Kruskal算法求最小生成树
下一篇:没有了
网友评论