函数

函数

函数:因为我们平时处理问题时,会使用到相应的解决方法,但是每次重复的写解决方法即浪费时间,又增加了程序的
复杂度,不如可以定义一个函数,在需要时进行调运,达到简化代码,代码复用的目的
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<windows.h>

int Add(int x, int y)
{
int z = x + y;
return x + y;
}
int Add(int x, int y);
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf(“请输入两个数,我们求他们的和”);
scanf("%d %d", &num1, &num2);
sum = Add(x, y);
printf(“这两个数的和为%d”, sum);
system(“pause”);
return 0;

}
注意 函数部分的内容还未完全掌握,上述程序还在报错,需要进一步的整理学习

数组

数组:一组相同类型元素的集合(注意此处的相同类型)
一个数组的定义
int arr[10]={1,2,3,5,3,1,2,2}//定义一个整形数组,里面放10个元素,数组简单的来说就是方便同时定义多个变量
int i = 0;
int arr[7] = {1,2,3,4,5,6,7};//定义一个名字为arr的数组,数组的大小为7
for (i = 0; i<7; i++)
{
printf("%d",arr[i]);//arr[数组中某一个数的小标,实现对这个数的访问,称为数组索引
}
system(“pause”);
return 0;
关闭程序窗口:使用ctrl+c来关闭当前窗口
访问时不能超出数组范围,必须为[0,size)
当超出数组范围时,程序为未定义行为(undefined behavior)
在这里插入图片描述
注意
不能出现未定义行为(但是病毒以及外挂需要使用未定义行为)

操作符(这儿不做过多研究,后面遇到了具体解释)

算数操作符

  • _ * \ 以及 %(求模)
    移位运算符(在二进制的基础上对数字进行平移)
    << >>
    位操作符
    & ^ |

常见关键字

常见关键字共有32个
关键字typedef
typedef 叫做类型定义,也可以称为类型重命名,即将一个类型重命名为你想要的类型名
比如
typedef unsigned int ppp_11;//将unsigned命名为 ppp_32,现在ppp_32也是中类型名
所以 typedef unsigned int与ppp_32 是一样的
关键字static
在c语言中,static有修饰函数,修饰变量的功能.它即可以修饰全局变量,也可以修饰部分变量
观察如下代码
void test()
{
int i = 0;//注意此局部变量,它的生命周期只是一次循环
i++;
printf("%d", i);
}
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
test();
}
return 0;
}
当局部变量被static修饰时,观察如下代码
void test()
{
static int i = 0;
i++;
printf("%d", i);
}
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
test();
}
return 0;
}
结论:一个局部变量的生命周期跟随于这个函数,当这个变量被static修饰时,它的生命周期变成了全局的生命周期,但其作用域没有发生变化.static修饰的变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,直到程序结束,生命周期才结束
修饰全局变量
在无static修饰全局变量的情况之下
//转义字符的练习.c
int main()
{
extern int g_val;//声明,用于跨文件使用
printf("%d\n",g_val);
return 0;
}
//源.c
int g_val=2018;
在这里插入图片描述
注意:全局变量命名时,最好加上一个g_的前缀
在有static修饰全局变量的情况之下
//转义字符的练习.c
int main()
{
extern int g_val;//声明,用于跨文件使用
printf("%d\n",g_val);
return 0;
}
//源.c
static int g_val=2018;
在这里插入图片描述
结论:一个全局变量被static修饰时,使得该全局变量的作用域仅局限于该.c文件,不能在其他源文件中使用
修饰函数
//转义字符的练习.c
#include<stdio.h>
#include<windows.h>
int main()
{
extern int Add(int x, int y);//记住跨文件调运函数时,一定要声明
printf("%d\n", Add(2, 3));
system(“pause”);
return 0;
}
//源.c
int Add(int x, int y)
{
return x + y;
}
在这里插入图片描述
当函数用static修饰时
//转义字符的练习.c
#include<stdio.h>
#include<windows.h>
int main()
{
extern int Add(int x, int y);//记住跨文件调运函数时,一定要声明
printf("%d\n", Add(2, 3));
system(“pause”);
return 0;
}
//源.c
int Add(int x, int y)
{
return x + y;
}
在这里插入图片描述
结论:一个函数被static修饰时,使得这个函数只能在本源文件内使用,不能在其他源文件内使用
补充:限制在当前文件内,函数名重复不会出现影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值