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;
}
第二次输出会随机输出。