大数据和开发方向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语言培训——函数的主要内容,如果未能解决你的问题,请参考以下文章
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础