计算机考试C语言考试补课笔记
马上就要初三了,接下来的学习任务应该会越来越重。至于我今天说的,我觉得现在都不算什么。可能是因为我之前已经理解了今天说的话。但是没有特别的原因我不得不写下今天的故事。我想拥有一段回忆。
今天的话题都是关于数组的。C语言中数组的定义不同于其他高级语言。这里展示了C语言和其他语言。
C语言Foxbase
int a[10][10];Dim A (10,10)
符号也不一样吗?以前用括号,现在突然来了括号,真的有点不习惯。但是谁叫我们学C语言呢?不习惯就要习惯。我还记得,以前你设置一个数组的时候,根本不用理会它的地址。你只知道如何使用它,即使你用错了,你也会犯编译错误。但是,C语言不是。一旦你定义了一个数组,你必须好好保护它,因为当数组越界时,你永远不会得到通知。还有很多数组的定义和调用方法,真的是灵活多变。书里的东西我就不在这里赘述了。现在定义一个数组看看:
int a[10];
如此表所示,数组定义后有相对地址,数组名A是存储这些地址的第一个地址。现在我们再定义一个整数指针变量int * p;,让他指向数组a,p = a;我们尝试将指针操作增加一个p++;我们看到的结果是P指向新地址2003,原地址是2001。为什么加一就移到2003?2002年不是对的吗?事实上,这解释了为什么我们将指针变量定义为整数。是因为所有的指针操作也取决于是什么类型的指针,也就是现在是整数类型,需要2个字节来存储整数数据。所以指针操作也是这样进行的,结果明显是下移2。其实这里就说这么多了。老谭的书里基本上都有详细的描述和介绍,所以我一开始就说了,只要我读过书,应该就很好理解(反之,对我来说可能比较模糊)。
好了,接下来做几道题。这是今天老师给我们出的题,但也是2001年程序员下午考试出现的题。所以请大家自己动手,多思考,看看谁的方法更好。在n行n列的矩阵中,每行都有数字。这个程序找到这些数字中最小的一个。
# include
# define N 100
int a[N][N];
void main()
{
int row,col,max,min,n;
/*输入n和n*n整数的合法代码。注意,这里有一个轻微的部分。以后自己练习*/
for(row = 0;row 32767);
}
下面是第二个问题,题目是这样的:
求n*n的对角线和
这个问题是我自己写的,所以有各种写法。下面写一下我最基本最简单的方法。
# include
# define n 5
main()
{
int a[n][n];
int row,col
int sum = 0;
/*稍微输入*/
for(row = col = 0;排
0条评论