1.6-1.7数组,函数

首先我们要明确一点,第一大章是一个总括类型的章节,所以,像数组,函数这种在后面重点的内容在这里也有出现,初学者不必担心,这本教材的入门门槛确实比c prime plus那种要高。

数组

 好,这里出现了一个统计各个数字,空白符及其他字符的例子:(运用了数组)

#include<stdio.h>
int main(void) {
	int c, i, nwhite, nother;//n+一个单词,不必觉得名字高大上
	int ndight[10];

	nwhite = nother = 0;
	for (i = 0; i < 10; ++i)
		ndight[i] = 0;
	while ((c = getchar()) != EOF)
		if (c >= '0' && c <= '9')//&&是并且的意思,就是两个条件都要满足,也就是c大于等于0小于等于9,但是我们要这样写才行
			++ndight[c - '0'];//是数字几,就在数组中第几个位置出现它的出现次数的值
		else if (c == ' ' || c == '\n' || c == '\t')// || 是或的意思,之前提到过
			++nwhite;//空白符数量加一
		else
			++nother;//其他符号数量加一
	printf("digits=");
	for (i = 0; i < 10; ++i)
		printf(" %d", ndight[i]);
	printf(",white space=%d,other=%d\n", nwhite, nother);

	return 0;
}

这里主要注意那个数组的意义,他就是比较直接的表示出,1-9这些数字,具体到每一个出现了几次,比如,我输入两个1,三个4出来的是这样的:

 当然,这里打ctrl z 前的回车算到了white space里。我们可以看到数字1的位置是2,数字4的位置是3,这也就是他们出现的次数(第一个位置是0的次数)

这种方法还有一些别的应用,思路是相同的,也许改变了要统计的东西,我们针对要求进行操作即可。

函数

其实我们一开始就在跟函数打交道了,没错,main就是一个函数,他是程序的主函数,我们的程序要在这个函数里才能运行。

1个C程序可以由1个或多个函数构成,但必须有1个函数名为main,这句话表明,我们打的这些代码,都是离不开函数的。

有的函数是可以直接调用的,比如,我们的main函数,你只需先引用一个头文件<stdio.h>

就可以调用这个main函数了,再比如,我们引用一个<math.h>头文件,之后可以引用sqrt,abs等函数。也就是说,这些库中的函数是有人给你编好的,你只需要引用,然后函数去实现它的功能。那么现在让你去实现一个功能,没有现成的函数来满足,你就需要自己编一个函数,让它来帮助你实现要求。

好,来看课本上的例子:

#include<stdio.h>
	int power(int m, int n);//声明函数
	int main(void) {
		int i;
		for (i = 0; i < 10; ++i)
			printf("%d %d %d\n", i, power(2, i), power(-3, i));//power(2, i), power(-3, i)都是在引用函数
		
		return 0;
}//主函数结束
	//定义函数
	int power(int base, int n) {
		int i, p;
		p = 1;
		for (i = 1; i <= n; ++i)
			p = p + base;
		return p;
	}

打印结果如下:

可以看到,这里面定义了一个叫power的函数,定义两个形参 base n,这个形参是什么意思呢,首先,它明确了这个函数调用的话,要有两个实参,拿power(2, i)来说,2的值就会给base,然后base会带着这个值在power函数中加入运算,i在for循环中也会依次被赋予0-9的值,也就是n会一次取0-9的值参与运算。然后函数中定义两个变量i,p,注意,这里的i与主函数中的i无关,只是表面上名字一样,这个i只在power函数中被赋值并参与运算。然后一个for循环将p,base代入运算,最后return p得到p的值,也就是power(2, i)的值。

注意 power(2, i),假如i是0,那么n是0,在for循环中不满足条件i<=n,所以不进行for循环,直接得到p的值也就是1

好,这就是一个简单的函数调用的例子。

我们要注意几点:

1.声明函数,我们最好是在主函数前int power(int m, int n);以这样的形式声明函数,这个语句在程序中没有任何实质作用,但是它很直接告诉看代码的人我要用到哪个函数,这个就叫做规范,在学校就要养成这样打代码的习惯。

2。调用函数,我们一般就直接以 函数名(参数,参数...)的形似引用就行,你函数定义用了几个形参,你调用时就要给几个参数

3.定义函数int power(int m, int n){

}   放在主函数后面,这也是格式规范,因为看代码的人不会去看这个函数具体怎么实现的,就跟我们用main函数一样,我们不会去看main是怎么实现的。

好,这里就是本节的内容,数组跟函数是重要的知识,这里属于简单涉及和讲解,还请读者以后深入了解。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值