Logo
☆☆☆☆☆
0.0
Beginner
15h

D语言编程:软件工程师终极指南

D 是一门多范式系统编程语言。本课程从编写 Hello World 开始,带你学习变量与用户输入、数据类型运算、条件语句与循环、数组与字符串、文件处理、字面量与枚举、格式化输入输出等基础内容。随后进一步讲解函数、不可变性、值类型与引用类型、程序环境、异常与作用域、断言、单元测试和契约编程。完成课程后,你将具备用 D 语言开发应用程序的基础能力。

18 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
D语言编程:软件工程师终极指南
D 是一门多范式系统编程语言。本课程从编写 Hello World 开始,带你学习变量与用户输入、数据类型运算、条件语句与循环、数组与字符串、文件处理、字面量与枚举、格式化输入输出等基础内容。随后进一步讲解函数、不可变性、值类型与引用类型、程序环境、异常与作用域、断言、单元测试和契约编程。完成课程后...

Content

18 Lessons • 0 Quizzes • 0 Challenges

D语言入门
  1. 1

    Hello World 程序

  2. 2

    writeln 和 write

  3. 3

    挑战:修复代码

  4. 4

    解决方案:修复代码

  5. 5

    D 语言代码的编译

  6. 6

    测验

变量和用户输入
  1. 1

    基本类型

  2. 2

    给变量赋值

  3. 3

    auto 和 typeof

  4. 4

    挑战:在语句中输出变量的值

  5. 5

    解决方案:在语句中输出变量的值

  6. 6

    标准输入和输出流

  7. 7

    从标准输入读取数据

  8. 8

    测验

数据类型上的算术与逻辑运算
  1. 1

    逻辑表达式

  2. 2

    挑战:修复代码

  3. 3

    解决方案:修复代码

  4. 4

    整数

  5. 5

    整数的基本算术运算

  6. 6

    整数的高级算术运算

  7. 7

    挑战:求整数的余数和商

  8. 8

    解决方案:求整数的余数和商

  9. 9

    整数溢出和截断检测

  10. 10

    浮点类型

  11. 11

    浮点类型中的溢出和截断

  12. 12

    浮点类型使用与限制

  13. 13

    挑战:求浮点数值的两倍与五分之一

  14. 14

    解决方案:求浮点数值的两倍与五分之一

  15. 15

    测验

条件语句和循环
  1. 1

    if 语句

  2. 2

    链式 if-else 语句

  3. 3

    挑战:修复代码

  4. 4

    解决方案:修复代码

  5. 5

    三元运算符 ?:

  6. 6

    惰性操作符

  7. 7

    while 循环

  8. 8

    名称作用域

  9. 9

    for 循环

  10. 10

    挑战:打印一个平行四边形图案

  11. 11

    解决方案:打印一个平行四边形图案

  12. 12

    do-while 循环

  13. 13

    测验

数组、字符和字符串
  1. 1

    数组

  2. 2

    数组示例

  3. 3

    数组初始化与基本数组操作

  4. 4

    关联数组

  5. 5

    挑战:对数组元素进行排序和反转

  6. 6

    解决方案:对数组元素进行排序并反转

  7. 7

    切片及其他数组特性

  8. 8

    切片:共享的终止

  9. 9

    对所有元素的操作

  10. 10

    多维数组

  11. 11

    挑战:将数组元素减半

  12. 12

    解决方案:将数组元素减半

  13. 13

    字符:简介

  14. 14

    字符:类型与字面量

  15. 15

    字符:std.uni 模块

  16. 16

    字符:D 语言的 Unicode 问题与支持

  17. 17

    字符串

  18. 18

    字符串长度、字面量和比较

  19. 19

    挑战:打印字符串的一部分

  20. 20

    解决方案:打印字符串的一部分

  21. 21

    测验

