第十次C++课程小结

今天参加了老师讲的第十次课程,这次课程我们学习了一个新的名词——数组。

首先要知道数组的表达式为a[X],其中X所代表的是数组中元素的个数。其中X必须为数字,而且必须大于1。而表示数组中元素时要从X=0开始写,即a[0],a[1],a[2].....a[X]。

例如定义一个数组:int a[3]={1,2,3}。这样就代表a[0]=1,a[1]=2,a[2]=3,其中[0][1][2]为数组的下标,表示数组中元素的位置。当然也可以在不知道元素数量的时候定义数组,那就是a[]={1,1,2,3.....55},其中不知道数组中具体数字是多少,但是也可以用这种方法定义。当然如果想要计算具体元素数量可以通过一个函数(sizeof)来解决。表达式为int c=sizeof(a),这个方法得出的结果是数组a在内存所占据的字节数,具体元素数量可以通过总量所占字节数除以单个元素所占字节数来得出,表达式是c=sizeof(a)/sizeof(a[0]);这样可以在不清楚具体元素数量的情况下,最快得出数组中元素的个数。

如何打印数组呢?

在这里,我们使用for循环来打印数组。

例:int a[10]={1,2,3,4,5,6,7,8,9,10};

for(int i=0;i<10;++i)

{printf("%d\t",a[i]);}这个就不解释了,很简单。

下面介绍一些简单的应用。

1.寻找数组中的最小值,并输出。

#include<stdio.h>

int main()
{
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int c = a[0];
for (int i = 0; i < 10; ++i)
{
if (c > a[i])
{
c = a[i];
}
}
printf("%d", c);
}

其中c>a[i]循环就是如果c比a1大的话,就把a1的值赋给c,循环的最后打印c,自然就是数组中最小的值。反之亦然。

2.下面练习一下如何把两个数组合并到1个数组中。

#include<stdio.h>
int main()
{
int a[5] = { 1, 2, 3, 4, 5 };
int a2[5] = { 6, 7, 8, 9, 10 };
int b[10];
for (int i = 0; i < 5; ++i)
{
b[i] = a[i];
}
for (int i = 0; i < 5; ++i)
{
b[i + 5] = a2[i];
}
for (int i = 0; i < 10; ++i)
{
printf("%d", b[i]);
}

}

此为已知数组元素长度情况下的表达式,当然由于初次接触数组的打印,暂时没想到简化代码的方式。根据逻辑思维写出来的,记录下来,方便以后拿来复习。

3.将两个数组中的数值进行交换。

#include<stdio.h>

int main()
{
int a[5] = { 1, 2, 3, 4, 5 };
int a2[5] = { 6, 7, 8, 9, 10 };
int b;
for (int i = 0; i < 5; ++i)
{
b= a[i];
a[i] = a2[i];
a2[i] = b;
}
for (int i = 0; i < 5; ++i)
{
printf("%d", a[i]);
}
printf("\n");
for (int i = 0; i < 5; ++i)
{
printf("%d", a2[i]);
}

}

因为暂时是新学的,所以代码只能把逻辑思维都写出来,方便理解。今天的课后思考题是如何用一个printf打出2个数组。我正在思索和实验。

猜你喜欢

转载自blog.csdn.net/gkht007/article/details/79804665