桓楠百科网

编程知识、经典语录与百科知识分享平台

第8天:人人都来学一点C语言,今天讲函数和数组

我们已经学了C语言的输入输出函数,讲了选择语句和循环语句,基本就等于入门了。

第7天已经讲过一些函数数组

今天我们就复习一下函数,然后数组内容作进一步深入。

一 函数

函数的定义语法格式:

数据类型 函数名( )

{

函数体;

}

或者:

数据类型 函数名( 形式参数表 )

{

函数体;

}

如:

以及:

上面f2函数的圆括号里面的 int mm就是形式参数

函数的调用语法格式:

函数名( );

或者:

函数名( 实际参数表 );

根据上述f1和f2的函数定义,f1函数的调用形式是:

f1( );

而f2函数定义时有形式参数,所以调用时需要在括号里面放一个参数跟定义的形式参数对应,调用时的参数为实际参数。如f2的调用形式是:

f2(3);

f2(10);

只要参数里有一个整数就行。

程序中由三个函数构成f1( ), f2( )和主函数main( )。

所以程序的运行结果就是:

再次强调:不管有多少个函数,程序都要从main函数开始执行。

我们再来看一个程序:

例1:以下程序的运行结果是什么?

运行结果:

看明白了吗?

我们再来看一个更复杂的程序:

例2:以下程序的运行结果是什么?

f3( )和前面程序的自定义函数不同,应为函数名f3前面不是void而是int,这里void和int 叫函数的类型。

函数类型是void的,没有返回值

函数类型是int的,表示这个函数有一个返回值,而且返回值是int型(就是返回一个整数)。

例2的运行结果为:

例3:以下程序的运行结果是什么?

程序由3个自定义函数组成:f1( )、f2( )、f3( )和主函数main( )

运行结果:

注意:主函数里有个变量int a,函数f3(int a, int b)里有一个形式参数也叫a,这两个a没有关系,不同的函数里定义的变量,即使变量名相同,但它们是没有关系的。

就相当于两个同名的人,名字虽然相同,但不是同一个人。

再次强调:不管有多少个函数,程序都要从main函数开始执行

上面程序这里不细讲了,你可以根据运行结果对照程序,应该可以弄得明白。

以上内容其实都是第7天的内容,今天又再次复习了一遍。

如果实在不明白,那么你先不用函数,就把所有语句放在main函数里就行了。

二、数组

数组变量的语法格式:

例如:

如:

这里定义了一个数组变量a,有10个元素,每个元素都是整数int型。

数组下标默认从0开始,就是说,第1个元素是a[0]第10个元素是a[9]

例4:编程输入10个学生的成绩,求平均分,输出所有高于平均分的成绩。

运行结果:

运行结果中,第1行是用户输入的10个分数,第2行是求出的平均分,第3行是提示信息,第4行是所有高于平均分的成绩。

注意上面程序中的for循环里,

i=0;i<10;i++,这里i从0开始,然后i<10(或者i<=9)都行,不能写成i<=10,因为最大下标是9不是10

第7天的课程已经讲解了数组的一些例子,今天不在此赘述。我们来看新的例子。

数组的应用主要在求查找、求最大值最小值、排序等。

1、查找

例5:编程输入10个整数,再输入一个整数n,查找n是否在前面输入的整数中,是第几个。

注意因为下标从0开始算,所以第8个数显示是第7个数,如果第1个数则会显示是第0个数。所以在显示第几个数那里要加1

运行结果:

如果要查找的数字不在这10个数字中间,则没有输出结果。

只有输入的数字,没有任何输出结果

如果要显示“找不到“,可以加一个标记变量,变量名可以起名为ok(或者你也可以起别的名),先让ok赋值为0,找到则赋值为1。

循环结束后看看ok的值是不是还是0,如果还是0,表示找不到,可以显示找不到信息。

修改程序如下:

运行结果:

加了一个变量ok,用来记录是否找到。

2、求最大值

求最值的思路是:

若求最大值,先默认第一个数是最大的,将它的值存放到一个变量中(如命名为max),然后将这个max跟数组中所有元素比较,一旦发现数组中某个元素值比max的值还要大,则马上将max的值换成这个元素的值。

求最小值也类似。

例6:编程输入10个整数,求最大值。

运行结果:

例7:编程输入10个整数,求最大值,输出最大值和最大值所在的下标


运行结果:

注意数组下标从0开始,所以最大值99是第6个数,它的下标是5。

今天布置一个作业:编程输入10个整数,求最小值,输出最小值和它所在的下标。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言