D 语言中的文件处理
  1. 1

    重定向标准输入和输出流

  2. 2

    文件

  3. 3

    std.stdio.File 结构体

  4. 4

    挑战:将一个文件的内容写入另一个文件

  5. 5

    解决方案:将一个文件的内容写入另一个文件

  6. 6

    测验

字面量和枚举
  1. 1

    整数和浮点数字面量

  2. 2

    挑战:修复代码

  3. 3

    解决方案:修复代码

  4. 4

    字符和字符串字面量

  5. 5

    枚举

  6. 6

    测验

格式化输出与输入
  1. 1

    格式化输出

  2. 2

    格式化说明符:格式字符

  3. 3

    格式说明符:宽度、分隔符、精度和标志

  4. 4

    格式化说明符:格式化元素输出

  5. 5

    格式化说明符:位置参数与格式

  6. 6

    挑战:将浮点数值转换为百分比值

  7. 7

    解决方案:将浮点数值转换为百分比值

  8. 8

    格式化输入

  9. 9

    挑战:根据给定日期打印月份编号

  10. 10

    解决方案:根据给定日期打印月份编号

  11. 11

    测验

foreach 循环和 switch-case 语句
  1. 1

    foreach 循环

  2. 2

    foreach 循环特性

  3. 3

    挑战:交换关联数组中的键与值

  4. 4

    解决方案:交换关联数组的键与值

  5. 5

    switch 和 case

  6. 6

    挑战:构建一个计算器应用程序

  7. 7

    解决方案:构建一个计算器应用程序

  8. 8

    测验

函数
  1. 1

    简介

  2. 2

    函数是如何工作的?

  3. 3

    代码质量提升

  4. 4

    挑战:printMenu() 函数

  5. 5

    解决方案:printMenu() 函数

  6. 6

    测验

不可变性
  1. 1

    不可变性

  2. 2

    不可变参数

  3. 3

    参数应该声明为 const 还是 immutable?

  4. 4

    切片的不可变性与元素的不可变性

  5. 5

    测验

值类型和引用类型
  1. 1

    值类型

  2. 2

    引用变量

  3. 3

    引用类型

  4. 4

    值类型与引用类型

  5. 5

    测验

函数参数
  1. 1

    函数参数

  2. 2

    引用变量作为参数

  3. 3

    参数限定符:in、out、const 和 immutable

  4. 4

    参数限定符:ref、auto ref 和 inout

  5. 5

    参数限定符:lazy、scope 和 shared

  6. 6

    函数参数:总结

  7. 7

    挑战:修复代码

  8. 8

    解决方案:修复代码

  9. 9

    左值和右值

  10. 10

    测验

程序环境
  1. 1

    main() 函数的返回值

  2. 2

    main() 函数的参数

  3. 3

    命令行选项与 std.getopt 模块

  4. 4

    环境变量和启动其他程序

  5. 5

    测验

异常和作用域
  1. 1

    异常

  2. 2

    throw 语句

  3. 3

    使用 try-catch 语句捕获异常

  4. 4

    finally 块

  5. 5

    异常属性

  6. 6

    错误的类型

  7. 7

    作用域

  8. 8

    测验

断言和强制执行语句
  1. 1

    断言类型

  2. 2

    断言的特性

  3. 3

    enforce 的使用

  4. 4

    挑战:修复代码

  5. 5

    解决方案:修复代码

  6. 6

    挑战:修复代码

  7. 7

    解决方案:修复代码

  8. 8

    测验

单元测试
  1. 1

    错误的原因及发现

  2. 2

    单元测试

  3. 3

    异常测试

  4. 4

    测试驱动开发

  5. 5

    挑战:让单元测试通过

  6. 6

    解决方案:让单元测试通过

  7. 7

    测验

契约编程
  1. 1

    在前置条件中的块

  2. 2

    `out` 块与基于表达式的契约

  3. 3

    `in` 块还是 `enforce`

  4. 4

    挑战:保持总分

  5. 5

    解决方案:维护两支足球队的总得分

  6. 6

    测验

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)