一、编译及运行环境
系统为windows10 系统,软件为Dev-c++5.11开发工具 Dev-c++5.11是一款通用的自由软件,适合初学者及编程高手的不同需求。
二、整体思路及分析
整体思路:本人的末尾学号数字为0,加4后数组大小是4,所以数组中每个元素为a[0],a[1],a[2],a[3]。因此需要定义数组a[4];由于该数组需要指针遍历,所以再
定义一个指针变量*p,自己需要定义的数组,像int a[4]={1,2,3,4}。此类语句元素需要手动修改,灵活度不高。考虑用rand()函数使计算机自己生成数组中的元素,
这样无需手动修改。最后再利用for循环输出该数组即可。
分析:头文件部分:需要的头文件有:stdio-标准输入输出头文件、stdlib-标准库函数头文件、time-时间与日期头文件、math-数学函数头文件。
主函数定义部分:定义数组int a[4]、定义指针变量 int *p、定义第一个for循环变量 int i。
语句部分:初始化随机种子:srand((unsigned)time(NULL))-使其每次拥有不同的运行数组元素。
第一个for循环:给数组中各元素随机赋得不超过10的值,如果任意范围赋值,则元素的值过大。
第二个for循环:以指针的方式输出数组的各元素。初始条件为p的地址等于a[0]的地址,再进行p的自加;循环条件为p的地址小于或等于a[3]的地址;循环体为输出函数。
三、代码及运行
文字如下:
1 #include2 #include 3 #include 4 #include 5 //以上为头文件 6 int main( ){ //定义主函数默认为整型数据,int可省略 7 int a[4]; //定义整型名为a的,大小为4的数组 8 int *p; //定义指针变量*p 9 int i; //定义循环变量i 10 srand((unsigned)time(NULL)); //初始化随机种子,使每次电脑运行结果不相同 11 for(i=0;i<=3;i++){ //第一次循环生成数组a[4] 12 a[i]=rand(); //随机生成四个小于10的数组元素 13 } 14 for(p=a;p<=&a[3];p++){ //令p的地址与a[0]地址相同,地址自加,直到p和a[3]地址相同 15 printf("随机生成的数组元素为:%d,地址为:%p",*p,p); //数组及其地址输出 16 printf("\n"); //输出换行符 17 } 18 return 0; //使函数返回值为0 19 } // 函数结束
图片如下:
第一次运行结果:
第二次运行结果:
经过这几次的运行,可以清楚地看到,每次运行时,数组元素的数值不同,地址相同
四、总结
(1)每打完一行语句立即在句末加分号,不要打完整个程序后再分别加分号。
(2)明确各个关键字、系统自带函数、C运算符的用法和使用条件,不能盲目乱用。
(3)自己编写的函数尽量写在主函数之前,这样可以不用在主函数中声明了。
(4)质量好,效率高,通用性强的算法,会对编程产生很大帮助。
(5)本次编程中,需注意函数所对应的头文件,并尽可能用通俗易懂的语言解释代码。
(6)尽可能对变量进行初始化,且应注意初始化的值。
(7)for循环如果是地址循环,不能忘记加取址符号。
(8)代码的格式:呈波浪形。
(9)有时编译可能没有错误,但可能运行不了。需要仔细检查一下代码。