c语言中二级数组与指针变量。
化工090802
姓名:尹维龙。
摘要:程序设计是计算机应用能力培养的重要技术基础。c语言以其语言简洁紧凑,使用灵活方便,功能强,应用广等诸多优点成为学习计算机程序设计的首选语言。
然而,正是由于其功能强,编程限制少,灵活性大,也意味着不好把握,易出错,难检错,调试困难。所以要,叙述简明清晰,通俗易懂。学习运用c语言程序解决实际问题。
指针就是地址,一个变量的地址就称为该变量的指针。如&i就是变量i的指针。存放地址的变量称为指针变量,通过指针变量可以实现对其他变量的间接访问。
“指向”操作:为指针变量赋值,使指针变量指向具体变量。“间接访问”操作:
对指针变量所指的变量进行存取。指针变量做函数参数,可以增加主调函数与被调函数之间的数据传输渠道。
关键词:语言程序指针函数。
c array pointer to the variable with
090802 chemical
yinweilong name:
abstract:
programming is the computer application ability cultivation of important technical basis. c language with its ****** language is compact, use agile and convenient, the function is strong, wide application, and many other advantages as learning computer programming language is preferred. however, because of its strong function, programming, flexibility, fewer restrictions also means not grasp, error-prone, inspection, testing difficulties.
therefore, concise clarity, straightaway. study using c language program to solve practical problems.
pointer to the variable is an address, called the address pointer to the variable. as i was variables and i. storage address variable called pointers variables, through the pointer to other variables can realize the variables of indirect access.
"to" operation: for pointer variables, pointer to specific variables. "indirect access" operation:
refers to the variables of pointers variable access. pointer to the variable parameter, can increase do function and function tone function of data transmission channel.
keywords:
language program function pointer
1.前言:1.1 c语言是把二维数组看作是若干个一维数组的组合,首先弄清楚二维数组而元素及其地址的表示方法,然后使用指针变量引用二维数组元素。
1.2 引用二维元素,使用一级指针变量。
2.设计方法:
2.1.原理:
!!!**爱冒泡法排序是一个比较简单的排序方法。在待排序的数列基本有序的情况下排序速度较快。
若要排序的数有n个,则需要n-1轮排序,第j轮排序中,从第一个数开始,相邻两数比较,若不符合所要求的顺序,则交换两者的位置;直到第n+1-j个数为止,第一个数与第二个数比较,第二个数与第三个数比较,..第n-j个与第n+1-j个比较,共比较n-1次。此时第n+1-j个位置上的数已经按要求排好,所以不参加以后的比较和交换操作。
例如:第一轮排序第二个数进行比较,若不符合要求的顺序,则交换两者的位置,否则继续进行二个数与第三个数比较。直到完成第n-1个数与第n个数的比较。
此时第n个位置上的数已经按要求排好,它不参与以后的比较和交换操作;第二轮排序:第一个数与第二个数进行比较,..直到完成第n-2个数与第n-1个数的比较;..
第n-1轮排序:第一个数与第二个数进行比较,若符合所要求的顺序,则结束冒泡法排序;若不符合要求的顺序,则交换两者的位置,然后结束冒泡法排序。
共n-1轮排序处理,第j轮进行n-j次比较和至多n-j次交换。
从以上排序过程可以看出,较大的数像气泡一样向上冒,而较小的数往下沉,故称冒泡法。
2.2.一维数组排序n-s图:
i=0;i<8;j++
调用bubblesort函数。
输出a[ii=0;i<8;i++
输出a[i]
输出结果。2.3.一维数组设计**:
void bubblesort (int a,int n)
int i,j;
for (i=0; ifor (j=0; jif (a[j]> a[j+1])
int s;s=a[j];a[j]=a[j+1];a[j+1]=s;
void main()
int i,a[8]=;
printf("before sort:");
for(i=0;i<8;i++)
printf("%5d",a[i]);
printf("");
bubblesort(a,8);
printf("after sort:");
for(i=0;i<8;i++)
printf("%5d",a[i]);
printf("");
运行结果:before sort:
after sort:
3.结论:
假设需用冒泡排序将这6个数排序。在该列中,第三趟排序结束后,数组已排好序,但计算机此时并不知道,因此还需要进行一趟比较。如果这一趟比较中未发生任何数据交换,则计算机知道已排序好,可以不再进行比较了。
因而第四趟比较需要进行,但第五趟比较则是不必要的。为此,我们可以考虑程序的优化。 为了标志是否需要继续比较,声明一个布尔量flag,在进行每趟比较前将flag置true。
如果在比较中发生了数据交换,则将flag置为false,在一趟比较结束后,再判断flag,如果它仍为true(表明在该趟比较中未发生一次数据交换)则结束排序,否则进行下一趟比较。
4.冒泡排序的优缺点:
优点:比较简单,空间复杂度较低,是稳定的。
缺点:时间复杂度太高,效率不好
C语言作业
no.1 include int main 结果z 9.000000 配置 mingw2.95 cuirelease,编译器类型 mingw old检查文件依赖性。完成构建未命名1 0个错误,0个警告。生成c documents and settings administrator my docum...
C语言作业
上机实习报告。题目 有五名同学每名同学的数据包括学号 姓名和3门功课的成绩 成绩提前预设 求 1 每名同学的平均成绩 名同学每门课程的平均分 3 按学生的平均分从低到高次序排除每名同学的顺序 分析 根据题目要求,使用结构体类型,包括5个元素学号 num 姓名 name 门功课的成绩 score 3 ...
C语言作业
1 c语言的特点与主要应用领域。特点 1 c语言简洁,紧凑,使用方便,灵活 2 c语言具有高级语言和低级语言的特征 3 c语言是结构化语言,具有结构化的控制语句 4 c语言具有各种各样的数据类型 5 c语言具有强大的图形功能,支持多种显示器和驱动器 6 c语言适用范围大,目标 质量高,程序执行效率高...