图6.3二维数组a[3][4]示意图多维数组定义的一般形式为:数据类型符数组名[常量表达式][常量表达式]…图6.4二维数组存储示意图图6.5三维数组存储示意图根据多维数组在存储器中按行存储的规则和多维数组的行列顺序可以计算出多维数组元素存储时在线性连续存储单元中的排列序号。......
2023-11-20
在前面的章节中已经讨论过整数的产生方法,本小节以数组为载体进一步讨论产生随机数的技术。
为了能够在学习程序设计的过程中深刻体会被处理数据的多样性和不可见性,有必要用某种方法来模拟所处理的数据,在程序中随机生成所处理的数据就是一种比较好的模拟数据方法。为了能够在程序中随机生成数据,需要使用C语言提供的srand、rand和time 3个标准库函数。
srand函数的功能是初始化随机数发生器,函数原型在头文件stdlib.h中声明,其原型为:
void srand(unsigned int seed);rand函数的功能是随机产生一个在0到RAND_MAX(0x7fff)之间的正整数,函数在头文件stdlib.h中声明,其原型为:
int rand(void);
time函数的功能是获取系统时间,函数原型在头文件time.h中声明,其原型为:
time_t time(time_t*timer);
其中的数据类型time_t是一个系统定义好的长整型数据类型,其变量用于存放从系统中取出的以秒为单位的整型数据,参数time_t*timer表示用timer数据对象保存取出的时间值,调用时用空(NULL)作为参数(即调用形式为:time(NULL))则表示只需要用其返回的长整型数值而不需要保存该值。
【例6.18】 随机生成20个3位以内的整数序列存放在数组中,然后用每行10个数据的形式输出所有数组元素。
程序一次运行结果为:(www.chuimin.cn)
6 73 796 864 999 12 881 293 634 453
110 636 127 541 896 731 615 841 533 796
在上面程序中,用表达式rand()%1000获取3位以内的随机整数。在实际的程序设计实践中,可以通过下面所列的表达式形式获取所需要的各种类别随机数据:
100+rand()%900//获取3位随机整数,通式:100+rand()%(1000-100)
'A'+rand()%26//获取随机的大写英语字母
'a'+rand()%26//获取随机的小写英语字母
(10000+rand()%90000)*1e-2 //获取3位以内整数部分,2位小数的随机实数
100+rand()%900+rand()%100*1e-2 //获取3位整数部分,2位小数的随机实数
有关C语言程序设计基础(第3版)的文章
图6.3二维数组a[3][4]示意图多维数组定义的一般形式为:数据类型符数组名[常量表达式][常量表达式]…图6.4二维数组存储示意图图6.5三维数组存储示意图根据多维数组在存储器中按行存储的规则和多维数组的行列顺序可以计算出多维数组元素存储时在线性连续存储单元中的排列序号。......
2023-11-20
若在表中找不到与给定条件相符合的数据,则称为不成功的查找,给出提示信息或空位置信息。本节介绍最常用的两种查找方法:顺序查找和折半查找。③基准位置数据值与查找的关键字值不相符时,在两个子集合中选取一个,重复执行①、②,直到被处理的查找集合中没有数据为止。图6.11是在一有序序列中实现对key=21进行折半查找的过程。......
2023-11-20
例如,有如下所示的C语句序列:则结构体指针变量p1指向结构体数组元素a[2],其关系如图10.2所示。此时应该注意到被指针变量p1指向的结构体数组元素本身是不能作为整体操作的,所以*p1也不能作为整体操作。......
2023-11-20
对一维数组的引用,既可以用传统的数组元素的下标法,也可使用指针的表示方法。例7.11输入10个数,采用指针变量表示的地址法输入输出数组各元素。由于数组元素在内存是连续存放的,若给指向整型变量的指针传递数组的首地址,则该指针指向二维数组。#include<stdio.h>例7.16用指针法输入输出二维数组各元素。......
2023-11-18
当指针变量指向一维数组的首元素时,称为指向了一维数组。所以,函数中一维数组形式参数可以用同类的指针形式参数替代;同理也可以用指向特定数组的指针变量来传递数组类实际参数。特别需要注意的是,函数的形式参数无论使用的是数组名形式还是指针变量形式,本质上都是一个指针变量,在被调函数中既可以将它当作数组名使用也可以将它当作指针变量使用。......
2023-11-20
,常数n};例如:int a1[5]={1,2,3,4,5};一维数组的初始化可以用以下方法实现:①数组初始化时,给出全部数组元素的初始值。②输出数组元素值。......
2023-11-20
指针数组是一组有序的指针的集合。用一维指针数组处理二维数组示例。程序一次运行的结果为:11415019618955311556532879428指针数组还常用于处理若干个相关的一维数组,此时指针数组中的每个元素指向一个一维数组的首地址。上面程序综合使用了指针数组和二级指针变量,在数据对象的定义和初始化阶段完成后形成的处理结构如图8.9所示。......
2023-11-20
图8.3用指针修改数组元素的值使用指针变量表示数组元素示例。另外,在输出数组值的操作中,首先让指针变量p指向数组0号元素,然后通过循环控制中的p++运算,使得指针变量p依次指向a数组的其他元素,通过*p的方式表达数组元素值。程序执行的结果为:0010000如果有两个指针变量分别指向同一个数组的两个不同元素,则两个指针变量之间的距离表示了它们之间的差距有多少个数组元素。......
2023-11-20
相关推荐