天天看点

04用d编程数组

流程语句与c差不多.

算术运算与c差不多.为了防止溢出,可使用检查整

数组分

静态与动态

,静态不能添加元素.

动态数组:

writeln("数组有",array.length,"个元素.");
//且可设置
int []数组;      //最初为空
数组.length = 5;//现在有5个元素
           

复制静态数组

int [5] source = [10,20,30,40,50];
    int [5] destination;

    destination = source;//与动态数组完全不一样
           

动态数组

~=

可用于添加元素.

还可以用

~

连接两个数组.但左边的

结果

不能为静态数组,因为

静态数组

是不能变的.

import std.stdio;

void main() {
    int[10] first = 1;
    int[10] second = 2;
    int[] result;

    result = first ~ second;
    writeln(result.length);     // prints 20

    result ~= first;
    writeln(result.length);     // prints 30
}
           

下面可以编译:

int[10] first = 1;
    int[10] second = 2;
    int[20] result;//20换成其他就编译不了了
           

std.algorithm

里面有很多算法如

sort,reverse

代码页:

有各种各样的如

936

,最出名的,土耳其

857

.

命名实体

\x3f

,十六进制表示的字符

wchar currencySymbol = '\€';
    char questionMarkOctal = '\77';//8位
    char questionMarkHexadecimal = '\x3f';//16进制
    wchar w = '\u011e';//u
    dchar d = '\U0000011e';//U
           

常见控制符

\t\n\r

等等,反斜线表转义,一大堆.

unicode相关函数在此

import std.stdio;
import std.uni;

void main(){
    writeln("小写吗?",isLower('g'));
    writeln("小写吗?",isLower('S'));

    writeln("大写?",isUpper('G'));
    writeln("大写?",isUpper('g'));

    writeln("是字母数字?",isAlpha('z'));
    writeln("\€是字母数字?",isAlpha('\€'));

    writeln("是新行空格?",isWhite('\n'));
    writeln("下划线空格?",isWhite('_'));

    writeln("小写:",toLower('i'));
    writeln("小写:",toLower('G'));

    writeln("大写:",toUpper('s'));
    writeln("大写:",toUpper('S'));
}
           
import std.stdio;
import std.uni;

void main() {
    writeln("i的大写为: ", toUpper('i'));
    writeln("I的小写为: ", toLower('I'));
}
           
import std.stdio;
void main() {
    char letter;
    write("请输入中文: ");
    readf(" %s", &letter);//输入一个中文字试试
    //仅读一个符
    writeln("已读字符为: ", letter);
}
//而:
import std.stdio;

void main() {
    char firstCode;
    char secondCode;

    write("请输入中文: ");
    readf(" %s", &firstCode);//再输入一个中文试试
    readf(" %s", &secondCode);

    writeln("已读字符为: ",firstCode, secondCode);
}