大数据和开发方向C语言培训——函数

Posted 1024TB

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据和开发方向C语言培训——函数相关的知识,希望对你有一定的参考价值。

一.之前知识衔接

1.循环

(1)for

for(循环变量赋值;循环结束条件;循环变量增值){
}


建议循环变量赋初始值

(2)while(当型循环结构)

当型循环结构是先在执行了一次循环体前,再对控制条件进行判断,当条件不满足时执行循环体,满足时则停止。

(3)do while(直到型循环结构)

直到型循环结构是先在执行了一次循环体之后,再对控制条件进行判断,当条件不满足时执行循环体,满足时则停止。所以无论是否满足条件,第一次一定执行。

2.数组

数组定义
类型符 数组名 [常数表达式]

int a[12];
float a[5];
double a[4];
char a[9];
……

(1)一维数组

int a[12];
float a[5];
double a[4];
char a[9];
……

(2)矩阵

int a[12][32];
float a[5][6][7];
double a[4][9];
char a[9][12][45][6][3];
……

冒泡排序

#include<stdio.h>

int a[10];
int cont = 0;
int main() {

	//数组的初始化
	for (int i = 0;i<10;i++) {
		printf("请输入第%d位数:",i);
		scanf_s("%d",&a[i]);
	}
	//进行排序
	for (int i = 10; i >0; i--) {//第一层循环只是为了控制次数
		for (int j = 0;j<i-1;j++) {
			if (a[j]>a[j+1]) {
				cont = a[j];
				a[j] = a[j + 1];
				a[j + 1] = cont;
			}
		}
	}
	for (int i = 0;i<10;i++) {
		printf("%d ",a[i]);
}
}




二.函数(方法)

1.函数的定义

定义一个函数我们需要确定三部分内容:

1.函数的返回值类型: void,int float,double,char……

2.函数的名称: 推荐使用驼峰命名法

3.函数的参数 形参和实参的数据类型要相同

如果函数的返回值类型为 void 则不需要在函数末尾加return语句
其余返回值类型的函数需要在函数末尾加return语句

(1)参数(实参与形参)

调用函数时首先定义形参并分配存储空间,然后使用实参进行初始化(即将实参拷贝给形参完成初始化)。此处可以看出实参、形参是不同的存储位置。

#include<stdio.h>
int sum(int n);
void a(int n);
int main() {
//	printf("%d",sum(100));
	int n = 0;
	printf("%d\\n",&n);
	a(n);
	return 0;
}
void a(int n) {
	printf("%d",&n);
}
int sum(int n) {
	if (n==1) {
		return n;
	}
	printf("%d\\n", &n);
	return n+sum(n-1);
}

2.函数的调用

C语言中函数的调用需要注意以下几点
(1)调用函数的时候一定要带上括号
(2)函数如果定义在主函数下面一定要在代码开头进行函数声明
(3)推荐将函数定义在主函数下面,等代码量一多打开文件就能看见主函数

3.全局变量和局部变量

在一个函数内部定义的变量只能在本函数内范围内有效。
如果A函数调用了B函数,那么A中定义的变量将可以在B中使用。

4.函数的递归

参考代码

#include<stdio.h>
int print_number1();
void print_number2();
float print_number3();
double print_number4();
int i = 0;

int main()
{
	int a[2][2][2];
	for (int i = 0;i<20;i++) {
		for (int j = 0;j<20;j++) {
			for (int k = 0;k<20;k++) {
//				a[i][j][k] = i + j + k;
//				printf("%d\\n",a[i][j][k]);
				printf("%d  %d  %d  \\n", i, j, k);
			}
		}
	}

	printf("%d\\n", i++);
	printf("%d\\n", i);

	printf("%d\\n",++i);
	printf("%d\\n", i);

	printf("%d\\n",print_number1());
	print_number2();
	printf("%d\\n", print_number3);
	printf("%d\\n", print_number4);

	print_number2();
	return 0;
}





int print_number1() {

	int number;
	
	printf("请输入一个数");
	
	scanf_s("%d",&number);
	
	return number;
}




float print_number3() {
	float number;
	printf("请输入一个数");

	scanf_s("%f", &number);
	return number;
}
double print_number4() {
	double number;
	printf("请输入一个数");

	scanf_s("%lf", &number);
	return number;
}

void print_number2() {
	int number;
	printf("请输入一个数");

	scanf_s("%d",&number);
	printf("%d",number);
}

计算1-n的和

#include<stdio.h>
int sum(int n);

int main() {
	printf("%d",sum(100));

	return 0;
}

int sum(int n) {

	if (n==1) {
		return n;
	}

	return n+sum(n-1);
}

以上是关于大数据和开发方向C语言培训——函数的主要内容,如果未能解决你的问题,请参考以下文章

c语言函数参数传递方向

大数据培训班哪里好?

大数据方向Python培训(持续更新中)

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

学编程,学java还是大数据android?平均月薪23k以上告诉你方向

C语言 文件的基本介绍