C语言程序设计(10)

86 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情

数组应用

构造素数表

欲构造n以内(不含)的素数表:1.开辟prime[n],初始化其所有元素为1,prime[x]为1表示x是素数;2.令x=2;3.如果是素数,则对于(i=2;x* i<n;i++)令prime[i* x]=0;4.令x++,如果x<n,重复3,否则结束

const int maxNumber=25;
int isPrime[maxNumber];
int i;
int x;
for(i=0;i<maxNumber;i++){
    isPrime[i]=1;
}
for(x=2;x<maxNumber;x++){
    if(isPrime[x]){
        for(i=2;i*x<maxNumber;i++){
            isPrime[i*x]=0;
        }
    }
}
for(i=2;i<maxNumber;i++){
    if(isPrime[i]){
        printf("%d\t",i);
    }
}
printf("\n");
return 0;

二维数组 int a[3][5];通常理解为a是一个3行5列的矩阵

image.png

二维数组的遍历

for(i=0;i<3;i++){
    for(j=0;j<5;j++){
        a[i][j]=i*j;
    }
}

其中如果有a[i,j]表示i和j参与了逗号运算(其中的,表示逗号运算符)即为a[j]

二维数组的初始化

int a[][5]={
    {0,1,2,3,4},
    {2,3,4,5,6},
};

列数是必须给出的,行数可以由编译器来数;每行一个{},用逗号分隔;最后的逗号可以存在,有古老的传统;如果省略,表示补零;也可以用定位。

数据类型

C语言的变量,必须:在使用前定义并且确定类型。 C语言以后的语言的两个发展方向:

1.C++/Java更加强调类型,对类型的检查更加严格;

2.Javascript、python、PHP不看重类型,甚至不需要事先定义。

类型安全

支持强类型的观点认为明确的类型有助于尽早发现程序中的简单错误;

反对强类型的观点认为过于强调类型迫使程序员面对底层、实现而非事务逻辑;

总的来说,早期语言强调类型,面向底层的语言强调类型;

C语言需要类型,但对类型的安全检查还不够。