目录
一、变量
1、auto变量
auto类型的变量也称作自动型变量,自动型变量是在动态存储去内分配单元,函数返回的时候,编译系统会释放这些存储单元,就是说当函数调用结束后,自动类型变量就会不复存在。
例1、auto变量两次+1结果
#include <stdio.h>
void AddOne()
{
auto int ilnt=1;
ilnt=ilnt+1;
printf("%d\n",ilnt);
}
int main()
{
printf("第一次调用:");
AddOne();
printf("第二次调用:");
AddOne();
return 0;
}
在AddOne函数中定义一个auto型的整型变量ilnt,然后会对变量执行+1的操作。之后两次调用AddOne函数。
注意:关键字auto可以省略,不特别指定的情况下,局部变量的存储方式默认为auto型。
2、static变量
static 数据类型用来给变量创建永久存储空间。静态变量在函数间调用时保持他们的值不变。
例2、使用static变量记录点击量
#include <stdio.h>
void click()
{
static int sum = 0;
sum = sum + 1;
printf("此时的点击量:%d\n",sum);
}
int main()
{
click();
click();
click();
click();
click();
return 0;
}
3、register变量
register修饰符暗示编译程序相应的变量将将被频繁使用。
例3、使用rigister变量修饰整型变量
#include <stdio.h>
int main()
{
register int ilnt;
ilnt = 100;
printf("%d\n",ilnt);
return 0;
}
4、extern变量
extern变量是全局变量的扩充。
#include <stdio.h>
int main()
{
extern int iExtern;
printf("%d\n",iExtern);
return 0;
}
#include <stdio.h>
int iExtern=100;
---------------------------------------------------------------------------------------------------------------------------------
二、学习中的记录举例
1、求平均值
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
double c = (a+b)/2.0;
printf("%d和%d的平均值=%f\n",a,b,c);
return 0;
}
2、本利和的计算
#include <stdio.h>
int main()
{
int x;
scanf("%d",&x);
double amount = x*(1+0.033)*(1+0.033)*(1+0.033);
printf("%f",amount);
return 0;
}
3、时间计算
(1).未运用if语句
#include <stdio.h>
int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d", &hour1, &minute1);
scanf("%d %d", &hour2, &minute2);
int t1 = hour1 * 60 + minute1;
int t2 = hour2 * 60 + minute2;
int t = t2 - t1;
printf("时间差是%d小时%d分.",t/60,t%60);
return 0;
}
(2).使用if语句
#include <stdio.h>
int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d", &hour1, &minute1);
scanf("%d %d", &hour2, &minute2);
int ih = hour2-hour1;
int im = minute2 - minute1;
if (im<0){
im=60+im;
ih --;
}
printf("时间差是%d小时%d分.",ih,im);
return 0;
}