今天没学什么新东西就来总结一下遇到的问题吧;
关于求余运算符%
首先 确认一点所有的运算符是分双目和单目的
什么是双目呢,就是必须要两个量参与的
比如加法(+)
一般都要int a+ int b
所以可以发现大多数运算符都是双目的
当然也有单目,比如自增++ 还有赋值= 等等
其中双目的运算都会统一数据类型
统一数据类型都会根据精度来定
比如 int 的精度就没有 float高
所以当这边写一个简单的:
#include<stdio.h>
int main(){
int a = 10;
float b = 1.1;
printf("%.f",a+b);
}
这个的返回值就是这样的
我们可以看见int + float 返回的是 float型数据
因为float数据的精度更高所以返回的是float
然后关于求余符号%
%这个符号只能作用于int型
那有人肯定要问了,诶我就要对浮点型数据进行求余怎么办呢
那你可以先把这个浮点数*10的n次方,知道其小数点后没数字,然后再求余
然后再除回去。
当然你也可以自己写一个求余
就比如求商之后再相减,同样可以实现效果。
关于变量
变量分为全局变量和局部变量
这个就要根据函数来说了
比如下面这个函数:
#include<stdio.h>
int sum(int a,int b){
int i = a + b;
return i;
}
int main(){
int i = 1;
int j = 2;
printf("%d %d",i,sum(i,j));
}
就好比上面这个在第一个函数sum中 int a int b只是需要传递的参数
而i 就是局部变量 它只再sum这一个函数里生效
并不会影响到main里的i
同样
mian里定义的int i也不会影响到sum里的i
所以这种只在函数内部生效的变量就称为局部变量
而全局变量就是声明在函数外的变量了
就好比下面这个:
#include<stdio.h>
int i = 0;
int sum(int a,int b){
i = a + b;
return i;
}
int main(){
i = 1;
j = 2;
printf("%d %d",i,sum(i,j));
}
这分别是两个程序的运行结果:
不难发现,下面的程序的i产生的全局的变化,这就是全局与局部的区别。
再说说声明常量
#define 常量名 值
常量就是怎么样的不会变就跟替换一样。
今天就这样吧,下次再见!
@3円2.18