C语言中数组的知识点

本文详细介绍了C语言中数组的定义、操作(如求和、平均值及查找最大最小值),以及如何通过循环和memcpy进行数组赋值。还涵盖了如何使用rand()函数生成随机数,包括设置随机数种籽和指定范围的方法。
摘要由CSDN通过智能技术生成

1.数组定义

数组:所谓数组,就是一个集合,里面存放了相同数类型的数据元素
数组是由连续的内存位置组成的
一维数组定义方式:数据类型  数组名[数组长度];
                                数据类型  数组名[数组长度]={值1,值2...};   值不全会被0替代
                                数据类型  数组名[        ]={值1,值2...};
    int arr1[3];
    arr1[0] = 1;
    arr1[1] = 2;
    arr1[2] = 3;

    int arr2[3] = { 10,20,30 };

    int arr3[] = { 100,200,300 };

一维数组名称的用途:
            1)可以统计整个数组在内存中的长度
            2)可以获取数组在内存中的首地址

整个数组占用的内存空间为: sizeof(arr) 

单个元素占用的内存空间为:sizeof(arr[0])

 数组中元素个数为: sizeof(arr)/sizeof(arr[0])

数组中第一个元素在内存中的地址为: &arr[0]

int brr[3 + 4];
int crr[N];
//int n = 10;
//int crr[n];//报错! vs不允许这样子定义,[ ]中应该是一个值

例:计算总和 ,平均数

	int sum = 0;
	int avg = 0;
	for (int i = 0; i < len; i++)
	{
		sum += arr[i];
	}
	avg = sum / len;
	printf("sum=%d,avg=%d\n", sum, avg);

找出最大值 最小值 

int max = arr[0];
int min = arr[0];
for (int i = 1; i < len; i++)
{
	if (max<arr[i])
	{
		max = arr[i];
	}
	if (min>arr[i])
	{
		min = arr[i];
	}
}

2.数组赋值

int brr[10];
方法1 :通过循环的方式 数组元素赋值
for (int i = 0; i < len; i++)
{
    brr[i] = arr[i];
}

方法2:memecpy(目的地,源,字节数)  
    memcpy(brr, arr, sizeof(arr));

    for (int i = 0; i < 10; i++)
    {
        printf("brr--%d\n", brr[i]);
    }

3.C语⾔中如何⽣成随机数

#include<stdio.h>

int rand(void)

rand() 会返回⼀随机数值,范围在 0 ⾄ RAND_MAX 间。

在调⽤此函数产⽣随机数前,必须先利⽤ srand()设置好随机数种⼦,如果未设随机数种⼦, rand()在调⽤时会⾃动设随机数种⼦为 1。

如果你要产⽣0~99这100个整数中的⼀个随机整数,可以表达为:int num = rand() % 100;

如果要产⽣1~100,则是这样:int num = rand() % 100 + 1;

⼀般性:rand() % (b-a+1)+ a ; 就表⽰ a~b 之间的⼀个随机整数。

for (int i = 0; i < 10; i++)
{
int n = rand()%100;
printf("%5d", n);
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
srand(time(0));
for (int i = 0; i < 10; i++)
{
int n = rand()%10;
printf("%5d", n);
}
printf("\n");
return 0;
}

第二次输出会随机输出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值