首页 > 其他分享 >C语言初级阶段5——函数1

C语言初级阶段5——函数1

时间:2022-11-06 09:12:07浏览次数:49  
标签:10 初级阶段 return 函数 int void C语言 main

C语言初级阶段5——函数1

函数的基本概念

1.函数:理解为封装功能的容器。

主函数是函数的入口

2.函数定义的基本格式:

返回值类型:常用的基本数据类型,执行完以后,函数会得到一个什么类型的值,如果需要返回一个值,那么返回类型这里通过return把值返回出去;如果不需要返回一个值出去,那么就在返回值类型这里就用void(void表示空类型)

函数名:就是一个标识符,符合标识符的规则和规范

int——返回值类型 main()——函数名 (形参列表){

return 0; 话说完了,函数运行结束了。

}

3.自定义函数

(1)int One()

{

return 0;

}

(2)void Two(){

}

函数的调用

1.程序的运行流程:自上而下依次进行,程序的入口在main函数这里

函数的调用:把自定义函数,放到主函数里面来。直接写函数名

形参列表:形式参考的变量,在调用这个函数的时候,需要用到什么数据,就可以用形参来表示。函数名后面的括号。

实参列表:有实际的值参考的值。——后面括号中的参数。(可以是常量、变量、表达式、函数等)

调用函数的时候,会把实参传给形参,对应位置进行传参(值传递)。

如果将自定义的函数放在放在主函数之后,在主函数中调用是调回用不出来的。

2.BUG:一个无法解析的外部命令,函数只声明了,没有被定义(加花括号)

void Fun;函数的声明

#include<stdio.h>
void Two() {
	for (int i = 1; i < 10; i++) {
		for (int j = 1; j <= i; j++)
		{
			printf("%d*%d=%d\t", j, i, j * i);
		}
		printf("\n");
	}
}
int Three(int a, int b) {

	return a + b;
}
int Four()
{
	return 0;
	for (int i = 1; i < 10; i++) {
		for (int j = 1; j <= i; j++)
		{
			printf("%d*%d=%d\t", j, i, j * i);
		}
		printf("\n");
	}
}
void Seven(int x, int y)
{
	for (int i = 0; i < x; i++)
	{
		for (int j = 0; j < y; j++)
		{
			printf("*");
		}
		printf("\n");
	}
}
int main() {
	Two();
	printf("%d\n", Three(149, 778));
	printf("%d\n", Three(12, 749));
	printf("%d\n", Three(159, 54));
	Four();
	Seven(10,4);
	return 0;
}

局部变量和全局变量

1.局部变量:作用域在一定的区域内才能被使用的变量,出了自己的作用域就会被释放掉。

#include<stdio.h>
void add() {
	int a;
}
int main() {
	int a;//这是可以被执行的因为它的范围不同。
	return 0;
}

2.全局变量:从定义开始往下,所有的地方都可以使用,在程序程序结束的时候被释放。

#include<stdio.h>
int x;//从函数外定义了所以全部都可以用。
void add() {
	x = 10;
	int a;
}
int y;//在这里定义y上面的不能用,因为程序的读取是自上而下进行的。
int main() {
	int a;
	x = 10;
	y = 2;
	return 0;
}

3.注意:全局变量和局部变量允许同名,使用这个这个同名变量的时候,使用的是最近的是最近的一个。(就近原则)

#include<stdio.h>
int x;//如果没有给全局变量赋值,系统默认为0。
int y = 2;
int main() {
	int y = 7;//就近原则
	printf("%d\n%d\n", x, y);
	return 0;
}

4.静态变量:在程序执行后定义的,生命周期是程序结束后才死亡的,只会被定义一次,不会被重复定义。

静态的关键字:static

#include<stdio.h>
int main()
{
	int q;
	for (int i = 0; i < 10; i++) {
		q++;
		printf("%d\n", q);
	}
	for (int i = 0; i < 10; i++) {
		static int a = 10;//第二次申请内存失败
		a++;
		printf("%d\n", a);
	}
	return 0;
}

image-20221022164021913

标签:10,初级阶段,return,函数,int,void,C语言,main
From: https://www.cnblogs.com/George-Judson/p/16861902.html

相关文章

  • C语言初级阶段5——函数2
    C语言初级阶段5——函数2址传递1.地址:在定义变量,数组,函数等等,系统会自动给分配他们的内存区域(地址),把这个数据放到这个地址上面。2.&:&a得到a的地址编号3.*:定义指针变......
  • C语言初级阶段6——自定义数据类型
    C语言初级阶段6——自定义数据类型阐述1.构造数据类型:用户自己建立的数据类型(自定义数据类型)。2.C语言中的自定义数据类型:数组类型、结构体类型、共用体类型和枚举类型......
  • 计算机等级考试二级C语言上机题集(第46~50套)
    第46套1.程序填空题给定程序的功能是调用函数fun建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个......
  • 计算机等级考试二级C语言上机题集(第41~45套)
    第41套1.程序填空题给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。请在下划线处填入正确的内容并将下划线删除,使程序得出正确......
  • 计算机等级考试二级C语言上机题集(第36~40套)
    第36套1.程序填空题给定程序中,函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并通过全局变量c1、c2、c3返回主函数。例如,当n=123114350时,结果为:c1=3 c2=1 ......
  • 计算机等级考试二级C语言上机题集(第31~35套)
    第31套1.程序填空题给定程序中,函数fun的功能是:有N*N矩阵,将矩阵中的外围元素顺时针旋转。操作顺序是:首先将第1行元素值存入临时数组r,然后使第1列成为第1行,最后1行成为第1列......
  • 计算机等级考试二级C语言上机题集(第26~30套)
    第26套1.程序填空题给定程序中,函数fun的功能是:计算 例如,若x=2.5,n=15时,函数值为:1.917915。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:......
  • 计算机等级考试二级C语言上机题集(第21~25套)
    第21套1.程序填空题给定程序中,函数fun的功能是:进行数字字符转换。若形参ch中是数字字符“0”~“9”,则0转换成9,1转换成8,…,9转换成0;若是其他字符则保持不变;并将转换后的结......
  • [Mathematical Analysis] 函数极限与连续函数(待续……)
    写在前面要当一个创造者。整理这些笔记是为了有所创造。要有所创造,就必须对我所讨论的问题本身有充分的理解,创造的就是在理解和归纳的过程中找到的最符合我个人的最自然......
  • Java函数式编程:三、流与函数式编程
    本文是Java函数式编程的最后一篇,承接上文:Java函数式编程:一、函数式接口,lambda表达式和方法引用Java函数式编程:二、高阶函数,闭包,函数组合以及柯里化前面都是概念和铺垫,主......